The game is playable in browser so be sure to try it out here
You can find our Ludum Dare entry here
Last week we took part in the Ludum Dare 44. Our group was composed of five people. In Paris we had Wardl, Moulfry, Py and in Alicante we had Farafynx and myself Sangemdoko. For most of us it was our first game jam. It definitely is the biggest game jam we have participated in so far. We had 72h to make anything, which made it quite exciting.
As soon as i woke up on the first day, I checked the theme of the jam which was “Life is currency”. At first I did not have many ideas but after a couple of hours of brain storming I had three ideas. Capturing and selling live animals to survive. Killing the animals by mistake would make them worthless. Managing a hotel where you need to sacrifice specific families to the dark lord. Doing so increasing the hotel size and lets you have more customers. But careful, killing too many families too fast will raise suspicion. You control a vampire who needs to drink blood from live humans and use your “magical” blood to buy upgrades
Idea 2 was the most interesting one but also way too complicated for a game jam. Especially since I never developed that type of game before.
By that time the others woke up and we started brainstorming together. After a few hours we finally agreed on an idea. A puzzle game where you sell your soul to the devil to escape a series of rooms. From there we all started working in our respective roles.
Here I will go over the Unity/scripting side of things since that’s what I personally worked on. There are a few things that I wanted.
- Controllable volume for sfx/music (I try to do this for all my games)
- A pause button/menu
- Scene transition with fade in/out animations and audio
- Build for browsers Webgl/HTML5
- Character Gameplay
- Interact with objects (activate mechanism, open door, pickup object)
- Get damaged
- Talk with the devil
- Buy upgrades/events
- Make enemies that follow you
- Devil Dialogues
- Trigger Dialogues at any time
- Trigger Dialogues when entering a room
- Have specific dialogues for each room/Items bought
- Trigger events from the Dialogues
I think the most interesting part of this game is how the dialogue system works. I made it from scratch during the jam and the way it works is fairly simple. Each Dialogue is formed of string arrays. And they are stored in a Dictionary where the key is a string “id”. Each element in the string arrays is one dialogue box text. Everytime the player hits “Next” the next element in the array is displayed.
It is pretty straight forward so far. I start a dialogue with a key and I continue the dialogue until the dialogue array is empty. So now I can have a trigger collider that triggers an event that starts a dialogue with a specific key when I enter a room. Now if I want to start a dialogue at anytime with a click I have a function that checks what is the best dialogue I should start. The criteria are the current room I am in and the upgrades owned, it could be much more complicated than that.
The other thing I implemented is triggering events from the dialogues. This is done by parsing each dialogue line and checking for specific set of special characters in our case “&\”, the rest of the string is a function name which I can be invoked. In our game we use it to open/close the shop and some other things too.
I think the rest of the game is fairly straightforward to understand. We used all the 72h we were offered and the more I worked the more tired I was getting. I think on day one we had the first two rooms with just the spikes and lever mechanism working by that point I had barely started the dialogue. By day two I worked a lot on the dialogue stuff, the shop for upgrades and we finally had our own character animated. At the end of day two we had 3 rooms. On day three we started putting everything together. I added the UI sprites, made the end screen, made the last two levels, added enemies… and at the last minute we added the dialogues… before that the dialogues were random stuff I had written to test out the system.
It was pretty crazy but we were very pleased with the result. There were a few things we did not have the time to implement. Such as blinking the character when taking damage, adding more rooms, balancing the amount of hp, adding more interesting upgrades/shop items, etc… We took so much time making the system and art that we barely focused on the actual puzzles so they ended up being very simple.
I hope this was able to give you some insight on our game dev experience and made you understand how the dialogue system worked. If you have any other questions feel free to ask by contacting us via email.
We are looking forward to our next game jam… although next time we will definitely choose something easier and quicker to do so we can spend more time on the polishing phase.