Kiwijam started on Friday night, at 7pm the theme was announced and our space at The University of Auckland became a hive of activity.
The theme - Adapt.
My first thoughts were that I wanted to make a game where the player needed to use a Bop-It (TM) to control several different "levels" where the game changes significantly in between. For example the first level a platformer, the second a racing game, third something else.
But with my lack of hardware knowledge, a Bop-It (TM) and any recruits, my dream was quickly fading away.
So what if I used a GBA instead, and instead of the weird control layouts of a Bop-It, you simply had to rotate the GBA for each level, this would change not only the controls, but where they were in relation to the screen.
Queue maniacal laughter.
I made a quick demo to see what it would look and feel like to hold and rotate the GBA.
This worked quite well, however I was scared that someone would drop my GBA trying to play the game. The working title became "Don't drop me".
In order for this to work I needed at least 4 games (one for each direction), but the games themselves had to be unique and interesting.
In order to achieve as many games as I could, they each needed to be super duper simple.
I also realised that it would be fun to make all the games related, it would make the game itself more cohesive and more enjoyable.
Having hotdogs on the brain I figured, maybe your food truck had rolled off the side of a road and was now tumbling down the hill.
Yep. Okay. That will do. I only had 48 hours, I couldn't waste too much on planning. Although I think sleeping on it definitely helped.
Taking a lot of inspiration from the Warioware franchise all my games were limited to 5 seconds. I also made all of the backgrounds a bright colour, mostly so I didn't have to do as much art.
I decided on my first 4 games, these would at least get across the idea of the game if I didn't manage to make any more.
A classic reaction game where you have to tap a button at the right moment to catch a falling bottle of mustard.
Dodge all the cutlery and utensils that are being thrown around the van as it rolls.
A trick level, where the correct action is not to press the button and open all the doors.
Catch all the falling buns!
I also thought a bit about how I could make adding new games as easy as possible. I ended up making it so that each game's constructor got my
bn::sprite_text_generator and some
Each microgame also had 2 functions. The first was
void show_instructions() that could display a quick set of directions for the games orientation and controls. And the second which would contain the entire game
bool play_game(), it would also return whether the player was successful so that I could display the fail or success screen.
Looking back now, none of the games had more than 100 lines of code, most of which was loading in sprites/bgs and making sure they had the right visibility/priority.
I had 4 games, an intro and an ending. It wasn't enough. I needed more games. I chose to stay up another few hours and make 3 more games with basic art (which was luckily improved later).
Then my aim for the last day was to go from 7 games to 11. That would be enough to start and end with the screen upright.
I started by making more games, but I also needed to get someone other than me to play test the game.
This went horribly.
People always got confused by which way to rotate the GBA and by which buttons to press and what they had to do in each scene.
So instead of making more games, I switched into bug fix mode for the next hour.
I added Arrows to success/fail screens to prompt the rotation.
I put the buttons that would be used on the loading screen.
And I added some extra text to explain the level.
Some more play testing and I had a game that was fairly playable.
Okay great I had 4 hours left to add 3 more levels. Luckily I had some ideas on my drive in that would allow me to reuse bits of code from other levels with minor changes that would make things more interesting.
For example I made 2 levels where you had to move an object into the right position...
I then reused this, but made it so that the target moved around, adding a bit of complexity.
I finished just half an hour short of the deadline. And had a little time to get it uploaded to itch.io. Go there to download the .gba (note that it might be harder to play on other devices).
And you can find the source code here.
Well, there is some polish that I want to add to this. Just to make it worthwhile to someone that wants a homebrew warioware clone on their flashcart.
I am thinking...
This also made me think more about Tacotown (previous post). I had been thinking about the mechanics of hotdog building, I wanted it to be more exciting and fun than the pico8 demo I made. I think I will look into using minigames like these to prepare hotdogs. Like squeeze the sauce, dispense the onions, tong the sauerkraut without spilling it?