Super Treasure Hunt - Postmortem
I started game development at the very beginning of 2020. I wanted to try participating in a game jam eventually, but had to gather my courage first.
Gameplicit game jam (https://itch.io/jam/gameplicit-game-jam) was a convenient choice for my first jam, as it was a small, Hungarian jam (I have no difficulty communicating in English, but being able to communicate in my mother tongue gives me an extra sense of security). It was good to concentrate all my creative energy and productivity within a small timeframe. I found that I can deliver a lot more if I have a time limit, just like in university. I will definitely participate in future jams as well.
Theme and setting
The theme of the jam was Inconvenient Superpower. Luckily, there were some optional extra challenges to narrow the scope which helped me a lot. There were two that helped me coming up with my theme. One was the inclusion of obstacles in the map that the player can destroy, another one was a shrinking map. This gave me the idea of a superpower that can destroy obstacles, but as an „inconvenience”, destroy other, random elements of the map, thus making it smaller.
Another extra challenge was the inclusion of water as either decoration or game mechanics. I would love to create a game that uses fluid physics, but my knowledge about this is very limited at the moment. Still, the idea intrigued me, so I decided to use water as decoration, and hoped I will have time to create a shader (due to the time limit, I ended up using one from the asset store). This way the setting of a Caribbean island was born, and from that the pirate fantasy is only one step away.
Gameplay loop
I wanted to keep the scope small, so I decided I go with a player vs. environment approach. Having some enemies would have been fun, but my priority was to create something that is finished and whole, so I needed a “minimum viable product”. I had two challenge factors: one was the pair of the obstacles and the shrinking map, the other was a simple timer.
I made the game in 3D because I have more experience in that. I really love 3rd person view so I wanted to go with it, only to realize it would require me to have a proper player character, which was obviously out of scope. I took a risk here and changed the camera to 1st person even though this can make platforming more difficult.
The gameplay was simple. You have a goal you need to reach within the given timeframe and you are hindered by the obstacles and the randomly disappearing map. If you are lucky you just need to turn around, if not, it may happen that the very object you are standing on disappears next, and you fall into the water, which is an instant loose.
More extra challenges
As I mentioned before, there were extra challenges one may or may not include in the jam game. I ended up including a total of 8. Some of them were graphical (eg. the inclusion of water or using some of my photos as textures), but there were a few with game altering effects, like the ones that helped me finalize my theme. I would like to highlight here one which intrigued me from the very beginning and I am proud that I solved it, even though not in a very elegant way.
The challenge required restarting the game from where the player died. In an ideal situation this means saving the coordinates of the player at the moment of death, and after restart loading these coordinates as starting coordinates. But in my game the player could fall into the water. What coordinates do I store in this case? My solution was clunky, simple, not perfect, but it worked. I created about 30 spawn points on my map, the first point always being the original starting position. When the player died, I check which spawn point is the closest, and if the player chooses to start the game from where he died, I moved the player character there. This “respawn system” allowed me to make the map a bit more difficult, as well as opening up some of the other extra challenges. One was the inclusion of an Easter egg in a hard-to-find place, as well as rewarding the player for a “flawless victory”. The way I combined these is that each respawn gives the player a penalty point which disables flawless victory. the penalty points can be deleted by restarting the game from the original starting position. If the player manages to complete the level in one go, a bonus item spawn on the map at a somewhat secret place, which can be obtained from the next playthrough.
Building the game and refining it on the go
Once I had my theme, I started the actual production. I used Unity and C#. I made a list of all the functions I need to have and broke them down into smaller segments that I could translate into code. I could use some scripts from previous projects which was a huge boost. I finished the prototype around early Saturday afternoon. I also made a very basic menu, I try to force myself to include one in all my projects.
My second task was to create the map. I had a few map elements (stones and bridges, mainly), as well as the obstacles. I also wanted to have some parts of the map that cannot disappear, so I used the terrain tools in Unity to create a volcano to the middle of the map. This also made creating the map much easier: the player needed to get around the volcano to get to the treasure. One route was shorter but included more obstacles, the other was longer, but with less obstacles and more walkable area. After a little bit of playtesting I realized getting to the treasure within the time range was rather easy. If a road became totally destroyed by the random disappearances, the I had the time to just turn around and reach the treasure from the opposite direction. The disappearing walking surface was more challenging than the time. I could just reduce the starting time, but instead I altered a code a bit, so when the player destroys an obstacle, the remaining time would decrease by 10 seconds. This resulted in 2 negative consequences of using the superpower: on the one hand, a random walkable surface disappeared, which could happen anywhere on the map, so the player might never be aware of it. On the other hand, there is the time reduction penalty, which is something the player notices immediately. This latter effect limits the number of power uses, so it requires the player to think a little bit when planning their route, while the former effect gives a randomness to each playthrough.
On Sunday afternoon the game was basically ready, at least functionally. Some effects were missing (smoke for the volcano and lights), the decoration (palm trees and the boat) and the sounds. I tried to keep a bit of time for the sound effects and music as I think good sound design can really improve the atmosphere of a game. I wanted to set the tone with the sound of ocean waves. I also wanted sounds as feedback: using the power, destroying an obstacle (these are separate, as you can use the power without actually destroying anything), winning, losing and falling into the water. Later I added a seagull that squawks at random times, and added a fast and happy pirate music which emphasizes the urgency associated with the timer and the decreasing map. Balancing the sounds proved to be a bit difficult and since I was very close to the deadline, I deleted the failure sound and relied more on the splash that can be heard when the player falls into the water.
Lessons learned
Overall, I am very happy that I joined the jam. I like when the creative process is restricted by a theme and a tight time limit. It raises adrenaline and increases focus as well as the creative power. I am familiar with this type of working process from short story writing, and glad that this approach works in game development as well.
My takeaways are the following:
- If you use a mouse have a slider for mouse sensitivity!
- Volume sliders for effects and music are not necessarily needed, but when you need to optimize music volume against the effects, it can be easier to pass this task on to the player
- Visual consistency is especially important! I used photos of real surfaces as textures, and sometimes the resolutions were very far from each other, thus resulting in huge differences in detail. Also, try to stick with a consistent graphical style. I used some low-poly palm tree models because I had those available, but together with the real-life textures they became very out of place.
Get Super Treasure Hunt
Super Treasure Hunt
First Person Platformer
Status | Released |
Author | Bence Mervay |
Genre | Platformer |
Leave a comment
Log in with itch.io to leave a comment.