itch.io is community of indie game creators and players

Devlogs

The Idea Phase

Central Paperwork Unit
A downloadable game

After just getting back from a trip where I heard about Austin's idea for Langjam Gamejam I have an idea in mind.

Some background info, of course when I first heard about it my mind immediately jumped to the Zachtronics series of puzzle games, as I've had the most fun and experience with those out of any other programming puzzle game I've tried.

I've also read a lot into how those kinds of technical puzzles are designed, but never put those ideas or concepts to use, so this will be the first. I have a physical copy of ZACH-LIKE which I will likely try to pull inspiration from during this jam.

Until we actually start implementing our games, I need to get up to speed with the tools and skills I plan to use: right now I'm looking at Godot (never touched it before!) for the 2D game engine and Python (expert) for my interpreter implementation. I'll probably use Krita or Aesprite for the initial game art - whatever turns out to be easiest for me to animate in. (Though I'd love to exclusively use FOSS software for this jam)

# Gameplay

My idea for gameplay started from Exapunks, where there are individual 'actors' (EXAs -> Office Workers) that execute their programming ("instructions" or the "code") in a predetermined or finite 2D environment.

The core 'actor' in CPU will be the employee - you hire and pay them, they execute the instructions you give them. Unlike the EXAs in Exapunks though, employees come in all varieties of skillsets and capabilities! Hiring the right workers will be part of the puzzle, and should help to open up the game to a larger variety of solutions.

In order to 'solve' the puzzle levels, you will give your employees instructions. Imagine writing an Ikea furniture assembly manual, you hand off the instructions to your worker and they follow it to the letter (most of the time!) throughout the day. There may eventually be some competitive metrics much like the Zachtronics series games, such as how many hours it took for your employees to complete the task and how much money your company had to spend paying them.

# Visuals

I had a few 'themes' in mind to make the experience cohesive, the three basic concepts I was choosing between were:

- Paper: this would be a white or off-white background with pen/pencil/sharpie/whatever writing. It would of course match the title theme very well, but would perhaps limit colorability (such as a dark mode)

- Whiteboard: this was my next step in thinking through the visuals - it allowed much more expressive colors and could be inverted for a dark mode. Unfortunately the whiteboard look is surprisingly difficult to replicate digitally, such as sheen and marker streaks.

- Chalkboard: this gives us dark mode by default, and still can be expressive with the colors. Notably this lets us be a bit more 'messy' with the art without too much effort into making it look like the right medium. We can replicate the look digitally using some noise and brushes in Krita

Alternatively, if art ends up taking too much time away from the actual implementation, I could just fall back to some quick low-res pixel art and replace it all later. In general I am aiming to have the game's UI heavily integrated into the theme.

# Programming

As is the essence of the Langjam Gamejam, I need to spend more time thinking about the language that you'll actually write to 'program' the employees in the CPU. My first ideas were line-oriented much like TIS/Exapunks, where there's exactly one instruction per line along with named 'anchors' for flow control. I want to avoid depending on or encouraging the use of line numbers, instead keeping the concept more similar to the "Steps" in an instruction manual.

Instructions will take time to either execute or read, after all employees are just humans. (right?) So flow control (jumps, loops, conditionals) can take time to execute, perhaps 1 minute out of the workday, but notably some employees might be speed-readers, or perhaps you've found yourself someone with a photographic memory to work for you. Employees can have different traits which will affect how the code you write executes, whether by execution speed or by the number of variables the employee can remember.

And when I say "execution speed", I'm referring to many things. One instruction of note would be the MOVE instruction, which quite literally instructs the employee to move somewhere, between desks, between floors of the building, or perhaps in the future even between buildings or vehicles. Some people might be fast walkers, runners, or good at driving. Some might be strong enough to carry two whole boxes of papers at a time, or maybe use a mail cart, or who knows! With an open-ended skills system we can more easily generate puzzles and even make one-of-a-kind experiences if we ever got that far in development.

# For now, before the countdown begins

But until we actually 'press start' on the gamejam, I need to brush up on my skills & learn the tools. I'll be experimenting with Godot and trying my hand at 2D animation to see if it's even feasible for me to do. Perhaps this post could attract enough attention that someone else feels motivated enough to work on it with me, but we'll see.

Leave a comment