I’m DT Mark. I started playing around in Game Maker Studio exactly 2 years ago, with this project. Having 0 prior experience in anything related to game development (programming, art, design, etc..), and being limited by school to little free time and energy, the progress has been quite slow. I have been writing weekly logs, but those were very stenographic. This is why I decided to write actual devlogs where I could elaborate more on what has been done and why.
As this is my first “real” devlog, allow me to introduce the game in a more specific manner:
TAWBS is a little minimalistic and top-down shooter in which you start up training for war but end up exploring a peculiar facility. The gameplay starts off as very fast-paced and straight-forward: in order to complete the one-screen levels you are presented with, you, the red colored square, have to kill all of the enemies within (the other squares). Slowly, more “puzzle” elements are introduced that make the task of killing enemies a bit trickier, as you’ll have to activate different doors, manage your ammo precisely, change sizes, and so on. Each level has to be completed in a near perfect way, which justifies the use of “die & retry” to describe the game.
Now in order for that to work, the combat system is very linear and not-versatile. And yes, the combination of “combat” and “not-versatile” is to be avoided, arguably. The best combat systems out there are all about allowing the player to kill the enemies in many different ways, right? In TAWBS, the catch is that the combat system is not trying to be about combat. Instead, it’s trying to be part of the “puzzle”* (at least in the later parts of the game). It therefore has strict rules:
- The player only has 2 weapons: a gun and a bomb thrower
- Blue enemies have to be shot with one or two bullets depending on the size.
- Pink enemies have to be blasted with one bomb.
- Cyan enemies have to be blasted with one bomb, then shot with two bullets.
- Dual enemies can be either shot or blasted. They will turn into 4 blue enemies (that have to be shot) if blasted, and they will turn into 4 pink enemies (that have to be blasted) if shot.
Alternatively the player can also cast a laser: but this mechanic is used for interacting with the environment (detonating bombs, breaking walls, starting breakable wall chains, activating buttons, detonating missiles…)
*I know that my use of the word “puzzle” is inaccurate. It’s not a puzzle as in you have to think deeply in order to solve a level. Usually the solution to a certain problem comes almost instantly or very shortly after dying because of that problem. It’s still enough to break from the regular top-down shooter rules.
With that out of the way, let me cover the somewhat recent progress that has been made:
During the last 2 months, I mostly worked on designing the levels of the penultimate area of the game. I had already roughly prototyped most of the mechanics last Summer/September, but the amount of work demanded by school this year caught me off guard, and the time in between was spent on a very special level in which you control a different vehicle (see image below).
Visually speaking, this area is all about gears and cogs, chains on the walls, smoke, and electric lines. The cluttered nature of the visuals is here to overwhelm the player a bit, as it’s the end-game. The difference with the first area is striking!
However, when introducing new mechanics such as the size pills, I had to make their design a lot simpler and distinguishable to a certain degree. I went through different ideas before settling with this one:
Gameplay-wise, just like the rest of the game, almost each level of the area introduces a new mechanic. This means that a level has to both introduce the new mechanic & develop it in different iterations, and also further develop the older mechanics (possibly in conjunction with the new one). All of that in a tight space, as the levels are limited to one screen.
I struggled with these constraints especially when designing those late-game levels, where there are many different mechanics (from all previous levels) that I want to combine in one level. This presented 2 design traps:
The first trap was to include those older mechanics for the sake of including them, without using them in a slightly different way. The second one was to focus very heavily on the new mechanic in one level, then fall into the first trap by not using it in newer ways in the next levels.
And I must admit that I borderline fell into those traps. Here’s an example of how I use the conveyor belts throughout the area (this is also a nifty way to show the levels off):
Level 20 (introductory level):
- First, the conveyor belt is used as an introduction and as a challenge in which you have to go against the belt in order to shoot the enemies or activate the button with the laser (then lure the pink enemy out of his cage)
- Then, the conveyor belt is used to move enemies around and make them activate buttons
- Then, the conveyor belt is used against you in this tight corridor where you have to use your protect mode to defend yourself from the bullets. Alternatively you can use the laser to destroy the bullets or try dodging without getting killed by the cogs on the borders.
- Finally, the conveyor belt is used to incommode and limit your movements in a simple fast paced shooting section.
Level 21 (arena level):
- This time the conveyor belt is used across an entire area, taking the concept of reducing your ease of movement (already used at the end of the previous level) to the next level (no pun intended)
- Here the conveyor belt is used as a propeller towards danger (saw blade)
Level 22 (level introducing mirrors):
- The use of the conveyor belt here is to incommode you, just like before, as well as to propel you towards danger (electric line), just like before. I fell in the first trap.
Level 23 (level introducing portals):
- This time the conveyor belt is used in conjunction with the portals, allowing for infinitely moving enemies and buttons, which are harder to aim.
- Again, the conveyor belt is here just to restrict your ease of movement during combat. Fell in the first trap again.
Level 24 (level introducing size pills):
- The conveyor belt is just propelling you into danger again, except this time you have to get really close to the sawblade in order to get the size pill you want to use (and you get to use portals on top of the belt). Borderline the same thing as before, but with very slight variations.
I am nonetheless quite happy with what I came up with. The area is almost finished, with only 3 levels left. One of them will act as a digestion break, using all of the recent mechanics to their fullest extent in a bigger “arena” level. The other 2 will be a chase sequence, breaking from the established gameplay in order to offer something thrilling, again using all of the mechanics, but in an already known way, this time focusing exclusively on challenge.
Speaking of the chase sequence, I recently teamed up with the very talented musician ThaPredator, who started composing the soundtrack for the game with a track for this sequence. Here’s a short sneak peek:
He also made the menu songs, which highly motivated me to improve the UI of the main menu and the pause menu. My rework of the main menu is not finished, so I’ll leave it for the next devlog.
In what regards the pause menu, I finally discovered how masking surfaces in Game Maker works!
I was excited like a happy bunny and instantly wanted to use the technique for all sorts of fancy and wacky effects. Originally, I wanted the pause object to capture an image of the current game, and display it in the background under the pause menu appearing with an animated mask. My idea for the mask was to have random thick lines sliding in from all directions. It turned out the idea looked miles better in my head. I gave up on it after failing to make it look decent.
Alternatively, I was also having trouble with the displayed game screenshot (which was the application_surface copied to another surface). Indeed, my application_surface copies were not taking into account the shaders I sometimes applied to it. I lazily declared retreat and decided that the background of the pause menu would appear instantly after pressing the escape button, but the elements within would ease in from the corners. And it ended up looking quite nice! I couldn’t contain myself from using a masking effect though, so when you unpause, the menu gets swooshed to the left by a mask.
Here’s the final result:
And this wraps it up! Next time I will hopefully have finished the main menu, as well as the chase levels. Thanks for reading, and don’t forget to follow the development on twitter. You should check the musician out too!