Welcome to TK's Web Quest, now fully independent! // Check out some photos of the fall colors from Guanella Pass in the blog! // Now built with 11ty! // Try our new Midnight flavor! // The Worst Webring: Additional slots now open! //
Welcome to TK's Web Quest, now fully independent! // Check out some photos of the fall colors from Guanella Pass in the blog! // Now built with 11ty! // Try our new Midnight flavor! // The Worst Webring: Additional slots now open! //
blog/2026-07-31-arg-devlog-prep.md

blog entry

Next Games Project Devlog: The Preparation

Permalink for Next Games Project Devlog: The Preparation

Putting the pieces together to make PS Bazooka

Hello from the past! This is TK circa June 25th as I do the prep-work for my TWG Game Jam 5 entry. I'm writing the post early, but publishing it after the jam so that folks have a chance to play the game before reading the devlogs.

NOTICE: This post will spoil my entry to the game jam. PLEASE play it first. I'm not talking just mechanics or story, but the entire premise is important to go into blind. Even as the "spoilers don't matter" guy, I implore you. Please play the game first and come back. The blog post won't go anywhere.


The Concept: Permalink to this heading

Okay, I hope there's been enough space for you to go play the game first. The game I want to make for this jam is an Alternate Reality Game, or ARG. The general idea of an ARG is to create a bunch of cross-media puzzles that require cryptographic know-how to solve. Clues are not provided in plain text and keys often need to be obtained or used in unique ways not typical to "normal" games. The narrative object is to create a world in which the events and puzzles included in the game are "real" to the alternate world the game takes place in. This is a sort of kayfabe, an agreement between the puzzle creator and the players to treat the puzzles and story elements as "real" within the bounds of the game. The fact that it is a game is often not mentioned at all and the developers do not acknowledge players' actions as if they are players, but rather as real people inside the fictional world of the game.

Due to the nature of this game being made for a game jam, I haven't and won't pre-write any of the story elements. I want to tailor these narrative elements to the prompt. I am, however, doing some prep work for the game by setting up the general architecture I'd like to follow and doing research on the kinds of puzzles I'd like to implement in the game. This doesn't represent a meaningful percentage of the work on the game, simply some small scale tests to make sure that the puzzles I want to create are in fact possible with the tools that I have.

The general shape of the game is a diamond style branching set of puzzles. The clue order is not completely linear, but it does give the player a few things to work on so that if they get stuck in one place, they can go somewhere else then come back later. See the diagram below:

                         /=> Branch A => Key 1 =\
Start => Intro Puzzles =|=> Branch B ==> Key 2 ==|=> Finale Puzzles => End
                         \=> Branch C => Key 3 =/

The Puzzles: Permalink to this heading

I want to have 20 steps in total, so 4 steps for the intro, 4 steps per branch in the main game section, and 4 steps in the finale. Here's some of the puzzle ideas I'm thinking of.

  • Steganography: the act of hiding text, images, or other information inside of another file type. Here I'd like to hide information inside the spectrogram of a piece of audio and as hidden information inside of an image using last-bit image steganography.

  • Hidden/misleading QR Code: I want to hide a QR code inside another game, or maybe use it as a launching point for the rest of the game. PICO-8 will probably work for this because it's web-embedable, multiplatform, and I already know some of how to make a game in the engine.

  • Web Server Exploration: I want to set up a raw directory of files with fun and interesting stuff for the player to look at. I don't want to make it a huge sifting puzzle, but some extra fluff would be cool to maybe hide the next steps.

  • Email Auto Response: Some of the most fun and interesting ARG mainstays are texting, emailing, or calling real life contacts. An auto-answer phone for text or calling sounds expensive, but I can roll new emails pretty easy...

  • Audio Editing Puzzle: Since Reaper and Audacity are free, I'd like to record and mess up some audio in some way, then have players "fix" it to uncover a clue. It might be reversing audio, rearranging clips, or adjusting pitch. Maybe even using a noise reduction effect to make something more audible.

  • Misdirected webpages: Now that TK's Web Quest is mostly written by hand, I'd like to send people to a page that looks like a normal page on the site, but has something wrong with it that turns out to be a clue.

  • Standard encryption: I don't want to make puzzles that are too hard to crack, but I do want to use the game as a slight teaching tool. Using some public-private key encryption might be a fun thing to add.

  • "Prototype" project: I'd like to hide more information inside a second game file. I've been meaning to learn how to make DOOM levels. This will be a good excuse and might offer some fun interactions.

  • Image location metadata: A classic of any ARG, using the EXIF data of an image to hide clues. Might be tough to signal to players, but hopefully I can find good ways to hint at it.

  • Book/Blog Cipher: Another classic obfuscation technique, a book cipher hides information based on a book or publication held in common between two ends of a secret conversation. In the modern age, this common document could be a blogpost, with page/line/word markers replaced by paragraph/word/letter ones.

  • Timestamps: A sort of book cipher for audio. A timestamp can have players looking at other audio that may not even be controlled by me for a clue. Maybe that clue could be used with one of the other puzzle methods to become something more.

  • Multi-part key: A key to a puzzle that requires multiple pieces in order to function.

  • Console Commands: A staple of gaming from a bygone age. It would be awesome to somehow set up a console to take a custom command in one of the video game portions of the ARG.

  • Konami Code: Maybe not the actual Konami Code, but a series of button inputs to unlock something somewhere would be awesome.

Research Time: Permalink to this heading

Alright, so I've done some research, time for findings so that I can plan this thing:

  • Email auto replies are going to be easy. I can set up filter rules on new purelymail users that send one reply normally, and other different replies when a phrase is sent in the subject line.

  • There's an open source image steganography utility out there that is multiplatform. OpenStego. This will be perfect for the image steganography.

  • REAPER is free for the audio editing puzzles. I might need to include a short guide on using it in the game documentation

  • PICO-8 will let me encode a QR code in the sprite sheet pretty easy. Maybe set up a fake crash with the QR code displayed as a "support" link?

  • Ultimate DOOM Builder supposedly runs on linux. Might be worth a look.

  • The public IT-Tools instance has encryption utilities. Maybe doing a standard encryption with a key would be better than public/private key pairs.

  • DOOM had a console. I bet the doom level builder will let me utilize it.

  • I could probably set up the button combo code in PICO-8, but I wonder if I could do it on a webpage using javascript? Maybe there's a snippet out there already.

  • 7-zip has an archive splitting capability. I bet I could put a text file into an archive and split it using that multi-archive option. Without all three archives present, the key would be unreadable.

  • I'd love to utilize a timestamp for the podcast episode that the jam is based on for at least one clue.

  • With TK-web's current setup, web server exploration and "corrupt" fake pages shouldn't be too bad to add.

About the author

TK

Writer, woodturner, photographer, podcaster, and game designer making cool things on the internet.