Reverse Quest began with a simple idea that my friends and I, and I'm sure many other people, have thrown around for a long time. What if it was a Zelda game, but you have to put your items back. It is such a simple idea, but I find it incredibly evocative, and "Sacrifices must be made" seemed like the perfect theme to finally use the idea. I finished the game after 49 hours, and feel very good about it, and the amount of stuff I was able to make without sacrificing sleep or food or anything like that. The final game looks like this:

You can play it here: https://ldjam.com/events/ludum-dare/43/reverse-quest
Every time I do a game jam, I try to come in fresh with a few goals. Sometimes, it is as simple as learning a new tool, like how my last game was a learning opportunity for Unity's new ProBuilder tool. Sometimes it is do try a new design pattern to see what works. Other times it is to optimize my schedule or figure out what good scope looks like for a Jam. For this Ludum Dare, I had been playing a lot of NES games on Switch Online, so was really looking into that sort of scope of Zelda 1 and Metroid as a goal. In addition, I had just recently learned about Scriptable Objects in Unity which really open the door for good design practices.
With these two jam goals in place, I decided on a schedule.
Day 0: Brain storm an idea for each of the possible themes.
Day 1: Choose an Idea, Create mechanics. Only make levels for testing.
Day 2: Content and Polish.
Especially as a solo dev, I have found that programming all the way up until the end is just asking for trouble. If I am making new mechanics 6 hours from the end, then I have done something wrong. By creating the tools on the first day, I have found that I can keep my scope in check and deliver something that I feel good about. For this jam, I would spend the first day creating the jar, and the second day filling it with something (hopefully) delicious.
As soon as I grasped onto the Idea of doing a reverse Zelda game, I started making some art. I knew I would be using Unity's tilemap, so I had to figure out what would make for good assets using that system. As I am not primarily an artist, I decided that all of my assets would be using an 8x8 grid. Having just played through Zelda 1, it felt a little strange to be using half the resolution of such an old game, but doubling that would mean 4 times the pixels that I would have to place, and that would also mean there is more importance on that sprite looking good. I felt that as long as could get the characters and tiles feeling evocative of what they are supposed to be, then I am good; Therefore, I create the main character, a skeleton enemy, a bush, water, and a cliff. If these didn't look good, I would have to start thinking larger. I then made them interactable, putting collision and different layers on the cliffs and water, a simple movement script to go on the player, and easily breakable bushes. After 4 hours, I had this.
It was fine! I can tell what is going on, I showed this image to some friends, and they could as well. I could walk around and swing my sword and hit things. Before even going to bed for the first night, I had something playable which I feel is always a good goal.
Sleeping is important. I now know how my character moves, and what the basic world interactions are going to be, so I wanted to brainstorm the full list of interactions so I could start thinking about how I would implement those ideas. Basically, I wanted to know my scope before turning in for the night. I decided on 10 hearts, meaning I would need 7 places to return hearts to to reach the classic 3-heart starting point of a Zelda game. I decided on two weapons, so I needed two dungeons to return those weapons to. I wanted non-linear connective tissue to hold the game together, so an over world like the original Zelda seemed like the way to go. I would need obstacles, so I decided on two enemies, eye switches for arrows to hit, and breakable objects for swords to hit. Perfect, 2 weapons seem very doable since I already had one. 2 enemies seemed good, as I already had one. An overworld is easy enough, I could just expand my test area out in all directions. 2 dungeons and 7 mini-dungeons I was not as sure about, as those would require differentiation and a unique feeling to each to not just feel like padding. Overall I was satisfied with the scope, and was ready to start in the morning.
As I began piecing the game together, I began to explore the ramifications of the concept. What interesting gameplay can emerge from losing items over the course of the game? Hot off the heels of playing zelda 1, I admired how the world slowly expanded as you gained more items and more power, but also how just gaining more health and confidence in the mechanics did the same thing. You could truely explore in that game, and get to dangerous places before you were really ready. Losing power over time felt rather counter-intuitive initially as the game would be sealed off and more restrictive as you go by necessity, but then I thought about how to use that to my advantage. The answer I came to is that it allows for an ever escalating difficulty curve as well as an avenue for organic optional difficulty. Players of any Zelda game have the choice to not pick up any new hearts to do a sort of challenge mode, so i decided that you should be able to go down to 3 hearts before any of the main dungeons, In fact I decided that this will be the way to activate "Hard Mode" and thus how you 100% (Or in this case 0%) the game. So I have my structure, the game should increase in difficulty whenever you return an item, but you should be able to choose to play the game however you wish.
My main task then became to make it playable from beginning to end. I created all the code required to strip items from the character and placed them onto a map. Once you got rid of the items, the gate to the end of the game should open up and you get the end screen. Once that is in place, then I have a minimum viable product and won't feel to bad about releasing. All of this meant that I made two levels on the first day. The intro:
Which is a simple temple to present the premise of the game and prove that the player knows the controls was the first to be created. The second, which felt counter-intuitive, was to create the connective tissue of the game, the overworld.
Entering any of the dungeons or sub-dungeons would give up the corresponding item and spit you back out into the world, and 24 hours after starting the jam you could play through the entire structure of the game. My final task before sleeping was to come up with my plan for the final day. 9 new scenes would need to be made, which felt like a lot and I may have been starting to panic. I narrowed the list, and hooked up all logic needed for those new scenes before going to sleep. Triggers were set up to prevent reentry after completion of a level on the overworld, so what I was left with was that fully functional jar I mentioned before. I had a concept for each level, and perhaps a few scenarios to go with them as well. The final day was going to be hard. Here is that final brainstorm:

Keeping with the idea of completing the minimum viable product, I began with the two main dungeons. The concept would be that you would return the sword in the Temple of the Serpent, and the Bow in the Temple of the Eye. But my game is non-linear, so I decided that each dungeon would require the item that you turn in at the end, but be a lot easier if you also had the other weapon. This introduced a problem which I will talk about later, which Is that I was already running out of ideas for scenarios. You could smash pots with a sword and shoot eyes with a bow, but that was it. There was no other thing you could do with one that you couldn't with the other. I will talk more about this later, but I believed I may have underscoped in terms of mechanics. So quickly I added in a new enemy type, a bandit who would throw daggers at you. I figured that you could take them out at range with a bow, or you could sneak up on them to get easy kills with a sword, so I felt that I could solve two problems with this one new feature. After completion of the two main dungeons, the tension just left my body. I'm practically done. Anything that I add after this point is extra, and was not needed to fulfill the promise of the game. Now I could have fun!
The final stretch of this jam was the most fun to me. At this point, I had no more "requirements", and could just go nuts. I had about 6 hours left, so I just started creating. I started with a level which was basically an homage to Zelda 1, I gave myself leeway to add new mechanics like locks and keys, or killing certain enemies unlocking certain doors, or I event modified a goo enemy with different stats to be a boss. I just had a blast with the whole level.

I then made a few levels designed to be mazes, one was literally just a maze. These came with the intent of being the "baseline" for what a level would look like in the game. An area with a unique feel, perhaps a new or modified piece of music, and some new or recolored art assets.

The final kind of level I made were the challenges, these were either puzzles or gauntlets that would test the player, and would probably require a weapon. For instance, I wanted to mix up the mechanic of shooting eyes on the wall by making them move, or obscuring them.

In the end, I am quite happy with where the game ended up. It was not without its struggles, and were I to do it again I think there is plenty I would have done differently. Overall I was left with a few main takeaways to bring into the next jam:
The negatives:
- Figuring out the exact right scope is hard. I think in this case, it was unbalanced and I had to reevaluate mid way through. There are only so many interesting combinations of game elements, and I would have run out of ideas had I not broken my initial scope. In the future I will try to think more about these sorts of reusable elements more.
- My most interesting stuff became the optional content. I guess if I had had another 12-24 hours (and didn't have to work in the morning) I would have gone back in to polish the intro and two main dungeons as those are what every person will see. It just feels a little bad that the earliest, and weakest parts, are what the most people will see. Maybe this is just one of the problems with creating games this non-linear in a game jam setting though.
- After creating most of the game, I determined that the movement might be a little floaty, and stuff like aiming might be a little un-intuitive. This is hard, because changing the foundation of the game so late may break everything that is stacked upon it. I would have to re-balance everything. I would have to playtest to make sure everything still works. I think I missed one of the first steps that I always try to do which is to make movement feel good as the first step to the game. I think I succeeded on getting the rest of the game around the player to feel good, but I could have done better on the actual controls and feedback of those controls.
The positive:
- Plan ahead for the next day. It is really easy to just start improvising, and sometimes that can be good, but I think most of the time it leads to scope creep and problems keeping your game cohesive.
- When working solo, maybe art does come first? I could easily have started with capsules attacking cubes, but I don't think it would have sold the concept of the game as well as it did in this case. I even got a music track written out very early just to get my brain churning.
- Build tools first, then use them. Once I figured out how to create a level for my game and made that easy, I could crank these things out like they were nothing. In the beginning of production, everything is experimental and you don't know what works well for your game. By the end, you have had 30-40 hours with the game and know exactly what works and doesn't work.
And that is all! Hopeful anyone who got this far gained some sort of insight. Please leave me a comment on my game, I love feedback (Make it harsh!) Also I love writing pieces like this, so I would love to talk more about my process or what the rest of you have found to work. Time to get back to playing all of these wonderful games!