XaiJu
drludos
drludos

patreon


[Prototype] DMG Deals Damage

  

The Game Boy is the first video game console I had as a kid, and it remains one of my favorite platform today! DMG Deals Damage started with the idea to make a game for the Game Boy’s 30th Birthday. So it had to feature the console as the main character. 

From there, I had several ideas in mind. The most interesting one was a beat’em up where you had to fight other mobiles devices. At first my goal was to make a side-scrolling beat’em up, like Double Dragon / Streets of Rage / The Punisher. 

One important technical limitation to bear in mind for the project is that I had to limit my total game size to 32kb, as I wanted to be able to release the game on cartridge. This is the smallest size available for a Game Boy game. Only "simple" games like Tetris or Alleway weights 32kb. Most of the games are usually in the 256-512kb range, with the largest one being Pokemon Red/Blue at a whopping 1024kb! As you'll see, this very tight ROM space means that I had to make a lot of compromises and scope adjustments throughout the project.

-= PROTOTYPE 01 =-

First gameplay test. You can move DMG in a single direction, and pressing A will throw two punches. As you can see at the bottom of the screen, I started with the code from my previous Game Boy game "Sheep It Up!" as a basis for this new project.

-= PROTOTYPE 02 =-

Now the player can move in either left or right direction. I couldn’t use a simple "sprite swap" here, as I wanted DMG to always have the d-pad on the left and the buttons on the right, like an actual console. If I used a simple horizontal swapping like most games do, when facing left the console would have the d-pad on the right. It’s a detail, but one that was important to me. So I drew separate animations for the left and right walking directions, even if it meant that it would take more of the precious 32kb of ROM space I had at my disposal. Also the punch combo has now 3 steps instead of 2.

-= PROTOTYPE 03 =-

Improved combo! I focused on this part first because in any good beat’em up players will spent the majority of their time doing the standard combo. So you have to make sure it’s cool and fun to play. The combo has now 4 steps, with a left punch, right punch (new animation), a quick left punch, and a "dash" attack as a finisher. The hands are separate sprites from the body, and most of the animations are made by moving them around or changing their appearance. For the dash animation, the front arc is actually the left hand, while the trail is actually the right one.

In this prototype, I also implemented a "slowdown" mechanic, that I intended to use when the player would kill a boss. Basically everything moves and animate slower. To test it simply press START, it’ll trigger a slowdown for 4 seconds.

-= NEW IDEA =-

After a while, I found that the side scrolling beat’em up idea wouldn’t necessary work as intended. It was difficult to render cool "close combat" attacks with a player sprite that doesn’t have legs, and that is only 16 pixels high. 

So I went back to the drawing board to come up with another direction. That’s when I remembered Zelda Link’s Awakening. This has been my favorite game, all platforms included, since I'm 10 years old. So I tried to mix the "beating up other devices" idea with a Zelda-like movement. To make it original, I had the idea of the "catching opponents to smash them on the walls" that I felt has the potential to become a nice mechanic. And indeed it was! :)

By-the-way, the concept change may sound quick and obvious when written like this, but I actually spend about 3 months thinking of different ideas before doing any more coding.

-= PROTOTYPE 04 =-

First "catching concept" prototype. You can throw the left hand around, and it’ll come back automatically. The right hand wasn’t implemented yet (I did it only when the left had was finished), so if you press B you’ll simply detach the right hand in this prototype.

-= PROTOTYPE 05 =-

Enemies added! If you press SELECT, it’ll spawn random enemies that you can catch, and smash on the walls, or smash onto another enemy! It’s very basic, but at this moment you can start to feel that the core idea will be fun to play :).

-= PROTOTYPE 06 =-

I improved the left hand catching and return, the hand sprites change and move perfectly now. I also added room walls, and a music. My music skills are VERY limited, so I adapted a famous classic tune (William Tell Overture). I also added some screenshake effect when you kill an enemy! To me, it’s not just "eye candy", but an essential part to make the player feel "powerful" when he kills an opponent.

-= PROTOTYPE 07 =-

Hit animation added for the enemies. When they are hit they will now blink and be stunned for a brief moment. But the enemies can also hit you now! When you are hit, you’ll be invincible for a few seconds.

-= PROTOTYPE 08 =-

Two hands! You can now play with both the left and right hand. Also, I added a life bar on the top-left corner. As the DMG uses four batteries, I decided to give the player 4 hits points!

-= PROTOTYPE 09 =-

Random Rooms Generation is in! You can now travel across an unlimited number of rooms, that are randomly generated with an increasing number of more and more powerful enemies. So you no longer need to press SELECT to spawn them!

-= PROTOTYPE 10 =-

I added new common enemies (some are no longer in the final version, or were redrawn). If you play this prototype and go up to room 3 or 4, you’ll start to encounter enemies that have a "reversed / weird" palette. These enemies can not be catch, so you have to catch another enemy and throw it at them. This is the first step towards the bosses. Please note that this mechanic only works with the left hand - you can still catch them and kill them with the right one. Like previously, I did all my prototyping on the left hand code only, before activating it for both hands when it was OK.

-= PROTOTYPE 11 =-

Second step towards the bosses. I added the PC Engine GT, that can throw bombs at you. This will be the basic attack of several bosses in the game.

-= PROTOTYPE 12 =-

The first boss is in! If you play this version, every 8 rooms you’ll have to fight a boss. The game currently has no end, but you can die. Starting with this prototype, all the core elements were in, and it was what we would usually call an "alpha version" of the game. I then continued to do a lot of polish, play testing and content creation for several months, to obtain the first "beta version" of the game.

-= BETA 01 =-

This is the first version that was sent to external beta testers. Everything is here, but many gameplay adjustments and bug fixing remains to be made. For example, when you meet the first boss, you’ll notice that when you hit it, it plays a "you can't catch me" sound. As all the beta testers found this sound horrible and ear-tearing, I removed it.

-= BETA 02 =-

This is the second beta, that contains all the fixes and adjustments requested by the beta testers. I sent them this new version so they can test it even more, and we did a lot of back-and-forth here. I then used their feedback to produce the final version of the game.

-= RELEASE =-

And after all this work, here is the final result! The official release of the game, designed to celebrate the 30th birthday of the most iconic handheld console in history, the Game Boy!


More Creators