Genre : Shoot Them Up

Role : Game-Designer / Level Designer / (Programming)

Project's duration : 1 month

Junkraft is a 2.5D Shoot'em Up (SHMUP) in a post-apocalypse sand city where you control a flying junk that you can upgrade throughout all the game with your enemies weapons. Have fun destroying the enemies to add their weapons to your junk and becoming the most powerful. But remember: the bigger you are, the slower you become! Will you beat the boss?

My work

In this project I worked with another Game-Designer Fiona Rosette on a genre that I was discovering : SHMUP. We first established the project's vision : the pitch was putting emphasis on chaos and movement. These are the source of the Game-Design we developped.

Level Design

We split the Level-Design design work in two parts. Fiona was making the introduction to teach the player how to play : ennemies behaviors, weapons and his ship. As for myself, I worked on exploiting our mechanics and build a progressive difficulty.

I tried to design situations of drama where you would gain and lose modules through enemy patterns to keep the player involved. Laser enabled me to put emphasis on the movement while battling : the player having to stay between beams while fighting enemies.

Design & Programming

I added some features I came up with to solve some Level-Design or Game-Design problems we were face up with.


We only could tweek time between each shot with our weapon system, thats why I created customizable bursts on ennemies weapons. My feature enabled me to choose how many shots were fired in a burst and the waited time between two bursts. It participated to renew the experience as soon as thoses enemies arrived on screen and curve the progression in the Level-Design. Indeed theses weapons when gathered by the player lost their burst limitation but kept their higher firerate.

Enemy limitation

Our enemy spawn system works with trigger zones placed on the map scrolling at constant speed. Therefore we face a problem when enemies kept spawning even though the player was struggling. There comes my enemy limitation wich enabled me to choose a maximum number of ennemies for each spawn trigger and prevent the waves from spawning any more once that number was reached. This had two effect : Firstly, it solved the struggling situations where enemies kept spawning, and secondly our scoring system became more relevant since it's rewarding each enemy destroyed. Players that managed to kill enemies faster then got a higher score than the ones struggling.

Balancing & drama

We were facing a balancing problem with the core system of the game : slowing down the player was not enough to prevent him from grabbing every item on his path. Eventually, every player was getting huge and too powerfull to be hurt.

Thus I thought about a dynamic protection system : while the player only has one to six modules, he gets protected for 1.5 seconds when he takes damage. As he gathers more, his protection time decreases until almost getting null. Then, a player equiped with twenty or so modules when he took laser damage lost almost instantly 5 to 6 modules

This system helps to create drama between gaining and loosing weapons which gives tension to the game's experience.

Life bars

I added a life bar coming up with the end's boss in order to create tension at his arival and to motivate the player trying it back if he happens to lose the fight.
Besides, I also added a dynamic clue of the common ennemies life through their sail's color. The darker the color, the most hit-points he has and vice versa.