I made a gameplay video of my game RobotJet for this ludum dare.
The video has different levels than the ludum dare submition and I also added two sound effects. However the game mechanic is same so if you haven’t played it yet, you can do so at http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=55647.
Also please leave a comment if you have some suggestion because I plan to finish this game and release it for iPads because recently i found out that love2d already supports iOS development.
I think everything worked as I expected. I had this game idea for a week or so before the competition already in mind. I wanted to implement controlling player by modifying the enviroment instead of using the direct controls.
First idea was to move a ball from left to right side of the screen by creating hills and valleys using physics. I didn’t manage to draw the controls for this game on the paper so I went for a simpler solution using the grid. Somewhere in this point a simpler idea of using gravity and collecting something instead of moving from left to right emerged. This led to the robot collecting batteries with a puzzle-like levels using gravity controls and walls to navigate robot through the level. Only problem with puzzle-like game is that creating puzzles takes much time. I wasn’t sure if I would be able to prepare good set of levels but I wanted to try the idea.
Because i was not able to do actual programming until the second half of the second day of the jam due to logistics, I had a plenty of time to come up with a concrete idea and solve almost all the problems. So when I started to program I had a pretty good idea of the game mechanic and what I had to do.
Programming phase was pretty straightforward. I wanted to use Love2D because it is supereasy for prototyping even if I hadn’t much experience with it. I had some experience with lua programming from Codea app from iPad and my previous ludum dare entry. I also did a simple pong game one week before ludum dare as a training
After half day of programming I had the game ready and basic graphics in place. After few hours of sleep I had to go to work on monday and I could show my game to my coleagues(sorry boss :-)). They liked the idea but didn’t like the graphic and there were no levels. Actual player didn’t even look like a robot but more like a ghost back then
After work I rushed home to finish some graphics – draw the robot and create tutorial levels. Luckily I remembered the wonderful Tiled map editor which helped a lot with level creation and it exports directly to a Lua so I saved some time by not implementing any tools.
Anyway I knew I couldn’t make good enough levels because I was still exploring what robot can do. I spent a lot of time putting obstacles in front of the robot and watching its behavior because sometimes I was suprised what can be done using such simple game mechanic (it still surprises me because today i found a simpler solution to one of new levels presented in the gameplay video).
When the time was dangerously passing by, I finished fooling around with the robot and went back to doing actual work. I polished graphic – as I am not any sort of good painter I did my best using piskel app as pixel graphic editor for robot and tiles. Also at this point I found out that I can do a tutorial by drawing directly in the level and showing the gameplay features one by one. I don’t know if this is good or understandable, please let me know in the comments if you find tutorial good!
I showed the game to my brother and he created three of the campaign levels. I had to polish them a little bit afterwards because one of the was not passable and other were easy to get stuck. I wanted that robot won’t get stuck without the possibility to unstuck (Robot cannot react to the modifications to the field has is alread standing at – for example if in the hole where he cannot go left nor right he won’t shapeshift to go up if shapeshift controller placed over the robot).
I though that player should not die/stuck during the game to not feel bad about his skill and won’t get frustrated from starting over so every situation must be resolvable.
Afterwards the time was almost up so I packaged the game and submitted.
Next day I fixed some bug that prevent last level from being finished – spawn point. This was clearly caused because I haven’t had enough time to replay every level after every change.
For the future I plan to create a proper set of levels to illustrate all things that can be done programming the robot using just gravity and walls. All levels I am creating now are resolvable by putting the controls in place before the level starts so instead of rushing during level player can solve the puzzle by thinking before the level starts and preparing the setup for the robot beforehand.
This ludum was enjoyable as always but after this one I feel a little bit special because I really like the resulting game (even bad graphics and no sound and almost no levels 😀 ) mainly because of possibilities it presents.
Regards everybody and see you in the next ludum dare,