Team S.T.E.A.L.T.H. – Postmortem

My entry to Ludum Dare 33 is Team S.T.E.A.L.T.H. Prior to the jam, I had been playing a lot of the Metal Gear series, and that made me want to create a stealth game. My original idea was very complex, and was essentially “Metal Gear (2), but turn-based”. I had plans for so many weapons, tools, obstacles, and enemies. I had a save format and level format designed. I had the HUD drawn. I had an idea with a huge scope. I have no idea what I was thinking.

The Original Idea

As I mentioned, my entry was heavily inspired by the Metal Gear series, though my original idea was even more heavily inspired by the series. Since I started thinking about my plans before Ludum Dare started, by the time half an hour had passed, I had a strong, fleshed-out idea.

The game would be turn-based, and involve collecting a certain amount of intel on each level. The player would have a certain number of move points, which would dictate how far they can move each turn. They would be able to plan things out and perform actions like shooting or equipping items on their turn, after which the enemies would move. There would be plenty of guards to avoid, as well as things like cameras and infra-red lasers. Items such as empty magazines could distract guards, and thermal goggles would reveal mines and laser beams. The levels would mostly be large, ecouraging use of the radar to see enemy and intel positions.

My original idea also included stat tracking. Enemies killed, enemies dispatched non-lethally, turns taken, and a lot more would all be recorded and have a small effect on the story.

Here’s the first and second versions of the hud, created one right after the other.

uiv1uiv2

Here’s part of my early design document listing what I had planned.

Weapons:
-Taser
-Tranquilizer Pistol
-Pistol
-SMG
-Empty Magazine
-Grenade
-Smoke Grenade
-Mine
-Sleeping Gas Mine
-Sleep Syringe
-Key Cards (Removed after each level)

Equipment:
-Cardboard Box
-Mine Disarm Tool
-ThermalGlasses (make infrared beams visible and display heat sources)
-Medicine (heals player)
-Chocolate (Allows more movement)

Enemies/Obstacles:
-Guard (can have pistol, smg, or shotgun, always has knife)
-Armored Guard (can have shotgun or assault rifle, always has knife)
-Grenadier Guard (armored, can have rpg or grenade launcher, always has grenades)
-Camera
-Gun Camera
-Flying Mobile Drone
-Flying Mobile Gun Drone
-Infrared Lasers

That’s quite a lot of content and quite a large scope.  So what actually made it into the game?

screen2Not much.

The Game

There were two major moments when I knew I needed to make major changes to my original idea. The first came early on Saturday (about 18 hours into the competition). I looked at my list of items and weapons and knew I couldn’t add all or even most of them. By this point, I had already decided to stick with the two enemies I had created, a guard and a drone.

I figured that since one was an organic threat and the other was a machine threat, I could simplify combat into two attacks. One type of bullet would deal with the guard, and the other would deal with the drone. Using the wrong type of bullet would simply alert the enemy and they would chase and attack the player.

early4

It wasn’t until a few hours later that I began to implement the combat. At this point, I still had much to do, including music/sfx, adding more levels, adding the story, making the title screen, and a lot of other small things. Also, I would not be able to work on the game at all on Sunday until the afternoon, which would leave me with 8 hours until the competition ended.

I had the assets for bullets and buttons created. With only a few hours left in the day, I knew that if implementing combat didn’t go very well, I would likely have to cut it entirely. It didn’t go very well.

I cut combat entirely, which was the second major change I made. This also meant that the only possible fail state I could have given the current state of the game was to make getting spotted mean instant failure.

As I finished up the game and added more levels, I realized that these last two changes were actually beneficial to the game as a whole. There was no way I was going to execute my original idea, and having basic but superfluous combat would likely detract from the game entirely. And so, the game turned into much more of a puzzle game than I originally thought.

I finished the title screen and story, and added more levels on Sunday.  To keep things simple, levels would all be the size of the game screen, and no larger. I polished up a few things and submitted with 30 minutes left (not counting the dedicated submission hour). In the end, the final product was approximately 99% different that what I planned going into the weekend.

screen1

What Went Right

  • I had a clear idea of what I wanted to do.
  • I planned how I would use each of the themes in the final round.
  • I knew my tools.
  • I got something playable quickly.
  • Some of the changes I made massively benefited the game.
  • I finished a game.
  • I had fun. :)

What Went Wrong

  • I massively, massively overscoped my original idea.
  • Because of this, I had to make several changes throughout the weekend.
  • Because of this, I ended up undoing or not using some of my work, which wasted time.
  • I had trouble getting pathfinding working correctly at first, which lead to delays in progress.
  • There are a few minor bugs left in the game.

In The End

I’m very happy with my game. The gameplay is simple yet fun. Most people seem to like puzzle games. The game still has the spirit of what I intended. The radar works and looks cool, so I’m extremely proud of that. The “ending” is sort-of outside the game, and is somewhat open to interpretation by the player.

If you haven’t played it, you can find the game here on the Ludum Dare website. If you made a game for LD33, be sure to vote and tell me what you think!

Jetpack Jacob progress update – Massive improvements

Wow, it’s been awhile since I posted an update on this game. I suppose now is the time to say that this may be the last progress report on Jetpack Jacob. The reason for this is that I am considering renaming the game to “Jetpack Jake”.

Why? There are several reasons. First, I’ve felt a little weird giving the protagonist the same name as myself. Second, and more importantly, I would be able to have a death/game over screen with a character saying “Jake? …JAAAAAAAAAKE!” I’m still not entirely sure the name will be changed. Let me know what you think, if you even care either way.

So what’s changed since the last update? A lot.

early8Let’s start with level features. Each level in the game can have a “feature”, which can be lasers that fire periodically, lights that flicker and fade to darkness, and massively more powerful gravity. Above is an example of the laser firing.

early9The screen displayed at the end of each level has had some changes as well. The difficulty and current level are displayed, as well as time taken, health left, explosives left, enemies killed, and medals collected. It also prompts the player to save the game, if they wish. Also, is that not the most metal-looking font?

early10Another highly-visible change is text that appears on item pick-up. The text slowly fades away as it moves up the screen. This tells the player what they just picked up and what just happened.

These are the most visible changes, but so much more has happened. The physics have been vastly improved, The structure for entering cheats has been started, a list of cheats has been designed, the various difficulties now change  the difficulty of the game, explosives and powerups have been cleaned up, the settings menu has been finished, and many bugs have been fixed and features improved.

The next steps are to finish implementing cheats, and add the dialogs/conversations through which the story will unfold. And I thinks it’s finally, definitely time to get some “real” art by a “real” artist. And please, let me know what you think about the title.

7DRL 2015 – Another Update

I haven’t given updates over the past few days because I’ve been recovering from having my wisdom teeth removed. Unfortunately, this cut my available time from 7 days to 5 days. 5 days is not a lot of time to make a roguelike.

Still, I’m confident I will finish, although without adding everything I originally wanted. Enough text, it’s time for some screenshots!early6 early7

Check out all the blue! This is what the second half of the game looks like.early8 early9In the last screenshot you can see the inventory screen. I’m glad that I was at least able to add an inventory and items this time. Last year’s 7DRL didn’t have a real inventory, only a few weapons that could be swapped out.

All I have left now in my (revised) todo list is finishing the title and endgame screens and menus, finishing the art, and bug-fixing and polishing!

7DRL Progress Update 2

It’s been over 24 hours since I started, and what have I got to show for that time investment? Take a look:early1Click the images for larger versions.

What’s going on in the game so far? The player can move, and the game world only updates when the player is moving or performing some sort of action (such as shooting). This means that bullets, once fired, will hang in the air and only move when the player does!early2Currently, I’ve got a very good start. Movement/physics are probably finished, as well as creating/transitioning between floors. I also have the basics of inventory and items done.

I still need to actually create floors that aren’t simply big empty spaces (so, actually generate floors), and more enemies, add items, finish the inventory management, add leveling,  create the hud, create the title screen balance the game, and add saving/loading. That’s… actually a lot now that I think about it. Tomorrow I’ll work on the floor generation and add more enemies.

7DRL 2015 – I’m in!

Another year, another challenge! I started working at 3 PM today (CST), which means I’ve used almost 6 of my 168 hours! In that time I’ve done… not much. My roguelike is called “Infinite Energy”, and it’s sc-fi themed. My plan is to make it not necessarily turn-based, but rather only update the game world when the player is moving.

For example, if an enemy shoots at the player, the player can stop and examine the situation, and the bullet will be frozen until the player moves again. The player can in this way sidestep bullets and other threats!

Currently I’m working on the base/structure, so I don’t have any screenshots to share. It should be playable soon though!

Jetpack Jacob progress – conveyors

There has been almost no work on the level editor since the last update. I’ve been busy adding objects to the game and making them work properly.

“Mechanical Mansion” is part of the game’s title, so there should probably be some mechanical objects, right?

conveyor1Conveyors will move objects that rest on them to the left or right. They move quickly, which means that they can be used to prevent progress in a certain direction.

conveyor2Multiple conveyors can quickly accelerate an object to its maximum horizontal speed!

That’s all I’m going to include in this progress report. The next instalment should be even more interesting. You could even say that it will be a ‘blast’! ;)

Jetpack Jacob progress – finishing the level editor

leveleditor5Work continues on Jetpack Jacob. I’ve been fixing bugs and making the level editor more user-friendly, as shown in the screenshot above. More dialogs have been added to help users use the editor. Something entirely new is a message in the lower left corner of the screen to help users understand what is happening when they select or change an object, or load or save a level.

The new Jetpack Jacob game has many new objects that weren’t in the original game, and I’ve been slowly adding them all to the game itself (not just the level editor). Switches and colored keys and switchable blocks an colored switchable blocks all function perfectly.

early1That’s all the visible changes since the last update post. Most of the changes have been bug fixes and other non-visible improvements. Next I’ll be added the rest of the new objects to the game, and making level progression work.

Jetpack Jacob progress – level editor

Long ago, for Ludum Dare #27, I made a game called Jetpack Jacob in The Quest for Time. I was happy with that game, but knew that it could be much better. I’ve been working on a sequel: Jetpack Jacob in Mechanical Mansion.

The work has been slow but steady. To make the levels for the Ludum Dare game, I used OGMO Editor, and manually edited the output to make parsing easier. For the sequel, I am building a level editor into the actual game. That’s right, all players will get access to the same level editor I am using to make the levels for the game!

leveleditorThe editor is coming along nicely. (All art/fonts/etc in these screenshots are not final) There are user-friendly dialogs and error popups to make things easy for players.

leveleditor2The editor itself supports infinite undo/redo. Certain object (such as the player) can only be placed once. Objects that can be placed an unlimited number of times can be “painted” onto the level without the use needing to click in each tile to place an object.

leveleditor3The editor keeps track of what has been added and what needs to be added, and displays the status at the bottom of the screen. If the player or exit are not part of a level, it cannot be saved. If a key is added, but not the blocks it unlocks (or vice versa), the level is considered incomplete and cannot be saved. In these situations, an error message is also displayed when attempting to save.

The next things to add to the editor are objects for the enemies in the game, and loading of previously saved levels.