We are a 3 person team. Here are our games so far:

Pre-Order and Beta Volunteers for 7 Billion Humans!

Our upcoming game 7 Billion Humans has just been made available for pre-order over here!


*** UPDATE ***

Thank you to everyone who has pre-ordered and volunteered for beta testing so far! We’ve begun trickling out beta builds to a few lucky(?) volunteers.

We’re looking for a broad mix of operating systems, experience with programming, age, gender, language, and other stuff, so don’t worry if the Beta Selection Bot hasn’t selected you yet! There are more beta volunteers than we can accommodate, so even if Beta Bot doesn’t draw your name out of the hat, we thank you for supporting us! And you can expect to have a perfectly polished pile of humans ready to play with very soon!

Kyle, Kyle, Allan, and Pete


And as we’ve done with previous games, we will select a few lucky beta testers from among the group of pre-orders. Want to be a beta tester? To help Betty the Beta Bot select the first few rounds of beta testers, PLEASE CHOOSE WISELY:

CHOICE 1: I pre-ordered 7 Billion Humans and would like to help beta test it! I understand that not everyone who fills out this survey can be selected, and that beta testing involves playing something that is not 100% ready, but I want to do it anyway!

CHOICE 2: Please tell me how to pre-order so I can click the first option!

CHOICE 3: I feel emotionally distressed, since neither of the above links apply to my specific situation, but I want to feel like I’m part of something anyway.

Betty the Beta Management Bot

HEY KIDS! Little Inferno Sold 1 Million Copies!

We’ve been so busy working on 7 Billion Humans, that we almost missed an exciting milestone last month: Little Inferno has sold over 1 Million Copies! If we include bundles, that number is actually closer to 2 million legitimate purchases of the Little Inferno Entertainment Fireplace – we hope they’ve kept everyone warm!

To celebrate we’re running a Summer in the Winter Sale on all of our platforms – starting today we’re putting Little Inferno and Human Resource Machine on sale everywhere (Thursday for the Nintendo Wii U and Nintendo Switch).

We wish we could visit everyone who bought Little Inferno and ask each person millions of questions – but until we’re able to do that, we thought we’d dig through the ashes and see what we could discover. Here’s what we found!

More »

Welcome to the Information Superhighway

In addition to wrapping up 7 Billion Humans, we’ve also been quietly working on another new game – currently going by the title “Welcome to the Information Superhighway“. (We last visited that highway a long time ago, in a very different game!)

This is shaping up to be one of the more game-like games we’ve made. We’ve got a long way to go on a long crooked road, but thought we’d update here as we discover more about it.

What is this internet highway all the kids are faxing about these days? Can I go on an incredible road trip and make lots of broken new friends along the way? Isn’t Tomorrow Corporation made of three grumpy old people who don’t know how to use social media? Yes!

Here’s some concept art for you to send to your dot matrix printer.

And you can sign up for updates on our upcoming games here.

Welcome to the Information Superhighway - Magenta

Welcome to the Information Superhighway - Cyan

Welcome to the Information Superhighway - Yellow

Retro Game Internals: Punch-Out Behavior Script

Last time we looked at match scripts which were the highest level scripts controlling opponents in Punch-Out. The basic function of a match script was to sequence opponent behaviors throughout the fight. Today we’ll dive into behavior scripts which are where those behaviors are actually implemented.

The following video shows an interpretation of what the behavior script for Piston Honda 1 might look like in something like plain English commands.

Animation Commands

Behavior scripts are in charge of sequencing animations in much the same way that match scripts were in charge of sequencing behaviors. The anim command plays a single specific animation, and the anim_rnd command plays an animation randomly selected from a list of 8 options. In the video above, whenever a random selection is made from a list of options, the chosen option is briefly highlighted in red. When Piston Honda throws his opening 2 jabs, he is using anim for each one. After that, he uses anim_rnd to randomly pick from a set containing 6 hook animations, and 2 empty animations. The result is that his third action will be to throw a hook 75% of time time, and to do nothing 25% of the time.

Animations will be played back synchronously from the point of view of the behavior script since the script interpreter is paused any time the animation system is not in its idle state.

Flow Control Commands

There are a few commands available to modify the execution of the behavior script itself. The pause commands can pause script execution for a specific number of frames, or a number of frames randomly chosen from a list of 2 options.

There are various branch commands available that optionally jump to a different part of the behavior script if certain conditions are met. The branch_rnd command has a specified probability that the branch will be taken each time it is executed. A special case of the probabilistic branch is branch_always which has a 100% chance of branching.

There is a simple looping mechanism built in to the behavior script interpreter that can be used to repeat sections of script a certain number of times. The set_loop_count command sets the current value of the loop counter. Then, each time the branch_while_loop command is executed, it decrements the loop counter by one and branches only if the counter is still above zero.

The final kind of branch checks the contents of memory to decide whether or not to take the branch. Piston Honda uses this branch_mem_test command to check if his most recent punch connected during his special behavior. Any time his punch connects, he branches directly to the next punch. If a punch does not connect, he uses a branch_while_loop command to keep punching only until he accumulates 5 failed punches.

Behavior Commands

There are 2 commands that behavior scripts can use to control the behavior system itself. The begin_behavior_main command is used to end whatever behavior is currently running and begin running the main behavior. This is different from a branch within the behavior script because the section of script that is considered to be the current “main” behavior can be changed during the course of the match by the match script (see the previous post about match scripts.)

The other command related to behavior is enable_behavior_change. Whenever a new behavior begins, it starts off in a locked state where any further requests to change behavior will be blocked. By using the enable_behavior_change command, the script is signaling that it is ready to allow other behaviors to happen. For example, in Piston Honda’s special behavior, the enable_behavior_change command is never executed and so if Mac gets tired during that time, the special behavior will continue to run. Knock down events will bypass this system however so if Mac gets knocked down during Piston Honda’s special, a behavior change will happen no matter what.

Up Next

With match script and behavior script out of the way, the final piece of the opponent script hierarchy puzzle is animation script. These are very low level scripts with a rich command set that run to implement the animations that the behavior scripts have been requesting. If you have any questions or comments, or you want to know when these (very infrequent) blog posts go up, please feel free to contact me on twitter @allan_blomquist

(Prev – This is part 4 of a series)

Welcome, all 7 Billion Humans!

Welcome, all 7 Billion Humans! We’ve been working on a thrilling followup to Human Resource Machine.

Finally! You can personally employ everyone on the planet inside your very own parallel computer made of people.

More info, images, and other fancy stuff here. For you Steam people, the link to wishlist and get more info on Steam is here. Coming soon…