Roguelike Progression and Saving

Reading the most recent News Post from Tycho at Penny Arcade ( when I noticed him talking about a game called “Galax-Z” and how you are only allowed to “save” when you complete a complete 5 level “season”. When you break it down, this is what games like Spelunky are doing with the tunnel man system, or as Tycho points out, as From Software is doing in Dark Souls with the bonfire mechanic. You can have players run though your procedural system many times getting better, and have a strict cap on the amount of in game “progress” they make that the game keeps track of.

In this way, maybe its possible to avoid the problems inherent to a regular RPG level up or upgrade system (emphasizing grinding over skill improvement, which is boring), while retaining a bit of their stickiness factor.

Even Ori and the Blind Forest has been playing around with saving as a limited resource lately, and I think this is a very interesting design direction to take.

Single Player Turn-Based Hero Game

In honor of Evil Geniuses’ epic victory at TI5 (#bleedblue #ppdismysensei #bestTIevar), here is an idea that we had at Brain Good Games:

-Single player turn based game.
-Control a hero unit with turn based cooldowns
-Against AI controlled enemies that probably all act after you do your turn
-Random a “Hero” at the start with a certain skillset
-Can change out your skills and improve them as you descend dungeon levels (a la Hoplite)
-Single player ladder to minimize time spent with too easy or too hard of a challenge
-Possibly an Active Time Battle timer and/or some fog of war/hidden information to keep things from feeling too dry/mitigate analysis paralysis.

Achievement Unlocked!

Finally managed to deliver the key all the way from the mines to the end of the ice world in Spelunky! I really like how the tunnel man challenge encourage you to play the levels with a slightly tweaked objective.

An especially nice part of the tunnel man challenges to deliver the shotgun and the key is that it creates a naturally fluctuating intensity curve for the runs. On runs where you don’t find the required item, the intensity is low. Grabbing the item jumps up the intensity, which then steadily increased as you approach your goal and your resources deplete.

The fact that the different runs evoke very distinct feelings on a natural cycle from a single elegant goal is very cool! The key challenge even changes a successful run length from 4+ levels to 12+! (Through mines/jungle/ice world instead of merely through one of them)

Letter Quest Remastered!

My good friend and colleague (@thebaconbandits on twitter) just released an excellent new version of Letter Quest. Awesome game with a tightly integrated core mechanic and now an endless/rougelite type mode that shows off the depth of that core mechanic, and gives an arena for skilled players to shine. 

Check it out on steam at

Clockwork Game Design Book Review


Finally Someone With Concrete Advice on Game Design

“Clockwork Game Design” is an excellent, detailed book with a strong views expressed concisely. Keith Burgun is one of the only game designers I know that is attempting to offer prescriptive advice on designing “strategy” games (in his own taxonomy defined as “contests of decision making”). Very useful and well thought out. Whether you agree or disagree with any or all of the ideas expressed within this book, I think it is much more useful to have people making bold claims to try to push the craft of game design forward than the wishy-washy stuff that makes up most of the existing literature on the subject.

If you like this one, “Game Design Theory” by the same author is similarly informative and enjoyable.

Jonathan Blow’s Game Programming Language Talk

Little bit blown away by Jonathan Blow’s perspective on in-lining sequential actions/ using locally scoped functions. I think small, (hopefully) methods have become deeply ingrained in my “programmer personality”, but doing it that way kind of presupposes that I can remember to call the right functions at the right time, with the right program state. Definitely agree that most bugs are the result of the program not existing in the exact state you think it is when code is run, which calling methods can contribute to.

Something to mull over, anyway.

(You can find the talk here:

Elegant Spy Game?

I have a friend (@AncetoDX, the other half of Brain Good Games), who is into the idea of making a Spy Game. However, Spy fiction is inherrently complex and subtle to a certain extent, and relies on more social mechanics like deception and inferrence than more traditionally gameified mechanics like positioning and resource management. Trying to design an elegant Spy Game seems pretty difficult for this reason, but here’s a wild shot:

Player controls a spy on a grid that enemys stalk. You move then enemies move. Enemies move and detect you if you’re within 2 spaces on their turn. Try to not be detected and deduce information from INTEL.

Walk: Move 2 spaces.
Run: Move 3 spaces, increase detection range by 1.
Sneak: (Move 1 but only adjacent enemies can see you)

Percieve: Look at a space within range and gather INTEL if there
Deduce: Wait a turn per intelligence to gain VP
Take Down: Neutralize an enemy if behind it

Blargh, seems like this sort of train of thought would lead to somthing similar to Invisible Inc. Maybe the wrong tack, need to look closer at SpyFall or The: Resistance or Werewolf or something. NOTE TO SELF: Play that game already.

Vungle vs AdMob

I decided to try two different ad providers for the android version of Stock Shock and compare their results. ( I chose these two because they seem to be two of them more popular interstitial ad providers out there for android, and interstitials seemed like they would have less of an effect on the design on the game, in theory, something like a commercial on TV. (An interstitial ad is one that takes up the full screen periodically, as opposed to a banner ad that takes up a smaller portion of the screen, often during gameplay).

Vungle exclusively provides interstitial video ads, and was extremely easy to set up in Unity (just had to register a vungle account, import their package into Unity, paste in my account identifier and call Vungle.playAd(). One downside here is that I couldn’t find a way to determine whether an ad had actually played. However there is a callback when the ad ends, (or the ad fails to play). So as a hack, I call a function one second after the ad starts and see if the Ad ended function has been called. If the ad started one second ago, and hasn’t ended yet, it probably is actually playing an ad. The reason for doing this is that if the ad HASN’T played…

I play an AdMob interstitial instead. AdMob ads were harder to set up, requiring me to manage the nuts and bolts of pre-loading an ad when the game started up, then showing the ad, and destroying it when it had been seen. However, AdMob provides a good deal more callbacks, so it is much easier to tell when an ad has failed. In hindsight, it may have been a better idea technologically to have AdMob be the default ad, and Vungle be the fallback, but I knew someone who had previously had success with Vungle so I decided to go with anecdotal evidence (:P lizard brain).

Revenue from both providers has so far been similar, but the sample size is still relatively small. For the next project (which I’m already starting to sketch out a bit!) I’ll probably have admob be the default, fall back to Vungle, and integrate AdColony as well (I’ll know more about how when I dig into it).