Detour Prologue: The Biggest Gourmet

Earlier this year, Ben Anderson hosted the Heart Jam 2018

Our entry was The Biggest Gourmet.

The theme was “scarcity”, so the first idea I had was that you would be a blob creature running around in an underground area, trying to gobble up food before you starved. The character was going to start out in the biggest state and shrink down to the smallest state. The character’s face was going to indicate how long you had until the next time it shrunk down: happy meant the blob was full and didn’t need to eat for a while, and a frown meant you needed to find food fast. There was even a face with “x x” for eyes that would represent a character that starved to death, but this wasn’t used in the final version.

After I made the character graphics (the same sprites you see for the characters in the final game), and implemented the “blobby” animation, I realized there were a couple problems. First of all, the gameplay would be difficult to balance properly in the short time allotted for the jam. But more importantly: the premise was too grim for my mood at the time. So I flipped it around: instead of an avoiding-starving game, it would be an eating contest. But then what about the theme?

So instead of food being scarce, items you can trade for food would be scarce. It would be a scavenger hunt as well as an eating contest. One character would be offering a trophy to whoever could eat as much as they could, but eating that much would require scouring the level for food and trade items. (It’s left somewhat vague whether the other characters are even trying to get the trophy, or whether they’re just not as good at exploring and trading as the main character.)

The dialog and inventory systems took worryingly longer than I was hoping, but I think they were worth it. There are games where you wander around and trade items with characters, but not a lot where it’s the sole focus of the game.

Work on the final celebration scene started with just three hours to go before the deadline. I really like how it turned out. Good thing GMS2 has built-in firework effects.

At one point I was considering having the difficulty of a trade be indicated by the characters’ faces. A happy blob would be happy to trade, but an unhappy blob would be far less likely to trade, or would need more items, or would need specific items. This mechanic was scrapped for time, but if I was doing a semi-serious expanded version, this would probably be the first thing I add in after more randomization. In the final version, just one character wants one specific item.

Another thing we were considering was randomizing the locations and types of items. This was actually implemented for a while, then taken out. Without trade difficulty or more involved exploration, there was no point in distinguishing between most items except cosmetically. In the final version, there’s exactly one of each kind of item and food with only a couple of unused sprites. The appearance of most of the characters is randomized each playthrough.

With more time, there would have been a larger playing area (or multiple areas) and more exploration mechanics. You would be able to get clues from certain characters about how to get items you didn’t get yet. Instead, we left in one “illusion wall” that no one comments on, and otherwise everything can be seen clearly.

We found out too late that not having a controller plugged in crashed the original version. It’s fixed now, but according to comments on the jam page, this cost us a lot of votes during the voting period.

Probably the best part was how quickly the sprites, animation system, movement, and AI came together in the first few hours. I decided early on that the main character would be a blob that changed it’s xscale and yscale to simulate squash and stretch. (The secret sauce is: “image_xscale / stretch, image_yscale * stretch”.) Then I implemented a movement script that turned out to be simple enough that I could use it for both the players and NPCs, so that saved some time.

Working on The Biggest Gourmet was a lot of fun, but my frustration with how Game Blocks Alpha was progressing led to a detour that lasted months. More on that next time.

Posted in Uncategorized | Leave a comment

…And we’re back

The .com was down for about 9 months, but we’re back up. I’m planning a few posts to explain what’s been going on, and then finally revealing the new version of Game Blocks.

(The generic free wordpess blog has been up this whole time, but I didn’t really feel like writing unless the .com was up as well. So here we are.)

Posted in Uncategorized | Leave a comment

Achievement: Move Completed

In case you don’t follow me on Facebook, a few weeks ago I announced that we immediately needed to move across the country. We’re in our new house now, ~1000 miles from the old one, and progress on the Alpha will resume shortly.

We still need to do a little R&D (which was interrupted by needing to pack and/or donate all our stuff on very short notice) before we start the Alpha properly. But when we do, you can be sure that there will be video and screenshots.

Posted in Uncategorized | Leave a comment

What We’re Doing Now

So the Kickstarter campaign is over and I was going to make one last update to the prototype… But then I decided against it.

The “Indev” prototype was created in Gamemaker Studio 2 as a recreation of the previous prototype which was made in GMS 1.4. Although it’s compiled with GMS2, it doesn’t really use any of the new features. To make things worse, a lot of it wasn’t planned well to begin with and it just became harder and harder to add functionality as time went on. (Pros might recognize this problem as “cruft“.) By the time the KS campaign started, I was already itching to throw away most of it and start on the Alpha properly.

Then we actually started the Kickstarter campaign and I found not adding something to the prototype was more stressful than trying to get more attention for the campaign without doing any programming. So I made a bunch of updates in spite of the growing annoyances with the codebase and the fact that I would be throwing most of it away when I started the Alpha. This got us some attention, just not quite what we needed to make the goal. As the Kickstarter was wrapping up, I did want to finally add proper background images to the level editor, but as soon as the campaign finished, it kind of killed my motivation. Even if we had succeeded, especially if we had succeeded, I would have wanted to immediately drop the Indev version and start on the “real” version designed from scratch (more or less) in GMS2.

(Each version of Game Blocks, including the ones before we called it Game Blocks, has been built on some salvaged parts from the version before. Even “Shoot-a-ma-jig” started with a few scripts from another project. So no version is ever completely thrown away. Just the parts that need to be re-written from scratch.)

So instead of expending a bunch of effort on one last feature that will be added to the Alpha anyway, I’m going to spend the time doing some R&D instead. That means I’m in the middle of Ben Anderson’s Action RPG class and I’m going to finally do his Turn-Based RPG class as well. I’ve been itching to do the latter, but felt I didn’t have time because I needed to work on InDev and start the KS campaign. Now knowledge from both of them will be nicely integrated into the Alpha once I start on the Alpha.

We also need to start pitching to publishers again. So I guess I get on with that.


Posted in Uncategorized | Leave a comment

Version and New Trailer!


Indev Version

Toned down default custom colors. Saturation and Value now 210 for all default colors.

Extremely basic version of four player gameplay implemented. First two players can be controlled by two XBox 360 gamepads. Third and fourth player must be controlled by non-Xbox controllers or the keyboard. Why? Because we don’t have four XB360 controllers to test it with. Sorry.

Player 4 double jump crash bug fixed.

A few miscellaneous bugs fixed.

Known issue: because of the way Game Maker stores color data, moving the saturation or value sliders to 0 will reset hue to 0.


Posted in Uncategorized | Leave a comment

InDev Release &

Apparently I forgot to publish the first version of this post, so you’re getting two (EDIT: three) for one!

Indev version

Making the colored blocks broke ladders. Fixed now.

Indev Version

Fixed debug number in top left corner, should have been removed before previous version was released.

Removed slopes, slopes don’t work yet and were not meant to be included in the last release.

Added custom color blocks and a new row to the editing panel for the blocks.

Fixed bug with where it didn’t save custom block colors.

custom color editor coming, for now the default colors are:

H: 0 S: 255 V: 255
H: 21 S: 255 V: 255
H: 42 S: 255 V: 255
H: 63 S: 255 V: 255
H: 84 S: 255 V: 255
H: 105 S: 255 V: 255
H: 127 S: 255 V: 255
H: 148 S: 255 V: 255
H: 169 S: 255 V: 255
H: 190 S: 255 V: 255
H: 211 S: 255 V: 255
H: 232 S: 255 V: 255

Version has a background editor. Release notes:

Indev Version

Number of JumpPlusses and current used air jumps now part of the HUD.

Changed grav changer sprite so it’s much harder to avoid touching.

Finally fixed both space enemies so they now interact with blocks and mobs properly.

Changed space enemy sprites

Fixed crash bug with accidentally selecting invisible tool buttons.

Added background sprites.

Added Background Settings menu!

Use the Hue, Saturation, and Value sliders to adjust background color.

Use the Copy To All button to copy background to all levels.

Default background color now white because we are going to implement background sprites next.

Level boxes now show the background color of each level.

When adding a level, the background color is copied from the previous level.

Posted in Uncategorized | Leave a comment

World Editor Tutorial

Mark recorded a tutorial for the latest version:

Our Kickstarter is still going:

Also check out Blue Television Games’ preview:




Posted in Uncategorized | Leave a comment

World Editor Update! (

Change of plans: we are going to be updating the prototype. I was originally planning to focus on just spreading the word of the Kickstarter as much as possible one we started, but worrying about the lack of progress was really starting to cause me a lot of stress. So yesterday morning I realized that, even though I’m itching to call the prototype “done” and get to work on the Alpha, I needed to deal with the stress, and the best way to do that is to work on the prototype some more. It really did help a lot. I think I am starting to understand the whole “hacker zen” thing now.

So I added a world editor and a bunch of other new features. We’re working on some new tutorial videos and might do a second trailer.

Indev Version

All objects now have a new internal variable, though this is currently only used for doors.

Leaving the edit menu now deselects everything to avoid accidentally placing objects when
returning to edit menu.

Number of keys now displayed under hearts during gameplay.

Fixed locked doors not actually requiring a key or removing keys.

Fixed ice blocks unintentionally causing “flinging” behavior.


Add and subtract level buttons moved from level editor menu to world editor menu.

Slightly modified level increment / deincrement buttons added to world editor menu

Level select buttons added (one button for each level).

Edit Level button added to World Editor Menu

Number Stamp Tool added to Edit Level menu, along with a display for the number and buttons to change the number. Right click to “stamp” the number on a door.

Doors now, by default, send you to the next level. However, you can use the Number Stamp Tool to change the destination level.

Added Win Door. Press up on the door to win the game and go to high score menu if score is high enough.


P.S. My spellcheck can’t decide whether “deincrement” or “decrement” is correct. So I’m sticking to “deincrement” for now.

Posted in Uncategorized | Leave a comment

The Kickstarter Is Launched!

We’ve finally done it. The Kickstarter page is here:

Here is the trailer:

Posted in Uncategorized | Leave a comment