Language Arts - Parting Thoughts

I entered IFComp 2018 on a whim. I was making a game with my kids and mid-way through I realized the format would work for the competition. I spruced the latter half up a bit and put it in. The game was written for kids in a kid friendly programming language, and so it got middling results. I left that competition wanting to try again with a similar, but more sophisticated game. The next game would show off my programming chops.

I’ve also long wanted to write a Zach-like game. These are games that you solve by writing programs. Examples include Exapunks , TIS-100 , Human Resource Machine , and Seven Billion Humans . To make it fit with IFComp’s standard of “text driven digital games,” I felt that I needed to find a way to make a puzzle game like this that involved text. What could I do to make the logic of programming fit with the utter chaos of English grammar? The elementary school rule of ‘i before e except after c’ came to mind, and Language Arts is basically a puzzle game built around the conceit of that rule.

There was a post the first day in the author’s forum about what we expected from our games. I replied that I had written a game that would appeal to a very narrow slice of an already very narrow audience. I knew this game would be inaccessible to a lot of people who come to play games at IFComp. I wrote the game for people with interests similar to my own, which is luxury I can afford in a game format not designed to generate income. I just hoped there would be a few people out there that would appreciate it the way @mathbrush did and agree with the Award for Most Satisfying Solutions.

I also want to write games that have fun game play. You can get plenty of think pieces from other entries here. I want to make things that truly feel like a game.

I think the results of the competition match my expectations… a few votes that really liked it and a few more that couldn’t get into it at all. I’ll have to console myself in taking runner up to the Golden Banana of Discord.

The Story and Setting
The story and setting in Language Arts is both a loving tribute to and a loving mockery of corporate America, and particularly the technology industry where I have spent the past 20 years of my professional life. It’s also set in the early 1990’s, as the UI is a tribute to Mac OS 7 (a convenient excuse to help me learn how to program in Unity’s UI framework).

There isn’t much of a story arc. The game mostly tries to explore six characters that represent common types you would need to learn to interact with in this world. There is -

  • The Southern grandmother receptionist that wants to mother all the younger employees, who doesn’t quite fit the corporate mold, and can be found adding perfuming to the company archives to make sure things don’t get too musty.
  • The corporate trainer who is so excited to have new batches of employees come through orientation that he names each class (this really happens) and sets up outside of work puzzle clubs so he can continue to keep in touch with his students.
  • The CEO who is full of excitement about his vision for shaping the future with new technology and about developing an exciting company culture.
  • The first-line manager of engineers who is eager to apply the latest management philosophy to foster a thriving work environment. Unfortunately, he has basically no idea what it is his engineer reports actually do.
  • The introverted co-worker who spends much of his free time memorizing things like the digits of pi.
  • The smart and outspoken co-worker who rolls her eyes a few too many times everyday. She knows she’s smarter than everyone around her, but still has to work her way up and is happy to help others out when she can.

You spend most of your time with your co-workers and boss, and they do develop a bit as time goes on. Lawrence gets more comfortable with you and if you are patient in listening to Anne, you’ll find out she sometimes isn’t as secure as she puts on in her public face.

Unfortunately, the game itself is so difficult that I think relatively few people get to see all of this. Of all comments I have received, only @Spike found Anne’s dialog where she opens up about her past. No one noticed that you can ask Lawrence to recite his memorized trivia at any time. I don’t think anyone even noticed what I think may be the most clever line in the game, which happens in the tutorial at the end of ‘Except after C’ and was probably seen by most people who played the game.

Also few people seemed to explore the UI. The calculator, help bubble system, ‘About This Computer’, and menu clock all have dynamic features similar to Mac OS 7. Few people used the Help command as the command line style manual that was there as a game reference. Not surprising for a two-hour driven contest, but no one seemed to pursue the achievements and hidden achievements system or the ability to create custom puzzles. The game just has more features than is suited to a competition like IFComp.

The Puzzles
For a game like Language Arts, you can’t just give the player the power of a programming language. It’s too easy that way. All the Zach-like games I mentioned above limit the features of the language so that the player has to use some additional creativity to get around the limitations. Language Arts is a bit unique in it’s limitations compared to these other games.

Usually a Zack-like game just limits the number of instructions available in the instruction set (this is what I actually did in last year’s game, which I titled ‘Instruction Set’). The game then runs the program that the player writes in a procedural (step-by-step) fashion. With Language Arts you are not allowed to write a procedural program. Instead you define a prioritized list of conditional state transitions. The big difference here is that you can’t track state (like variables) in the program itself, you can only manipulate the board.

This was probably harder on me as the puzzle designer than it was on the player. This restriction made several of the puzzles I wanted to create impossible to solve, especially before the game introduces the mechanisms for arithmetic and colors. I agonized quite a bit over the puzzles and creating an appropriate learning ramp for the player. In the end I’m not sure I quite got it right. If anything, the game needs a few more puzzles to make the ramp a bit easier - though this would just add to the required play time. It’s also true that the game really becomes satisfying for the player once you are comfortable with the language and have those additional tools available to you, something that likely comes after two hours of play. I hope more people give the game a longer try - I particularly like the logic puzzle level, and I’m sure few people have made it that far.

Responding to Feedback

  • The blurb was confusing and didn’t indicate what sort of game this was, the grammar was poor, and the blurb art was amateurish.

I didn’t think I needed to indicate what the game was about in my blurb. Right next to it were the words Genre: Puzzle, Zach-like and that is all you really needed to see to know what you are getting into. Compare my blurb to the Jobs Board postings for Software Engineers on the web site of just about any modern tech company and I think you will get it. I’m parodying those posts (many of which I have written over the years), and I think I get the grammar just right for that.

You got me though on the blurb art. I think someone commented that even a simpleton with MS Paint could do better. This is clearly not true, because this simpleton tried and you can see the result.

  • The game is hard to use because you can’t just enter your commands in a text editor-like interface.

I agree here. There are two reasons that I used a command prompt interface instead of a text editor interface. The first is that I thought it would feel more familiar to an IF audience. The second is that I estimated that it would take me around three months to write an IDE (that’s Integrated Development Environment - think Visual Studio) like text editor for this game in Unity. I didn’t have that amount of time. I implemented Copy and Paste as the best workaround I could in case people wanted to do their programming in another text editor first.

  • It wasn’t user friendly to tell the player they had to stop the paused program when they enter a new command when the game could just do this for them.

I bring this one up as it was a big learning point for me. Two of my three beta testers brought this up. I ignored them because I personally liked it better the way it was. I should not have ignored them, as nearly everyone who commented on the game also brought this up. This is the one thing I patched in the middle of the competition and it took me all of ten minutes to get it to work. (Well, it was one of two things - I also added the option to make some text bigger based on feedback.) The lesson here is to listen to your testers when they start outvoting you on interface issues.

  • Some of the later levels are easier than the levels before them (Homework in particular).

This is something I actually adjusted quite a bit based on the feedback from my testers. I originally did not have optional levels, and I moved puzzles around to try and get the order right. I also personally did not have the same struggles a lot of others had on Homework, so I missed this. More testers I’m sure would have helped. Also, it strikes me now that all three of my beta testers have a PhD in mathematics, and maybe I should diversify a bit.

  • The character portraits don’t look professional

My daughter, who is in middle school, created those and I wouldn’t change them for the world. One of the things I enjoy most about writing these free-time games is sharing them with my kids.

  • It’s not really IF, is it?

I actually hesitated in entering the game at first, but one of my reviewers pointed out that the criteria for IF Comp is “text-drive digital games” - and I do think the game fits this. If anything I like showing that IF can be more than it’s general public perception. I think there were quite a few games this year that thoughtfully pushed that boundary. Which makes me happy.

What Lies in Store

I hope to participate again next year in the competition. I have a fairly big personal project coming up next summer that will likely make it impossible to dedicate the time for a game the year after. I’ve messed around with the IF genre through parser games quite a bit with my last two entries. I think I’ll take a stab at messing around with the choice based format and see if I can’t put something together that is still different than normal expectations around IF, but perhaps a bit more accessible to a wider audience of players.


For what it’s worth, I loved Language Arts to death – I have played a bunch of Zachlikes so knew basically what I was getting into, and as I was playing I definitely shared your worry that a lot of judges wouldn’t rank it highly because it’s reasonably outside the bounds of traditional IF, so the ranking doesn’t surprise me though it is still a bit disappointing to me since it’s so well done.

As you say, the constraints you imposed through not allowing for step-by-step programming or variable tracking (beyond color) made for a really interesting puzzle space that’s distinct from the other Zachlikes. And the puzzles were very well put together – you completely nailed the dynamic I always run into in these games where I start out thinking “how could you possibly solve this?”, then I get an idea and try to implement it, and after a bunch of trial and error crowbar it into shape, and then realize that in the second or third test pattern there’s an edge case that completely breaks my solution and I need to rethink it again. The optional puzzles were delightful, too – I loved the maze, but especially the logic puzzle, which made me clap my hands in glee when I realized what it was.

I did rate it after two hours, but probably played 10-15 total to solve all the puzzles, some with more elegance than others (I’ve played most of the Zachlikes, but I wouldn’t necessarily say I’m good at them). I only ranked it a nine since at that point I hadn’t seen the later puzzles, or gotten as far with the characters, but right now I’d definitely call it a 10 (for what it’s worth, I did get Anne’s backstory and figured out the trivia command – and made lots and lots of use of the help function. And I got all the achievements except the custom puzzle one and the Word Count one).

There were a couple small interface niggles (those you mention, plus I occasionally had an issue where a long command would generate an error – usually from mis-counting parenthesis – but I would just see the red ^, without an explanation), and a few more puzzles would have helped with the difficulty curve (and been more fun!) I suppose, but really, this was a delightful surprise – thanks so much for making it!

(Oh, and the art was delightful too – kudos to your daughter!)