One Game A Month

CRUP! (Crash 'Em Up)

Crash your orbiting laser saw into enemy ships while dodging through a cloud of bullets.

You’re delivering a fighter ship to some wealthy Galaxian when you get jumped by pirates on the far side of a tunnel. Don’t think you can just bomb and shoot your way out of this one: You’re surrounded by enemies, the air is thick with bullets, and the only thing you’ve got in the way of weapons is this orbiting laser saw you bought in a flea market back on Tarsus V. You’re definitely going to die, but you may as well see what this orbiting laser saw can do to those pirates.

Download CRUP! (Windows only)
Extract the folder and run CRUP.exe.

You can also view the online leaderboard.

See the action for yourself

What’s CRUP!  got that’s so fly?

  • Uncompromising laser saw action.
  • Make awed sounds as you thread the needle through a cloud of angry bullets.
  • Online leaderboard so you can lord it over lesser players.
  • Retro line graphics like Battlezone — but not.

I want to read about CRUP!’s development!

The Making of CRUP has all of the material I collected during the development of the game, including pages from my logbook.


I used Daniel Cook’s free Tyrian tileset as my placeholder art during development. His explosion sprites remain in the shipped version.

Sound effects were generated using Bfxr, and music was generated by Autotracker-BU.



My January game, CRUP!, is now feature-complete!

The game I made was not much of a shoot-em-up so I couldn’t rightly call it a SHMUP. It’s all about the crashin’, though, so I’ve called it CRUP!

It’s now feature-complete and a testing version is available for download. This game is only for Windows, sadly, as GameMaker Studio requires that I actually own a Mac to export to the platform, and I don’t (yet) own the HTML5 exporter.

Download CRUP! test version (Windows only)
Extract the folder and run CRUP.exe.

I used Daniel Cook’s free Tyrian tileset as my art this time.

Feature-complete is not finished

I release feature-complete versions to signal a stop in the addition of major new features. There’s still a lot of polishing and tweaking to do, however:

  • I am unsure if having a power-up that lets the player fire rockets adds any value to the game at all.
  • The background provides poor contrast with the sprites.
  • I want to replace the graphics to give a more original and minimal look.
  • The background music in-game needs changing.
  • Because the spawning of enemy types (other than the standard grey plane) is random, there are some games where you don’t get a green ship or powerup ship at all.
  • Explosions need juicing. Screen shaking would be nice.
  • Bullets might be moving a little too fast. Their speed would depend on whether I want this game to be one about reflexes, or about threading the needle through a barrage of slow-moving fire, which would be interesting in itself.


I bought GameMaker studio yesterday

GameMaker Studio was on sale on Steam yesterday, so I snagged the Professional version for AU$34. I spent yesterday and today following the tutorials, and am finding its overall structure fairly similar to Unity. It’s obviously meant for 2D development, and it’s quite good at it from what I see. I think I will make this month’s game in GM Studio, seeing as I’ve suffered a series of setbacks in Unity this week — PlayMaker stores its state machines on game objects and not external scripts or anywhere else, and I’ve accidentally deleted a prefab a couple of times, losing its state machine and having to remake it all over again.

I think it will be interesting to make this game in GM Studio, then remake it again in Unity + PlayMaker and compare times, complexity and so on. I need to remember to turn on my punch clock.

I’ll now use free art.

I’ve come to terms with my utter badness in terms of art, and am now willing to use free art. For this one, I’ll use Daniel Cook’s sprites and tiles from Tyrian. If I’m feeling really motivated I can use these as placeholders only and make my own art when the game is finished, but I’m not going to pretend that I am motivated to do this.

Another idea about game mechanics.

I was thinking just now that it might also be cool if instead of a bullet-permeable Bubble of Death, your ship instead had a shield that could be freely rotated around yourself with the mouse, and which could be used to block bullets and ram enemies. I last remember something similar being done in R-Type Delta for the Playstation, except the Forces (the shield thingies) weren’t free-rotating.

I really like my current idea so I’m gonna stick with it and see how it flies.



Game progress and modelling practice

My game for OGAM January is going well. I’m getting the hang of PlayMaker and now I have a cube (player) that can move around and kill stuff by asploding on them, and cylinders (enemies) that move down the screen, firing towards the player at intervals.

A change in focus

Testing my implementation of an explosion radius made me think of a different way to do this game. What if the player had a forcefield or blades or something which hardmed enemies that entered it, but allowed enemy bullets through? Instead of navigating a gauntlet of bullets and ships to explode yourself on a boss, the game is now about navigating a gauntlet of bullets and ships, while remaining close enough to enemies to whack them with your damaging forcefield thingy. If I made the forcefield damage over time, then I could keep kamikaze attacks as an oh-shit option (like crashing your ship into a boss’ cannon to get rid of it right now).

I’m starting a low-poly model library

Today I also started on that low-poly prototyping library I always wanted to make. Not only does it help me get used to Blender after so long away from it, but it’s also nice to have premade models for early development instead of using cubes and things. Here’s an example of a tree!



One Game a Month starts today, and I have an idea!

The One Game a Month project starts today, and I’ve finally gotten an idea that I’m fairly happy with in terms of potential and scope.

I was using my game idea generator to inspire myself, and was given these three words:

  • Rutabaga
  • Pyrrhic Victory
  • Bullet Hell

Forget the rutabaga for now. With the other two words I immediately thought of self-destruction, and the idea came to me of a vertically-scrolling SHMUP wherein bosses could only be damaged by crashing your ship into them. Something similar was done back in 1983 in Mines of Minos, except Mines was not a SHMUP. Jesse Schell wrote a pretty great article about the significance of that self-sacrifice mechanic for Well-Played 1.0.

I’m thinking that this game will have short levels — or no levels at all, just a big Boss Attack mode — and you’ll be trying to dodge the bullets and lesser enemies that the boss throws at you, just so that you can get close enough to hit a joint or a component of the boss or something. I’m deliberately keeping it simple right now, and adding more involved mechanics and twists later. I have a month to work on it, after all.

And with that rutabaga, I might just make the player’s ship a little turnip-shaped.

Some other notable things about 1GAM

I’ve never done anything in 2D, so this is a pretty good opportunity to do so (perhaps using RagePixel in Unity). I also recently bought PlayMaker, and even though I’m fairly adept at coding directly in C#, I think learning how to use PlayMaker would help my workflow.

End of day, 5PM

I’ve got a player controller and a modular enemy controller working in PlayMaker. Firing bullets at the player is kind of odd, as they either don’t have enough momentum to keep going, or else they just don’t move. I must be using the wrong move method.

Now that I’ve made a solid attempt of it, PlayMaker is not too bad. I can see how being able to visualise operations as a series of distinct blocks and actions is reassuring to the non-programmer, although I’m not used to thinking the PlayMaker way yet so my productivity is a bit low.

The lack of simple built-in loops took some time for me to get used to. I think of loops as the atoms of software, so having to break a FOR loop down into its state machine equivalent (a Declaration state branching into two states: Continuing, or Completed, with the Continuing state feeding back into the Declaration state) was very new to me. I’m excited to continue tomorrow.




Nike Air Max classic Nike Free Run sale Nike Air Max kopen Nike Air Max shop Nike Air Max classic goedkoop Nike Air Max 90 goedkoop Nike Air Max 1 kopen Nike Air Max sale Nike Air Max 90 sale Nike Air Max kopen online