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)
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.
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.
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.
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.
MOVEMENT Walk: Move 2 spaces. Run: Move 3 spaces, increase detection range by 1. Sneak: (Move 1 but only adjacent enemies can see you)
INTERACTION 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.
I decided to try two different ad providers for the android version of Stock Shock and compare their results. (http://bit.ly/1Iqlysf). 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).