Adventuron Christmas Game Jam Post-Mortem

Save Bigfoot’s Christmas was my entry to the Adventuron Christmas Game Jam, creating a classic text adventure using the Adventuron text adventure engine. The main constrains of the jam is that the text adventure needs:

  • all rooms to have a graphic
  • at least 4 puzzles
  • a definite Christmas theme

Beginning the Design

Trying to juggle this with the other jams and projects that I tried to jam into December was quite a struggle, and I think that the level of polish at the very end shows. I was able to save a lot of time with a lot of repeated graphics assets, and I was very happy with the EGA pixel art that I was able to create for it. I am still a very novice pixel/retro graphics artist, but absolutely love the practice and the craft.

What saved an immense amount of time with the very constrained time that I had to execute the game within the month was planning out every logical detail on paper first. I was able to jot down my ideas throughout the day and work most of the logic and design details on paper first. When I got a chance to sit down at a computer, I was able to really crank out the implementation.

Programming the Adventure

Much of the game programming was fairly straight forward – create the rooms, populate the items, scenery and variables. Several puzzles presented new challenges that I had not encountered in Adventuron before:

  1. The woods maze – I wanted a classic maze screen where the player would need to know the correct route from somewhere else in order to navigate it. This was easily accomplished by using the “on_command” block within the location description, looking for the North, South, East and West commands. The first one in the maze increments a math_path_traversed integer and each subsequent command checks to see if they are on the right step when each command is triggered. It is incredibly frustrating to have to enter these multiple times, so I made sure to add in a boolean check once the maze had been completed once so that you would just bypass the maze with a “You successfully navigate the maze” statement. To make it a little bit harder to brute force, I adjusted it to take two wrong steps before you are sent back to the beginning of the maze with an error message.
  2. Changing the scene – there were many rooms in this adventure that change appearance multiple times throughout the game. A visual that corresponds the current state of the room is very important for the player to grasp the current state of the game and the puzzles in the room. I utilized two commands for this – for the house with the toys, an if-then block within the house png_64 asset overlaid the items transparent png in the locations base64_png block. For the other states, trigger commands use the set_graphic command to change the graphic for each location to the updated state.
  3. Sound – I attempted to add a little sound to the game through the built in success/failure sounds and the “beep” command. I had a little throw-back to some of my earliest computer programming in the early 90s: figuring out how to make the built in computer speaker make different tones to piece together a song. Overall, I think the sound came out kind of sporadic. It’s used in a few too few places, so it’s kind of jarring when it does appear.

Debugging – One of my most difficult parts of the programming (especially for the jam time crunch) was anticipating all of the possible commands that people would enter in and make sure there were no really odd responses. There were a lot of objects to deal with in this game, and many were working all concurrently, so there were a lot of interactions that I missed. I didn’t have nearly enough time or playtesters to put the game through its paces. Some common big areas that I missed the first time around:

  • Accounting for players that drop items in places and then need to pick them up. A lot of my specialized take commands did not account for the fact that the actual item might need to be legitimately picked up from a place it was not created. This was easily fixed but tedious as I needed to back through all of my take commands
  • Accounting for similar items in multiple places – there were many trash cans, cans, and other items strewn around all of my maps. During the initial implementation, it seemed like they would all operate separately, but such was not the case. When you have similar objects in multiple places, you need to take extra care in all of the examine and get commands to make sure each is taken care of when each is in the other locations. This includes all of the possible ancillary objects that share a similarity with some of the main, interactable objects. If you have a item as a main puzzle object, make sure every screen with that same type of object is accounted for in examining, taking, and dropping.
  • Transcripts! I didn’t even realize this feature existed in Adventuron until one of my fellow jammers Errol so graciously offered to give me a transcript of his playthrough of my game! Just have your playtesters type TSTART to turn transcribing on and then TSTOP to download and end the transcription. This is so invaluable for seeing what kind of vocabulary people use, where they get stuck, and what kind of edge cases you need to consider.


I was hoping in this jam I would be able to really cut my chops on learning some pixel art; however, with my free time constraints I didn’t get to do as much as I had hoped. I certainly improved over my last Adventuron game, deciding to utilize the EGA color palate to simplify my process a little.

I utilized the free, online pixel editor Piskel to construct all of my scenes. Highly recommended for a free pixel art app, it gives you easy control over the pixel with nice modern features such as layers. Another bonus feature of Piskel is that it can easily create multiple frames within the same file for animation. Now animation is not needed at all with Adventuron, but after seeing that it could export to an animated GIF, I wondered if Adventuron would support that. It turns out, Adventuron has no problem using animated GIFs as graphics!

This allowed me to create a very nice transition animation for the teleportation portal, as well as snow falling down in the opening and closing. If I’ve got enough time during my next Adventuron game, I would love to utilize this even more to really give the feeling of a living scene for each scene.

Pixel art scene of three campers around a campfire.
Pixel art scene of three heavy metal band members practicing in a garage.
Pixel art scene of a man putzing around his garage.
Pixel art scene of the elf teleporter room.

The EGA color palette harkened back to some of the earliest games I ever played: Sierra On-Line Adventure games. I feel like much of my writing channels the same kind of narrator from Space Quest or King’s Quest, so I decided to use a similar font: the zx-sierra-quest font by DamienG. I had a little problem getting the font to look nice until I realized I could adjust the line height using the “experimental_line_height_ratio” variable in the font block. Adjusting it to 1.25 make it much more readable.


After the voting period ended on the jam, here’s how my game fared:

CriteriaRankScore*Raw Score
Beginners Tutorial (Optional)#53.5693.769
Christmas Spirit#83.7153.923
Overall Enjoyment (not an average)#103.1323.308

It got 13 reviews and by the time of writing this, 73 browser plays. Comparatively, in the same time frame after release, my Last Night in the Office jam entry got 160 browser plays, so I definitely had a decrease in the number of eyes I was able to get on my game.

Overall, I was a little disappointed with my ratings, though I think a lot of it had to do with how rough the game was upon release. I had a lot less free time to finish this jam than I did the last Adventuron Jam, and was unable to test it well and check for a lot of the common bugs I talked about above. Had the current iteration of the game been my launch iteration, maybe I would have fared a little better. Next adventure game I make I will definitely put a lot more effort into getting play testers and getting transcripts from them.

Ending thought – I am so thankful and happy that Adventuron was able to allow me to release two completely finished games (however short they might be) in 2020. I have been programming video games since I was very little, but it has been many, many years since I actually finished one. I had truly forgotten how much I love making games and these past two Adventuron Jams have really inspired me for the upcoming year.

One thought on “Adventuron Christmas Game Jam Post-Mortem

Comments are closed.

%d bloggers like this: