#1GAM Game 5: Ninja Throwdown

In January of 2016 I challenged myself to make 1 new game every month, for a year; 12 months- 12 games. This is one of those games.

[box type=”download”]

Development Stats

  • Language: C#
  • Engine: MonoGame 3.4
  • Platforms: Windows (DirectX)
  • Resolution: 256×240 (NES Resolution)

[/box]

On Day 13 of 31 this month, this is what I had:

Not much...
Not much…

A Cave Girl standing on the ground playing an Idle Animation. No gameplay. No game idea at all really. Not a good spot to be half way through a very short development cycle!

About 15 days later I had this:

Ninja Showdown!
Ninja Showdown!

When I started with that Cave Girl game I didn’t real have any idea what I wanted to make. I just knew I wan’t to make another action game, and I had found this great collection of sprites (see: “Superpowers Mega Asset Pack” in download section) from the team behind Super Powers. With half the month already gone, I just jumped right in reviving the tile and platforming engine I used on Dash Maximus, adding some of the updates to my engine that had been made in the months since (save game, better animation, etc).

I started thinking about a game I had worked on for some time (over a year I think) a while back, that I never did finish. It was one of those games the kind of ballooned in scope and complexity, and I couldn’t quite pull it together into a finished game. My failure to complete that project was actually a large motivator for these smaller projects I have done since. Anyway, I started thinking about that incomplete game, and how complex it had become, both in code and design, and how in contrast these #1GAM games are so simple and inelegant.

I asked myself, could I create the core mechanics of that entire game idea in the time remaining in this month. Turns out, the answer, is “No… No, I can’t”. The original game design was a mix of twin-stick shooter, rouge-like and Mine-Craft. By Day 28/31 I only had the basic combat working with a single AI type, and a bit of Zelda like map transitions.

Zelda-like screen transitions.
Zelda-like screen transitions.

 So like any good software engineer with a half finished project and not enough time: I pivoted.

tumblr_n6pf0jcbYU1r7uxhho6_400
Pivot!

I took what I had and stripped away all the “adventure” stuff; scrolling maps, predefined enemy spawn points, and so on. I replaced it with a more arcadey, wave based structure.

Every round a wave of enemies is spawned. When all of the enemies for that wave are killed, the next wave begins. Every wave introduces one additional enemy, creating an increasing challenge over time. By Wave 10 it is so intense I can rarely survive. My all-time best is Wave 12.

By the end of the day 28, I had pretty much the entire game loop in place. I spent the next day (the last real day of development), hooking up high scores to the save game, adding title screen, and a small tutorial. I even added an additional, simpler control scheme for people who find the more precise “twin-stick” style too overwhelming.

The take away for me is that it’s important to just “jump in” with these small projects. It’s better to write throwaway code, and try random ideas, than to sit idle. The end result doesn’t look much like what I set out to create, but that doesn’t really matter. The player has no idea what I was trying to make; they just see the end result.

[box type=”download”]

System Requirements

  • Windows 7 or newer
  • Shader model 4 or better
  • Gamepad
  • Download: Ninja Throwdown

[/box]