Programming in games


Low Level Hero is a programming-puzzle game with only two commands: copy-paste and search-replace. It is inspired by TIS-100 from Zachtronics and the sed utility from Linux. This is my first game, made with Godot, and my first devlog. I want to mention where I'm coming from regarding this genre and how I approach my game. Please note the current version available for download is an alpha one, the design will most likely change.


I've always been fascinated by esoterical programming-languages. These are toy languages with a tiny syntax, not meant to be used for practical programming, yet allowing you in theory to solve a wide range of tasks, just like our high-level programming languages can. Due to their simplicity it's often easy to learn them, but incredibly hard to do even trivial things, like adding 4+9 and printing the result.

One such example is the sed utility from Linux. Although it is actually used in real bash scripts mainly for quick text manipulation, under the hood it is a small programming language. The two storage spaces it has, the old-style goto together with a powerful search-and-replace command, allow you to even implement a simple game inside of it, like the Tic Tac Toe I once wrote in it.


I never thought I could see programming itself, besides visual coding perhaps, as the main attraction of a game. But then I saw TIS-100 and I loved it, which together with the other titles from Zachtronics now define their own genre. I'm sure there are older programming games out there, but that's how I got into this niche category.

The main design principles I want to have in my game are:

  • A level must have multiple solutions, be open-ended: as long as the output matches the expected output the solution is correct. This is a core principle in all Zachtronics and similar games!
  • To avoid hard-coding the answer, validation tests should be implemented (coming soon in Low Level Hero). The only possible exception are the tutorial levels to allow the player a bit of a breathing room while the language syntax is learned.
  • The efficiency of the player solution (commands, instructions) can be compared to that of the developer and other players (the latter planned for my game). The famous histogram plot is expected for this genre, but I'm also looking into alternatives. Optimization is the main reason for replayability.
  • Those involved in the Discord community can share their own custom levels to other players, by using the in-game level editor. You can submit them for the core game, but I need to have ownership of these levels. Not being able to personally solve them isn't a concern :D
  • While the art could be lacking, especially for a first game, there should be at least a minimal story element. I haven't decided yet what this could be, more on this on a later devlog.
  • The game isn't explicitly an educational game! The programming language is made up by me, with inspiration from how the Linux sed utility works. However, the logical thinking requiring to combine the two commands to manipulate the input as needed is implicitly related to the task of problem-solving needed for programming in general.
  • Zach Barth made dozens of games over a lot of years, before he had any success. My first game(s) is more of an experience into game dev. If even a few people enjoy it, I'd call that a big success. I'm fortunate that the formula for this type of game is now known, I can only imagine the risk TIS-100 might have been at that time for the Zachtronics studio.

Lastly, I've been asked if the game will support regular expressions (regex) in the search-replace command. My goal is not to make a regex-based game or teach you regex as you play, see above. However, if you know regex you can still use it, most likely in a sandbox way, to be fair to the optimized solutions that didn't use regex. I'll discuss more technical things about the game in following dev logs.

TL;DR Low Level Hero is free to play on itch. I would greatly appreciate your feedback, if you've tried my game. This was an overview into my game project.

Files

Low_Level_Hero_Windows.zip 33 MB
Sep 18, 2022
Low_Level_Hero_Linux.zip 34 MB
Sep 18, 2022

Get Low Level Hero (alpha)

Leave a comment

Log in with itch.io to leave a comment.