Last weekend me and @douglasawesome decided it would be fun to participate in Ludum Dare to see what kind of game we can dish out in only 72 hours.
If you don’t know what Ludum Dare is, it’s name is Latin for ‘to give a game’. It’s a game development competition. Each Ludum Dare, there is 2 different versions of the competition. There’s the original Ludum Dare, which is 48 hours, solo-only, and you have to use all original content. There’s also a more relaxed version, which is Ludum Dare Jam. 72 Hours, original content or content from the internet(provided you give credit), and can work in teams.
As it is me AND Douglas working on this, we went for the Ludum Dare Jam.
Before each competition, the community votes on different themes(that were posted by the community) and eventually comes down to usually one. This was an odd one out, because there was a tie.
The two themes were:
GrowthTwo Button Controls
You could use one of them, or both. We went for ‘Growth’ as our main theme.
With any Ludum Dare, you can use the theme as abstract or literal as you please.
Our idea involved having a robot that you set out to do different tests and puzzles, but rather than directly controlling it, before you set it out to do tests you can actually wire it a neural network so it learns how to go through different puzzles. This creates an interesting mechanic where you can take it back to a previous level to teach it that when it sees green, it should go left if possible.
Once we got pretty clear on some of the basic mechanics to build off of, we set off to the races.
Douglas began designing some of the levels, — that admittedly, none of which made it in except one — I started working on the game in Unity.
Douglas soon also began work on the User Interface, which was a huge help for me, as to this point I was only working on developing the mechanics, and wasn’t going to have enough time to also work on an interface as well.
By the end, we had all the mechanics we wanted to put in the game for 72 hours, and only one level to use one of the mechanics in. Woops.
The white circle in the first picture is the “Robot”, and the difference in shading between blocks is coming from a light source.
The idea for the level is you program the robot to respond positively towards light, and it will be able to lead itself to the goal. This happens by taking a light sensor, and a ‘Dopamine’ module. Dopamine being the drug that naturally occurs in your brain to give you that happy feeling to stuff. 😀
This is sort of the robot’s motivation to get through the level.
The robot is not aware that light is what makes it happy. Instead, it learns through experience. It will naturally want to go in any direction immediately available to it, to explore it’s world. So, in the case of the first level, you start on that very bottom block, and it’s only available direction is forward, therefore it will go forward.
HEY! DOPAMINE! (from the increase in light)
Eventually it will pass the cross, to which it will realize it’s light has gone down, and as such it’s dopamine level decrease.
Well, clearly that’s not a good idea anymore. Let’s see if somewhere else works.
It might try back, to which it will see that the light level is STILL less than the last tile it is in, and go back to the original point. Now, it’s last option is right.
YAY! MORE DOPAMINE! Let’s keep going right since that’s what works!
It gains a positive association with right, and continues to head off in that direction, continues to have a consistent increase in “dopamine” until it eventually reaches the goal and the puzzle is solved.
Congrats! Your robot, will naturally try to go towards a light, and reached its goal! A successful test, if I do say so myself.
There are other mechanics in this, such as the concept of Memory, a colour sensor, and a “Pain” module which is a more intentional negative dopamine. We didn’t have enough time to implement other levels that integrate these mechanics, and barely had the game itself working by the time of submission entry.
We have it uploaded here: