Three years of Adventure Jam. Part three: The Ransom
Adventure Jam 2018 presented me with a new set of challenges I had not anticipated. At first reluctant to join due to time constraints, I decided to team up with old friends and create a small game, optimizing our production by planning ahead as much as possible.
Needless to say, nothing went as planned. We had to adopt to unforeseen challenges and worked within our constraints to create a game that had potential but failed to hit all the marks we had set out to do. Nonetheless, it was a major learning experience – with the biggest lessons being shared in this blog post.
This is my third time writing about Adventure Jam. I have participated in this jam for three years, creating three games: Awake, One Of Us and The Ransom. My experiences creating these games were very different and valuable and I‘ll share my key takeaways for each in this three-part series. This post will detail the development of The Ransom.
Adventure Jam 2016 – Awake
Adventure Jam 2017 – One Of Us
Adventure Jam 2018 – The Ransom
Forming the team and concept
I had originally decided not to join the jam in 2018 because I had a trip planned for my birthday weekend and simply wouldn’t have the time. But when the time came, I really wanted to join anyways and decided to create a quick game in the first week of the jam and then go on a well-earned vacation to travel for the 2nd half of the jam time.
Since we had already worked together the previous year, I asked Torin and Felix to join the team again. Over time we were also joined by Owen, who we found through the jam discord, and Carsten, with whom I had jammed together a couple of times before. Before the jam started, we already came up with different ideas and threw ideas around.
Weeks before the jam I had played Hitchhiker at a game conference and was intrigued by the idea of confining the player to sitting in a moving vehicle. This is the short pitch for the idea I wrote to convince the others to make a game like this:
The passenger. The player is a passenger in a car (or I was thinking it could also a medieval coach, the setting can be changed). At first, we think we are just given a ride, but then the mood changes. The driver locks the doors. He is up to something, and it’s not good. Maybe we can’t unfasten our seatbelts. The driver is evil. And we are at his mercy. The player has to find a way to escape out of this driving vehicle and find out what the driver is up to.
We decided on this for its simplicity, but also changed the setting to a medieval coach. We wanted to limit ourselves to one environment and keep the number of characters to a minimum as well. After we decided on our core idea I went ahead and created a more detailed design and backstory, which we could use as a basis once the jam started.
After the previous years I did a lot of research on puzzle design and wanted to use the pyramid model – meaning that the player starts with a lot of different things to do, which gradually boils down to fewer, more difficult puzzles. Since we only wanted to use half of the jam time, we prepared as well as we could so all we had to do is pump out assets and put them together once the jam time started. This included asset lists, written dialogue, storyboards for the cutscenes and research into technologies we were going to use. The planning turned into a great learning experience for game production, even though (or especially because) we made a lot of mistakes and wrong estimates during this time.
Production
Since everything had been prepared as well as possible, we started the jam super motivated and started pumping out assets and content. We used the asset lists as guidelines and the puzzle flow diagram was a great roadmap for implementing the logic and puzzles. I had a printout of the flow diagram and crossed off the done parts after implementing parts of the puzzle
Torin quickly created the environment and played around with lighting. The idea was to create a circular path for the coach to follow indefinitely, making the player feel like the coach is continually moving. The task I underestimated the most was to make the coach circle around the environment using a spline system – I ended up doing it the other way around and making the environment circle around the coach. Since all the interactive spots and UI overlays were constantly moving, a lot of small artifacts started appearing and interactions were very jittery. Moving the environment around the coach solved this (while the environment moves, the coach is still rotated to match with its position on the path… a weird solution, but it worked).
Owen had been tasked with creating the horses and their run animation – something that took a long time and a lot of tweaking and is barely visible in the final game. Had I known that this would be such a big task, I would have scrapped the horses, found a simpler solution – or shown more of them during the game.
Since I was working on a first-person exploration game at the time, this proved to be a perfect opportunity to practice using some tools I had planned to use on my main game. This is why we did not use Adventure Creator for this game (like we had done for the previous titles), but used the “First Person Exploration Kit” from the Asset Store. This was cool to learn, but also meant that I was a lot slower implementing the puzzles than I would have been if I were using a tool I know well. All in all, implementing the first-person logic worked well – it was just very slow. Which is why we still didn’t really have anything playable after the first five days.
The following gallery shows the game at various stages throughout the development:
Talking to other jammers about our story and collecting feedback on the dialogue sparked the idea of changing the ending. Bringing the main character’s guilt to the end of the line, we included a small sequence in which the player would end his life by hanging himself (months later I realized that “hanging people” had unintentionally become a constant throughout all three games for Adventure Jam). This ending meant more assets, implementing movement logic and a whole new environment. Even though we kept it simple, it still took longer than expected.
Luckily the Voice Acting Power Squad agreed to help us once more with the voice acting. This time the recordings were not streamed online but nonetheless we received awesome voice acting for free – thank you so much! The script had been written before the jam and with my plan to be done within the first week, we sent the lines to the VAPSquad very early. This meant that we could not make any changes to the script after sending it to them.
Despite our best efforts, the game was not done after the first week. Most of the assets were, but the logic still had a lot of bugs. The game simply needed a lot more polish. In order to complete the game, I took my laptop with me on my vacation and worked on polishing the game while the others were sleeping we while we were in the train. I was able to finish the game in time, uploading it on the last day of Adventure Jam while I was travelling around.
Reception and takeaways
Since Jake Rodkin had joined as a judge for this year and I am a huge fan of Firewatch, my dream was to create a game that would at least be nominated to be played be the judges. This did not happen, but overall reception of the game was still quite positive – it was voted to be the 10th best game overall, 7th best music and #9 best storytelling.
Despite our best efforts, the game had quite a lot of bugs. The worst one caused the whole game to break – and was triggered whenever the player pressed the space bar. This cause quite a lot of stress and also ruined some Let’s play videos. Especially the one from Jupiter Hadley, which I had been looking forward to (The Ransom starts at 11:23, bug starts at 12:06):
One of the biggest problems was the way the story was told. Some parts of storytelling could be skipped over or were not explained properly. Plus there simply was too much of backstory, which meant that players did not understand what was going on. The relationship between the player and their captor was supposed to be quite complex and was told using subtle dialogue and small hints placed in the environment. Judging from the Let’s plays I have seen, players were more invested in the puzzles than in the dialogue and skipped it, causing them to not understand the story at all. This also meant that the story twist was often not even perceived and the ending made no sense to players.
Seeing this as a learning experience for first-person exploration, we learned a LOT. Telling stories in interactive settings is hard!
The puzzles worked well for the most part, but there were some parts where players frequently got stuck. Players are used to looking at what’s in front of them – finding the interactable spots behind or next to the player oftentimes took quite a while. We should have added hints or subtle nudges to suggest to the players that they should turn around more. The final puzzle was a bit too constructed and weird (players had to attack a nail to a stick and then use this to grab the driver’s coat through a window in a specific time frame) and also caused some players to quit the game. Finding the right balance in puzzle design is hard — practicing this in a gamejam setting is a very valuable experience!
All in all, Adventure Jam 2018 was full of valuable lessons to learn. Planning a production is important but will never be perfect. Seemingly easy tasks can and will take longer than expected. Interactive storytelling and puzzle design are hard and all about communicating clearly with the player – not hiding information from them.