Having come back from a mid year holiday I was keen to try a game jam to get some ideas flowing. Luckily I stumbled upon the GameJolt website which was hosting an online 72 hr game jam the very next day. Having prepared myself with lots of coffee, and an update of Unity, the theme was announced: Arcade.
Having been given such an open ended theme, I was happy because arcade type games are perhaps the simplest to make (which is why I keep making them.)
My brainstorming took a few hours to come up with the general gameplay mechanics of a cat in a room, with vacuum cleaners to avoid, food to collect, and increasing difficulty, with the goal of gaining the highest score and level.
I created some placeholder artwork and made a simple movement system to get a feel for the game, before creating final character art and applying it to animations and improving the movement system. I used the inbuilt physics system of Unity and found some cheap and nasty ways of restricting speed, and to rotate towards the direction of travel. It’s not pretty, but functionality was the key if I was going to come close to the deadline. When I was happy as I could be with the player movement and animation speed ( I finally got a variable animation speed based on velocity, not too shabby!) I then moved onto the vacuum cleaner AI. I didn’t want the vacuum to target the player initialy so I made an AI with a simple movement system, (when it hits walls it stops, reverses, rotates, continues…) and kept developing it and tweaking was happy, after thinking about it, and I also added another enemy AI which follows the player relentlessly, and made them different colours.
Finally I was onto the main game loop, which at the start of evey level sets up the arcade machines, fruit and enemies in random locations. For enemy numbers I used A logarithmic function to ramp up the numbers in relation to the current level, as was used in the unity rogue like tutorial, and had been thinking about since. I used a variety of methods to spawn objects, from if statements, to using loops and lists, and simple random placement of food within the room bounds. Using lists was by far the fastest to code, and I guess doing a jam like this forces you to find more efficient processes.
One of the contest rules was that the game had to integrate the GameLoft API in order to qualify (so that gamers could then compete against each other for highscores during the contest). Unfortunately as I had never uploaded and tested uploading a game on GameLoft (which I should have spent more time if I had of known about the contest earlier), with 10 minutes to go I got my game uploaded, only to find it doesn’t work due to an issue with WebGL.
Overall though I am happy to have entered, I learnt a lot, and got to spend much more time on the creating art, which I’m starting to really love. I can’t wait for the next Jam, hopefully with a team next time!