Rescuebot – Ludum Dare #35 Game

Every four months there is a special weekend. On this weekend all clocks are off and instead of regenerating your batteries, you work your butt off to create a game in just 48 hours! That event is called Ludum Dare, and it is a game programming competition. There is no prize to win, it’s just pure for the fun and for challenging yourself.

35919-shot0-1460988541.png-eq-900-500

Play Rescuebot

You can play Rescuebot in your browser! Just go to http://dizelabs.com/ld35 and you’ll see the WebGL version. However, there is a small drawback. The WebGL version has a bug in the UI, the indicator graphics are distorted and the game itself does not run at a good framerate all the time.  If you want the Unity version for windows, click here to go to the project page on Ludum Dare and scroll down to the download links.

Ludum Dare Rules

  1. There is a theme, which is the result of extensive voting on possible themes. The theme is then revealed at the start of the challenge.
  2. The challenge starts on Friday 9pm EST (which is 3AM in Germany, yeah…) and ends on Sunday at the same time (which is again 3 o’clock in the morning…).
  3. You have to work alone.
  4. Everything in your game must be created within this timeframe and you are not allowed to use any external material. This means:
    – All graphics have to be created during the event
    – All Sounds and music have to created during the event
    – All gameplay code has to be created during the event
    The only thing you can use is an existing engine. In my case, I used Unity for engine, Photoshop for Graphics, Garageband for the Music and Audacity for sound effects.
  5. After you’ve submitted your game (submit builds and source code), other people who also submitted a game will start to play and rate your game. You do the same thing (the more games you rate, the higher in the list your game will show to others). Additionally, you can write a short comment to the game.

35919-shot2-1460942059.png-eq-900-500

My Game: Rescuebot

The theme this time was “shapeshift”, which I did not like very much. It forces a certain type of games (use some kind of shape and change it), but I think I had a good idea. Meet Rescuebot: The man, the car, the helicopter – the fastest rescue machine in the whole world!

In Rescuebot, your task is to rescue as many patients as you can. You pick them up and drive them to the hospital. The patient loses life every second, and if you bump into anything on your way back to the hospital, he will lose even more. To spice things up a bit, your rescuebot also takes damage when hitting obstacles.

But wait, there is more! Your rescuebot can shapeshift (got it?) into three different forms. As the man (a paramedic with a stretcher), you are small to fit through narrow passages. Also, the man is the only form where you can pick up patients.

The second form is the car (an ambulance). This is the form you spend most of your time in. It is fast, and it is the only form in which you can drop off patients at the hospital. But it is also the only form that can take damage. If you hit any obstacle, your rescuebot takes damage, and if you transport a patient at the time, he will take damage, too.

The last form is the helicopter (a flying dinosaur…, just kidding, its a helicopter). In this form, you are invincible, very fast, and you fly over most obstacles (cars, fences, trees, but not buildings). The drawback is that steering is more difficult and you can use the helicopter only for 10 seconds, after which it has to regenerate for 10 seconds.

The game ends when you failed to rescue three patients. You also lose a live if you blow up your rescuebot. Every rescued patients gives you score, which is displayed on the game over screen.

To repair your bot, drive to the repair station. This will be a detour on your quest to rescue your passenger, so you have to calculate the risk.

The game takes place in a lovely handcrafted city and features three difficulty stages. The difficulty increases every 5 patients. On the first difficulty stage, patients spawn near the hospital, you get the amount of life they have on arrival at the hospital as points and you take minor damage when hitting things. The second difficulty stage starts with the 6th patient and increases the possible spawn area of patients. The patients start with lower health, you take more damage when hitting obstacles, but the patient is worth twice the amount of points. On the last difficulty, which starts with the 11th patient, patients spawn across the whole city, have half of the starting health and every obstacle seems like a brick wall. On the other side, you get three times the amount of points.

35919-shot3-1460942059.png-eq-900-500

Post Mortem – What went right, what went wrong

A post mortem is a reflection of the creation process.

I think this weekend was great. It was the first time in my 5 Ludum Dare entries that I stick with the first idea through the entire weekend, and put a real game together.

Graphics:
Positive: In my opinion, they are good. You always have to bear in mind you don’t have any time to carefully craft a sprite or texture, because it would take way too much time. For example, it takes approximately half a day to create a single UI element for the digital character sheet apps. On this weekend, I created three characters, a whole city with different streets and obstacles, three different buildings, a complete UI, three text screens and the logo. Also, I really like the look of the 3d buildings in the 2d game, which reminds me a lot of the early GTA titles.
Negative: I don’t have to complain much about the graphics. The buildings could be more than just cubes, but I didn’t want to learn Blender just for a few buildings, and I think there good anyways. The helicopter looks like it drives on the ground, but this was more of a collision detection problem. If I could change one more thing, it would be the patients on the street, which look a bit weird 🙂

Programming:
Positive: I really got a lot done this time. I’m especially proud of the AI car simulation, which uses a waypoint system but all movements are physics based, and they even try to avoid obstacles. They also brake before turning. The shape change particle effect looks cool.
Negative: The AI cars took too long to drive around without crashing into one another. This was mainly due to the narrow streets I started with. After I switched from the test city to the real city, I expanded the tileset and the cars got enough room to turn. Also, if you look at the city screenshot in this article, you’ll see the different waypoints. They do not overlap and don’t go through streets with obstacles, so there is no chance of collision anywhere. In a perfect world, there would be more cars in the street, with traffic lights, stop signs and crossings.
Also, I spent most of the weekend googling answers to Unity questions. Because I’m not an advanced Unity user, I had to look up almost everything. This took a long time, which could be used to create additional gameplay features and better graphics.

Gameplay:
Positive: It’s fun to play. I think this is the most important thing you can achieve in a game. If a game is not fun to play, why should you play it in the first place? Besides that, I like the increasing difficulty, not only through making the game harder by giving the player less time and increase the damage, but by increasing the spawn area of the patients. The first patients are easy to rescue, they spawn around the hospital. The second wave spawn across the inner city, where other cars drive around and obstacles are blocking the streets. The third difficulty introduces the neighbourhood, where fences block the important routes and trees are everywhere. At that time, you’ll have to use the helicopter or you are doomed.
Negative: And here we have the biggest issue of the game: THE KEYBOARD CONTROLS! I’ve made the mistake and set a gamepad (e.g. a xbox controller) to be the primary input device. This means, if you have a gamepad with an analog stick, driving and flying is fun but challenging. But I did not expect most of the people trying to control the game with a keyboard, which lead to an extreme difficulty spike right at the start. Turning a 2d car with keyboard controls is quite hard, because you either go full right or full left. Imagine you sitting in your car and trying to drive with only full right or left steering. You can master it, and it isn’t impossible, but I think this mistake will cost me a good place in the Ludum Dare ranking.

Sound:
Positive: After listening to euro beat and dance music the whole weekend (which is a bit strange but it’s a fun weekend, so why not?), I decided to try and create a fun and fast beat music track. The outcome was ok, not my best LD track (the one for the sea monster game was better), but for my very first euro beat track ever, it was ok. The sound effect creation also went well. The shape change sound is quite good, which was a total surprise creation when fiddling around with the audacity vocoder.
Negative: I started with the music and sound effects too late. I had 4 hours left and still some work on the map left when I started with the music. Also, Garageband is a very complicated program if you don’t use it in your normal work. Luckily, my keyboard (the music instrument) can be connected via usb, so I did not have to put every note in via the software. I also missed a few sound effects because of the approaching deadline. There is no engine sound on the car, no sounds on the paramedic, no braking sound on the car and no extra drop off sound.

Conclusion:

Overall, I think is the best game I submitted to Ludum Dare. I stuck with the base idea over the complete weekend, the game turned out to be fun and not many serious mistakes where made. I don’t think it is something I can turn into a real game, because the main game loop is too easy and it would be too similar to a GTA 1/2 minigame. I had a lot of fun, and I have fun rating other creators games during this week (my goal is to rate 50).

I hope the game will get good ratings in the end, but the main thing is I had fun creating it. I’m also interested in your comments on the game. You can play it in your browser or on your windows pc, see the links in the “Play rescuebot” paragraph.

This was a long post 🙂 I hope you enjoyed it, and I’m now back to work on the next iteration of our Warhammer 40k Digital Character Sheet apps 🙂

Have a nice day!
Thomas