Hotdog Challenge

3 months ago

Recently I was asked to produce a simple HTML game that could run on a payment terminal. I put together a stacking game in which you have to balance hotdogs on top of each other. If you get 20. high then the terminal would print off a voucher for a free dessert.

The game was entered into a competition run by terminal maker Ingenico, where it won second prize. You can play the game in your browser here, although you won't win any dessert I'm afraid.


3 months ago

This is a bit of an old one, but I thought it was worth posting. Back in January I collaborated with Alex May and Ryan Leigh during the Global Game Jam to create Kahuna. It's a short, 3. point and click game about a man suffering from OCD who is mistaken for a shaman of a remote island village. The game is made in Unity. I was on programming duties, and also recorded a short ukulele song for the soundtrack. Alex wrote the dialogue and was also co-programmer. Ryan did the art and modelling.

Download the game here.

AR Mole Whack

3 months ago

I've been trying to complete a few short projects, trying to focus on some new technologies. Last week I made a quick augmented reality game called The Real Mole Whack. It's a whack-a-mole type game, made in Unity using the Vuforia library which was pretty easy to get going with, but the license costs mean I won't be releasing the game on the app stores just yet. You can download the apk here though.

All the models and animations were also done by me, using Blender. I'm still learning 3D. modelling :)

Genetic Algorithms for Parameter Tuning

a year ago

Recently the Tech Toolbox at GDC had a call for submissions, I saw it last year and thought it was a great session, with some great ideas. So I have been thinking, is there any useful stuff I have made for Yucatan which other people might find useful?

After 30 failed attempts I have a car that can drive up a hill. Solution? Stick a rocket on the back.

— Joe Bain (@oh_cripes) December 17, 2015

I have shown a few people my hill climbing test and my handling tests. I used these to tune the parameters on the car in Yucatan. It's quite fun to watch all the little cars run around and fall over, but also I found the approach I worked quite well and, based on the reactions I got, seemed quite novel. What I had been doing was very similar to a genetic algorithm - only I had been doing it manually, but what if I could automate the process? I spent yesterday and today putting together a proof-of-concept, and as you can see in the video below, it works! I plan to tidy this up now and when that's done I'll offer it as an open source asset.

To give a basic overview of how the plugin works here is what I did to create the video. I first created a copy of my car control code which has most of the same parameters, but it drives itself - in this case, just straight forward. Then I added the car to a simple scene which is just a flat plane - with the car's default parameters, it slides backwards. Then I added the GA controller, set the original car as the control, and entered the names of the properties I wanted the GA to tune. I also wrote a simple fitness function for the test, it just uses the Y coordinate, i.e. the height traveled up the hill, to score the cars. What you can see in the video is the algorithm running - each generation, the best performing car is chosen, cloned, and randomly mutated. And we end up with a bunch of cars racing up the hill!

Check back here in the coming weeks for the source code, or follow me on GitHub.

Lazer Lips

a year ago

Lazer Lips is a voice controlled singing game. The player uses the pitch of their voice to control an on screen character in a side scrolling shmup style game.

I wanted to make a game which would challenge traditional input styles whilst still remaining accessible to players at home. I decided to try to make use of some fairly ubiquitous hardware, the microphone and camera on most laptops. Whilst these input mechanisms may seem old and dull, they are rarely used in games, and can still produce novel and exciting experiences.

The game draws on mechanics used in Singstar, experimental games like Pew Pew, and of course traditional games from the sidescrolling shmup genre.

You can try Lazer Lips here.