Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411273 Posts in 69323 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 02:55:26 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsTrigger Time - top-down 2d shooter, open-source
Pages: [1]
Print
Author Topic: Trigger Time - top-down 2d shooter, open-source  (Read 4592 times)
Shephf
Level 1
*



View Profile WWW
« on: April 03, 2016, 02:00:41 AM »

Trigger Time is a story-driven top-down 2D shooter with physics puzzle elements.

Game trailer:




Download links:

Trigger Time on Steam
Trigger Time on GitHub

Misc links:

Trigger Time on Facebook
Trigger Time on Twitter



Detailed game description:

An evil professor is creating an army of cybernetic mutants, you're a marine sent on a mission to stop him. On your way you'll fight professor's troopers and minions, solve physics-based puzzles, interact with environment, find new weapons and gadgets, etc.
The story goes through 9 large levels, culmination of each level is a boss-fight with professor's minion or some mutant.
Will you be able to stop the professor before it's too late?

Game key features:

  • A story presented via in-game cutscenes
  • 9 large levels filled with enemies, physics puzzles and hazards
  • Boss fight on each level
  • 8 primary weapons and 3 secondary weapons
  • A gravity gun that can be used to solve puzzles or as a weapon
  • Interactable objects such as gas valves, robotic arms, etc.
  • Vehicles such as boats and mechs

Screenshots (outdated):

Some random screenshots from the game:





There're more screenshots on facebook and
I sometimes post game gifs on twitter.

Technical:

The game currently runs on windows and linux. It'll support mac too, but right now it's not a priority.
The game also runs on android, but releasing it on android is not a priority since android will require different
set of levels. Since the game is top-down 2D shooter it's nearly impossible make it challenging with the same set of levels and enemies both on PC and mobile device. Controlling the character with touchscreen is harder, thus, the levels on mobile device should be smaller and there should be less/weaker enemies. Anyway, android is out of the question for now.

The game uses its own engine written in C++. It uses Box2D for physics and lua for scripting. The game code is basically split into two parts:
  • Engine code, enemy AI, bosses, weapons, etc. - Written in C++
  • Level logic, cutscenes, etc. - Written in lua
The goal was to allow very simple and flexible level scripting and IMO that goal was achieved. It was a bit tedious at the start of the project when I had to write boring C++ rendering code, script bindings, weapons system, etc. But afterwards, the making of game was all fun, because I mostly wrote lua scripts that actually make the game, i.e. all the level interactions, cutscenes, enemy spawns, etc. all done easily with minimum amount of lua code.

The levels in the game are pretty heavily scripted - that was the initial goal, i.e. to make the game both
like interactive story and 2D top-down shooter.

The lua api that the game provides turned out to be quite robust (to my surprise), e.g. at the start of the project I didn't plan to have water/slime in the game, I didn't plan to have things like moving platforms, etc. But when I actually decided to have those it turned out that I didn't have to write any C++ code at all, all this stuff is done with lua scripts in the game!

Because of the above, I'm thinking about having user mod support in the game. i.e. it's not the goal right now, but I think that lua api is robust enough to create all kinds of neat stuff.



Devlog:

I'm planning to post game technical details as well as overall updates here. I'll also be posting my progress updates on twitter. If you're interested in the game, have comments or you've playtetsed it and find the game bad/good or have questions, feel free to write here. I was developing this game far too long all by myself and now I don't know if it's good or not and if I should continue working on it. I would appreciate any kind of feedback.

Thanks and stay tuned!

« Last Edit: February 24, 2019, 05:44:38 AM by Shephf » Logged

Shephf
Level 1
*



View Profile WWW
« Reply #1 on: April 07, 2016, 07:16:05 AM »

Weapon system in Military Force

So I finally decided to write a little more about what the game already has. I'll start with weapon system.

In Military Force the player always has 2 active weapons, called primary and secondary:


Primary weapons

1. blaster


The weapon you start with, very basic and weak, but has unlimited ammo. Good to kill "bullet-suckers", i.e. large groups of small and weak enemies.

2. super blaster (twisted blaster)


An improved blaster, more damage and wider range. Unlimited ammo.

3. shotgun


Simply a shotgun. High damage and wide range. Limited ammo.

4. machine gun


High damage, fast projectiles. Limited ammo.

5. rocket launcher


Very high damage, slow projectiles, splash damage. Limited ammo.

6. plasma gun


Very high damage, medium speed projectiles. Limited ammo.

7. lightning gun


Extremely high damage, instant hit. Limited ammo.

8. chainsaw


Extremely high damage, close-up melee weapon. Unlimited ammo. You won't use this much throughout the game, but
there're moments when using chainsaw is the only option you got.

Secondary weapons

1. gravity gun


Object manipulator. The most important of all, it has many use-cases in the game. It can be used to solve
physics-based puzzles or as a weapon.

2. proximity mine


You place it on the floor and when an enemy is near the mine explodes.

3. energy shield


When enabled it'll act as wall in front of you, i.e. all enemy projectiles will hit the shield not you. The splash damage from enemy
rockets will also be absorbed.

Weapon groups

The player can carry 4 primary weapons max and any number of secondary weapons. The thing is, primary weapons are split into groups:

  • Melee weapons: chainsaw
  • Basic weapons: blaster, super blaster
  • Lite weapons: shotgun, machinegun
  • Heavy weapons: rocket launcher, plasma gun, lightning gun

The player can only carry one weapon from each group.

Weapon stations

In Military Force you find weapons throughout the level. Primary weapons are always in so called "weapon stations":



When you use a weapon station your current weapon from particular group is replaced with a new one. The weapon station also have
some small fixed amount of ammo inside them, so if you're close to a weapon station and out of ammo you can always get more from it.

Ammo pickups and ammo boxes

Secondary weapons as well as ammo for primary weapons are represented via ammo items throughout the game, they can be picked up directly
or from ammo boxes:



Stationary weapons

Besides primary and secondary weapons there're also stationary weapons in Military Force, here's an example of a stationary flamethrower:





All of the weapons described above are weapons that can be used by the player, but there're also enemy-only weapons. But since the topic of this
post is "weapon system" enemy-only weapons are out of the question, I'll try to describe them later in other posts. So, that's it for today.

And if you're interested in some aspect of the game, please tell me, I'll write about it.

Cheers!
Logged

Shephf
Level 1
*



View Profile WWW
« Reply #2 on: May 02, 2016, 01:09:44 AM »

Military Force 0.21 is now available!


So, after another month of work I'm proud to present new and improved Military Force version 0.21. You
can download it here - http://www.indiedb.com/games/military-force/downloads

What's new in this 0.21 release:

  • More content - Now the demo includes 3 campaign levels
  • New UI - UI had been entirely reworked to match the style of the game
  • Video, audio and controls configuration - These are now can be changed by the player
  • Item/booster shop - You can now buy stuff in exchange for gems that you collect during the game
  • Other small improvements - No more debug output, end of mission statistics, etc.

More content

That one is the most important. The first 0.18 demo contained only one level - that definitely wasn't enough to get a taste of the game.
Another downside of the demo having only one level was that there weren't enough enemies and weapons for player to check out.

Hope this update will fix the situation, you'll get to try more weapons, such as the rocket launcher and proximity mines, face deadly enemies and more Smiley



New UI

The second most important update is the UI. The old UI was sort of a stub, with this update UI now matches the style of the game:



The UI is designed with html/css, it's powered by awesome UI library - libRocket (http://librocket.com)

Video, audio and controls configuration

Those are also very important, you can now change your video/audio settings.



The video settings include 2 particularly important options: fullscreen mode and vertical sync. So you can now
play the game fullscreen if you like. And you can check/uncheck vertical sync if you have stuttering problems on your system (e.g. that can be the case if you're running system with multiple GPUs).



And, well, you can customize the controls.

Item/booster shop

Another thing that was a bit confusing in the previous demo is the gems that you collect during the game:



Now they'll make sense, because you can now buy stuff in exchange for these gems right before the mission starts:



There're currently 4 items/boosters to choose from, but there will be more

Other small improvements

There're also other small improvements that were made. The end of mission statistics stub was removed and it now counts correctly:



The debug console was removed (it now logs to a file) and stuff like logo screen and credits were added, that makes the game feel more like an actual game.

There were also many other small internal fixes as well as improvements, but those mostly go to further game levels.

And as usual, I'm open to comments/suggestions, just leave'em here Smiley

Cheers!
Logged

TheCams
Level 0
**


View Profile
« Reply #3 on: May 02, 2016, 01:31:08 AM »

This is looking really nice and polished already Smiley
I'll keep an eye on that thread.
Logged
Shephf
Level 1
*



View Profile WWW
« Reply #4 on: May 02, 2016, 01:32:32 AM »

Thanks, TheCams Wink
Logged

Shephf
Level 1
*



View Profile WWW
« Reply #5 on: May 12, 2016, 03:49:43 AM »

Military Force 0.22 is now available!


This is a rather small update, just some visual tweaks, nothing more.

What's new in this 0.22 release:

Weapon recoil

Added weapon recoil, i.e. the player now leans back a bit while shooting:



(GIF converter dropped some frames, so this looks a bit awkward, but you get the idea Smiley)

Persistent debris and gibs

In previous Military Force version things like crates and barrels already produced debris on destruction
and the enemies produced gibs, but both faded away quite quickly. It felt a bit unsatisfying - you destroy something
and a moment later there's absolutely nothing left of it, like it even wasn't there in the first place.

So I decided to add persistent debris and gibs. Debris/gibs still fade away, but not all of them, some of them
will stay there forever:



It's also interactable, e.g. when you walk over it, it's moved a bit, nothing
gameplay changing though, this is purely a decoration:



BTW, those debris/gibs also react to blast waves:



So now when you're in a room full of enemies and stuff like crates/barrels and you use
your rocket launcher/proximity mines (or enemies use it Smiley) it's pretty fun to watch how debris and
gibs flying all over the place and there's blood everywhere and stuff...

Improved blaster effect

Blaster uses particle effect for trails, but because of blaster projectiles are so fast, they're moved by more than
one particle length in a single frame (the game is in 60fps). This caused visually unpleasing trails like these:



i.e the gaps between particles aren't looking very nice. So I had to implement
sub-stepping to avoid these, now blaster particles are calculated at 120fps, this
gives much nicer effect:



Improved explosion effect

While I was generally happy with how explosions look like in the game, one thing I didn't like is when
two or more explosions happen at the same time in a single place:



This "white blob" happens because of explosions use white light of high intensity. After changing it to be
a bit red and less intense I got this:



This looks a bit better.

Colored lights

I always liked how colored lights are used in SteamWorld Dig:



So I decided to give it a try in Military Force:



But something isn't right about this, it just doesn't fit into this game. Though being
a nice idea in theory, in practice colored lights are not always that good. Military Force does use
colored lights in some places, e.g.:



But sticking them into every single light source isn't such a good idea after all.

Shadows for characters and objects

Another visual improvement idea that I had is to implement shadows for characters and
objects, something like this:



Though it looks nice in some situations (like in that GIF above) in others it just doesn't fit. Especially
when characters use lights themselves. So for now I decided to drop this idea, m.b. I'll come back to that later...

So, that's it for this update. As usual, I'm open to comments/suggestions, you can leave'em here.

Cheers!
Logged

Shephf
Level 1
*



View Profile WWW
« Reply #6 on: July 12, 2016, 05:52:32 AM »

It's been a while since I last posted an update, nevertheless, I kept working hard on the game. I did report some of the progress on my twitter feed, but today I want to post a small, but important update here.

Game name change

First of all, I'm changing the name of the game to "Trigger Time". The game remains the same, nothing is changed but the name. There're 2 reasons for the game name change:

  • "Military Force" felt too generic, hard to remember or lookup using search engines. This was a temporary name right from the start and I knew that someday I'll have to change it to something better
  • Preparation for Steam Greenlight (see below)

Preparation for Steam Greenlight

Yes! It'll finally happen! The game goes to Steam Greenlight very soon! This was also a reason for the game name change, I really wanted the game to have some catchy name on its Steam Greenlight page. Stay tuned for more info, I'll post another status update once the game hits Steam Greenlight.

Trigger Time 0.23

I've also published a new build of the game, it's version 0.23. There aren't much changes there:

  • The name of the game is changed to Trigger Time
  • Theme music is changed
  • Some of the grammar mistakes were fixed
  • Some of the character names were changed

Trigger Time 0.23 is the build that'll (probably) be linked to from Steam Greenlight page. Actually, the game progressed much further now, it continuously receives asset updates and new features are being worked on. Since the game is currently in somewhat "non-stable" state it's better to link a tested, stable, but a bit outdated build and that'll be 0.23

More status updates

So, as was noted earlier, a lot of stuff changed in the game, but they weren't reported anywhere but my twitter feed. It's time to fix the situation! Once the game is on Steam Greenlight I'll be providing constant updates on what was done and what's being done. I'll probably use Greenlight announcement feature or just post the updates here, anyway, stay tuned, more exciting stuff coming soon!
Logged

Shephf
Level 1
*



View Profile WWW
« Reply #7 on: July 12, 2016, 08:07:28 AM »

Trigger Time is now on Steam Greenlight!



So, it finally happened! Trigger Time is now on Steam Greenlight!

Please help Trigger Time pass Steam Greenlight, it all depends on you!

Click here to vote!
Logged

Shephf
Level 1
*



View Profile WWW
« Reply #8 on: July 27, 2016, 07:24:02 AM »

Trigger Time 0.25 is now available!


So, as the Steam Greenlight campaign is coming along I'm proud to present new Trigger Time demo 0.25.
This is a huge update, lot's of changes this time.

What's new in this 0.25 release:

  • Game logo
  • Puzzle hints
  • Difficulty settings
  • Gamepad support
  • Art update
  • Brightness settings
  • Improved shotgun effect
  • LuaJIT support
  • Some level polish and bugfixes

Game logo

The game now has a logo instead of its name typed in some cool font, here it is:



Puzzle hints

Playtesting of the game showed that some physics puzzles, especially those that are at the very beginning of the game, can be pretty hard to solve.
That's why puzzle hints were introduced:



Puzzle hints are basically question mark and an arrow that appears near an area that needs player attention.
Puzzle hints themselves do not make puzzle solving easier, the player still needs to figure it out, but now he
doesn't need to wander around guessing: "is that some sort of puzzle, do I need to do something here"

Difficulty settings

Playtesting also showed that different people seem to have VERY different top-down shooter skills.
For example, half of the people who played the first level reported that it was easy and the other half reported
that it was pretty hard. That's why difficulty settings were introduced:



So now the game has 3 difficulty levels, campaign progress is per-difficulty, that means if you play the campaign on
"normal", you can't just start playing it on "hard" from the middle, you'll have to play from the start.
As for the difficulty levels themselves:

  • normal - Most players will probably choose this one. This difficulty level will provide you with moderate
    challenge. Also, puzzle hints are enabled on this difficulty level, they will be displayed for some of the game's
    puzzles
  • easy - This difficulty level provides very little challenge, it's basically for people who want to just
    "check the game out". This difficulty level also has puzzle hints enabled and puzzle hints are provided for most of
    the game's puzzles
  • hard - This is for hardcore players only (such as myself Smiley), it provides increased challenge. Note that
    this doesn't mean that your enemies will have more health or there'll be more enemies. This means it'll require more
    skill to beat the game. The enemies will be faster and more aggressive, you'll have less health, powerup spawn
    probability will be less, etc.

Gamepad support

Many people are used to play top-down shooters using gamepads, so gamepad support is a must.
And finally, gamepad support have arrived to Trigger Time!



You don't need to do anything special, just plug in your gamepad and start playing. The game will detect that you're
using the gamepad and act accordingly. e.g. it'll display input hints for gamepad instead of for keyboard+mouse. And
if you want to change gamepad button bindings or deadzones, you can do this from the options menu:



Please note that gamepad support was tested with xbox 360 compatible controllers only. The input hints inside the
game are given for xbox 360 buttons too. So if you have PS4 controller or alike and experience problems, please let
me know.

Art update

For me, art was one of the biggest pain points in the whole project. But finally, things are changing! So far the
following art was updated:

tetrobot


spider and spider nest


enforcer and sentry


And there will be more updates in the future, the plan is to update all art that's currently looks like it's out of place.

Brightness settings

Some people complained that the game can be pretty dark with some displays, that's why brightness settings were introduced:



Improved shotgun effect

Shotgun is the only gun that didn't have muzzle flash attached to it and also, the buckshot trace effect was
misbehaving on impact, it was disappearing instantly. That's now fixed by attaching the muzzle flash and adding
alpha fade to the trace:



LuaJIT support

Here's the game profiling data before/after LuaJIT in a script-intensive place.
Game CPU usage went down from 20% to 10% here:



Though it's not that important on PC, it can be a huge win on (possible) future mobile port.

Some level polish and bugfixes

I also did some level polishing and fixed a couple of bugs. Here's the list of most important things:

"The factory" level got shorter

3rd level in the playable demo contained a very long and annoying part that was extremely difficult, the player
would usually die there once or twice. It was entirely stripped from the level, now you just head straight to the
door control room:



Light intensity fixes

I've looked through all the game (not just demo) and changed intensities of light sources that were causing very
bright white spots on the floor. These looked ugly, hopefully, all of them are now gone.

"The mine" level ambient light increase

2nd level in the playable demo was way too dark, so I've increased its ambient light from absolute zero to 0.05.
I've also increased player flashlight intensity. Now that level looks and plays much better

Machine gun bullet bug

In some certain, hardly reproducible circumstances machine gun bullets got frozen in air when shot by certain
enemies. This was due to initial bullet positioning code was tied to 'render' callback, not 'update'. This is now
fixed.

Dialog box double-open bug

It was possible to open the same dialog box twice by clicking the menu button several times without moving the
mouse. Bug is fixed.



So, I guess that's it for this really huge update. You can download new demo from IndieDB or GameJolt as usual.
If you have any feedback or problems, please write about it here.



Also, the game is still on Steam Greenlight, so if you like the game and want it to be available on Steam, please vote here!

Cheers!
Logged

Shephf
Level 1
*



View Profile WWW
« Reply #9 on: July 27, 2016, 09:59:19 PM »

Trigger Time has been greenlit!

Trigger Time is going to be on Steam!
Thank you all for voting!



But it's still a pretty long way to actual release, which is planned to be in Q4 2016.
I'll be posting more updates, so stay tuned! And once again: THANK YOU!!!

Cheers!
Logged

Shephf
Level 1
*



View Profile WWW
« Reply #10 on: September 02, 2016, 06:01:55 AM »

Trigger Time august dev update


So, a month passed since Trigger Time had been greenlit and it looks like a good time to write a development
update now! Here goes.

What's new:

  • Steam integration
  • Art update
  • Bugfixes

Steam integration

Perhaps the most important change of all. Once the game got greenlit Steamworks API became available and
I started implementing Steam integration right away. First, Steam overlay:



That was the simplest one, because it just works out-of-the-box when you initialize Steamworks API from
your game. Next thing I did was Steam cloud support, it actually was even simpler, since it only required
some tweaks in Steamworks admin panel:



And the most important thing - Steam achievements:



The game has 24 achievements, some of them are "progress" achievements, i.e. "X done, Y more to go". One
thing that's still missing in achievements is proper icons, for now, they're all just my logo colored and grayed Smiley

Also, I must say I did spent some time trying to make achievements work in Steam offline mode, because it's not
trivial and Steamworks API example doesn't show you how to do this right. It's not that hard, but there's a
possibility that you can loose your progress when you're playing in offline mode, this has to be dealt with in code
properly.

Art update

This is also super important. As I mentioned in one of my previous posts, art was one of the biggest pain points in
the whole project, but now things are changing. Until now the game contained some art ripoffs, that was a temporary
measure that I had to take. I'm glad to announce that all such art had been replaced, so here you go Smiley

1. "warder" enemy


2. "orbo" enemy


3. "beetle" enemy


4. "homer" enemy


5. mech


6. "gorger" mini-boss


7. "keeper" mini-boss


8. professor Nathan


Note that the game still contains some open-source based art that I want to change, so stay tuned for further
updates!

Bugfixes

Also, I found and fixed a few bugs, nothing big, really.

Bullet trails sometimes disappear when running on linux with intel GPUs

After another Ubuntu update (and mesa update to 11.0.4) I noticed that bullet trails can sometimes disappear when I
run the game on my intel GPU. It turned out to be some bug in mesa with miplevels. If a texture height is too small
it didn't generate correct mipmaps for level > 1, it just generated empty texture. I fixed it by simply making
bullet trail texture bigger.

Total number of gems collected appear wrong in level completion screen

In level completion screen there was a mismatch between the number of gems you've collected and the number of gems
available for shopping. That happened because once the level is completed we update player's amount of gems with the
number that he collected during the level, but we forget to reset that number to 0 in player's component, that's now
fixed.



So, that's it for this update, hope you liked it. Right now I mostly focused on art update and sound/music updates
will be coming soon, so stay tuned!

Cheers!
Logged

FrostyChao
Level 0
**



View Profile
« Reply #11 on: September 02, 2016, 07:11:49 AM »

Hey, I played your game for awhile.

- Gravity gun is the best. After I got it, I was barely using the blaster. It's great that you can use it to shield yourself from shots by using enemies as meat shields. And that you can also throw them against each other or against the environment.

- I feel you when you say art is being one of the pain points in the project. I've been struggling for months because I decided that I must become better at it. It's coming along, but it's a really tough path.

- Some objects on the game and details on the UI really don't match the mood of the game. The hearts and gems are an example. I like the characters/enemies though. I look forward to see what changes you're going to do.

- About the gameplay: It felt solid, and after I got the gravity gun I was having a lot of fun throwing things around  Smiley. However, I think a reload/overheating system (even on weapons with unlimited ammo) and a roll/dodge command of sorts would be super beneficial to the game. (specially since the character movement feels a bit slow at the beginning)

- Oh, and knockback! I feel like knocking back enemies with the blaster and also making the recoil for some weapons a little more expressive (like in actually making you go backwards) would be very nice.

- Another thing to note is that I went past the first turrets as they were too sturdy to destroy.

- I like how there is already a storyboard and you get a cutscene at the beginning (it's a little long though)

Good luck with the game!
Logged
Shephf
Level 1
*



View Profile WWW
« Reply #12 on: September 02, 2016, 07:27:36 AM »

Hey, FrostyChao

Thanks for the detailed feedback! Yeah, I agree on some of these points and there's already a plan to change those, like
UI stuff and recoil. And I'll think about the rest, cause I always listen to people feedback and try to make appropriate changes, e.g. puzzle hints were the result of people struggling with gravity gun puzzle at the beginning of the game.

Right now I mostly focus on art update, I don't do it myself though, an artist does this and he's really great at it Smiley I really like how art turns out, hope we'll replace all the things that need to be replaced, then the game will look absolutely great!
Logged

Shephf
Level 1
*



View Profile WWW
« Reply #13 on: May 15, 2017, 11:34:20 AM »

Hurray! Trigger Time is finally out on steam - http://store.steampowered.com/app/512920

Thanks for support and suggestions, everyone! Here's Trigger Time release trailer for ya:




Logged

Shephf
Level 1
*



View Profile WWW
« Reply #14 on: February 24, 2019, 05:43:25 AM »

Trigger Time finally becomes open-source: https://github.com/Sheph/TriggerTime

Full source code as well as the assets for the game are available under BSD license!

Enjoy!
Logged

Shephf
Level 1
*



View Profile WWW
« Reply #15 on: December 31, 2021, 02:14:16 AM »

So after porting The Mission: Demo to Web Assembly I thought "why not port my first game - Trigger Time, it's using the same engine anyway". So here it is Smiley





As with "The Mission: Demo" everything just works, like you can even change resolution / audio settings in options menu Smiley Additionally, all level are unlocked and 100 gems are given at the start, so have fun!

Link to the game - https://triggertime.vercel.app/
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic