The Animal Farm

January 30th, 2013

Second Game Idea of 2013

Super Hero Racers!

In many respects, this is a traditional racing game. Except that instead of driving cars, you’re controlling super heroes. Each super hero has a different mode of transportation - some fly, some run, some use gadgets or silver surfboards or whatever other ridiculous things spandex heroes use.

While racing, there are two complementary goals: win the race and maintain a high public perception. Your public perception is impacted by things you do during the race: if you do a trick, the citizens applaud. If you take a longer route to save a distressed reporter, the citizens applaud. If, in your haste, you accidentally run into a building and knock it down, the citizens are angered. You gain and lose points per these actions and you gain some fixed number of points for placing in the race, and the person with the most points wins. Think Excite Trucks (aside: that’s a fantastic game).

Of course, every hero utilizes super powers throughout the race. Little gems on the track give you “super energy” which you can then spend to use your heroes powers. Each hero would have one or two unique powers - carefully balanced to make sure that no hero is ridiculous overpowered.

Race tracks would vary. There could be evil fortresses or cities or abandoned laboratories or dense jungles. It leaves about as much room as Mario Kart in this respect.

I still have one open question: should the races be confined to an essentially 2D track or should they be fully navigable 3D environments? I think full 3D environments leave a lot of room for creativity here - some heroes gain advantages depending on their mode of transportation - but it’s also harder to balance and harder to move the race in the right direction. A 2D track is more traditional and more controlled and eliminates unfair advantage, but it removes some possibilities.

January 4th, 2013

First Game Idea of 2013

RPG Chess! It’s so simple, I can’t be the first one to think of it. The game is basically chess with two small differences.

First, basic pieces level up when they take other pieces. Leveling up grants them new “powers” (pawns can start moving backward, for example). These powers are specific to the game they’re in - they don’t carry over to new games.

Second, there is a single new piece - tentatively titled the War Mage - whose leveling up does persist between games. The player gets one of these pieces per game which he can swap in for any pawn which has not moved. The War Mage’s experience increases after completing a game, not after taking a piece. At its core, the War Mage moves like a king, but takes on other properties as it levels up.

The intent here is to add a new twist on Chess while keeping its “fairness” - every player still has the same exact opportunities, and there’s no randomness.

There are still a few open questions:

Do pieces level up individually or as a group? That is, when a pawn takes a piece, does only that pawn level up or do all pawns level up? The former attempts to prevent a “runaway leader” problem, whereas the latter is easier to convey to the player. I feel like the former would be the better solution.

How do we illustrate the War Mage’s abilities? If a War Mage has leveled up five times, it becomes cumbersome for the other player to remember what he’s capable of doing. The new abilities could stem from a predictable path (ie: the War Mage can move an extra space for every level), but that seems like an underutilization. We could keep a reasonable upper limit on the number of different abilities at any given time (say, 3), which is probably reasonable.

I see this as a free, asynchronous iOS game with IAP for purchasing different War Mage avatars, board backgrounds, piece sets, or even board layouts. I thought of it as a simple game, but the more I sketch it out on paper, the more I see the complexity (mostly in terms of menus) increase.

A “nice to have” system I roughed out was a “Mission” system that would grant the player extra War Mage Experience and/or premium currency for performing certain tasks - winnings 5 games, getting a stalemate, upgrading a pawn, etc. Think Jetpack Joyride’s Missions, Tiny Wings’s nest upgrades, or the Cuddle Bears multiplier system. It’s a little bonus I fell in love with in Tiny Wings, but obviously it’s part of a wishlist and not part of the core feature set.

Don’t know if I’ll make this happen. I think there’s merit in the idea, but who knows?

October 2nd, 2012


Do you have to serialize large amounts of data on iOS? Do you have to do it as fast as possible and generate compact results?

I recommend JSONKit.

I recently found JSONKit will drastically outperform NSPropertyListSerialization and NSKeyedArchiver. Which is surprising, considering those are both native libraries that generate binary output. Don’t get me started on SBJSON or NSJSONSerialization - those are jokes by comparison.

NSKeyedArchiver is actually pretty nasty. It tries to coalesce arrays (and maybe dictionaries?) to avoid repetition. Which I guess might be great if you have repetition, but it’s horrid if you have large arrays or lots of little objects floating around. NSPropertyListSerialization isn’t as aggressive and thus performs better, but it still can’t quite compare.

The only downside to using JSONKit (and NSPropertyListSerialization) is that you’re restricted to a small set of classes you can store in your data model, and thus you have to write a lot of cumbersome code to encode/decode complex data into dictionaries & arrays. There’s also no good way to encode plain data types, which necessitates creating tons of little temporary NSNumber objects. That can be a performance drain if you’re not careful.

They have a good performance analysis on their site if you’re looking for a comprehensive breakdown of how it stacks up against most every other comparable libraries.

If I were an artistic man, there would be a seal at the bottom right of this post that said, “Family Tested. Brian Sowers Approved.” I’m not, though, and I also can’t be bothered. Just look at JSONKit, and if you like it, well, use it? I guess. I dunno.

September 21st, 2012

$100 Greenlight

Steam recently launched Greenlight, their “democratic” system where their community can vote on which games should be accepted onto Steam. Shortly after, to combat spam, they added a $100 fee to put games on Greenlight. And then my Twitter feed went bonkers crazy.

People with money said, “$100 isn’t all that much.” Then people without money said, “Yea, it is!” The camps got really hostile toward each other and wrote their respective hostile blog posts and really just bored me to death. My Twitter feed is for cute pictures of cats, not for this vitriol.

The side without money is raging over a non-issue. I haven’t seen a single example of someone who thought they had a game that could make it onto Steam who didn’t also have the money. The people doing the arguing don’t actually have games that they would submit to Steam. And if they did, I know of at least five developers who would loan them the money. Hell, I’ll loan them the money.

The side with money is defending a silly, arbitrary, and non-effective solution. If you’ve ever glanced at the Apple App Store or XBLIG, you know that $100 won’t stop someone from submitting their ehf-ing flashlight application. It’s a lazy bandaid to your arm when your cut is on your big toe.

But none of this addresses what I think of Greenlight as a whole, which is… meh.

Steam has always been a curated market, not a free-for-all App Store. I approve of this. Part of its success and allure to developers is that users expect to actually pay for things there; you go in with the understanding that the items that made it in have value. And the gatekeepers - Valve - were not unreasonable when letting smaller or outlandish games in.

Greenlight doesn’t change that. It just changes the curators from a respected company to entitled jackasses.

Theoretically, the community is supposed to be a gauge of whether people will buy your game, but once you look at the comments you know that you don’t want them gauging anything. It’s like taking the people who comment on iPhone games and giving them power. Anyone who’s looked at the comments on an iPhone game knows that these people shouldn’t have power. Of any sort. Ever. I’m pretty convinced that half the games currently on Steam would not be greenlit through this system.

It’s also in its infancy, which means common niceties - like robust sorting mechanisms and ways to foster discovery - don’t exist. I don’t know if those will come or not, but I’m not going to judge a platform based on what I think might come someday if I cross my fingers real tight. It’s not there, so Greenlight gets a red mark for it.

Valve implemented this system, at least in part, because they needed some help weeding out games. How then do we guarantee a professional, quality evaluation of a game without burying Valve?

There’s the XBLIG model - let actual developers do the rating instead of any schmuck off the street. I was never a big fan of that model, though, since it leads to big heads and quickly becomes a popularity contest.

My proposed model is closer to the App Store (god, did I just say that?). Keep the $100 fee, and use it to pay someone to critically look at the game. This hopefully lifts some of the burden of looking at thousands of games a year while maintaining the quality control that Steam targets.

September 20th, 2012


In some of my spare time, I’ve been playing with the Unity game engine. It’s… good.

To paint with broad strokes: it’s a component-driven 3D engine with support for nearly every platform out there. It supports scripting in both C# (yay!) and JavaScript (meh!). It has tons of built in support for world building, animation, terrain, character controls, sound, etc, etc. Basically every high level system I could think of has some coverage, though some of it is lacking (I’ll get to that in a bit).

I was up & running with it in half an hour and felt competent enough to make a simple game. In another half hour, I felt competent enough to make a not so simple game. It’s really classy - you mix & match components on an entity to give the entity the desired behavior. If you declare a variable in a component, that variable is automatically exposed in the editor for real-time modification. Drag a bunch of building blocks together and you can have anything from a simple racing prototype to an FPS within a day.

I’m not really doing it justice with my shotgun overview. Just know that I’m pleased.

There is some bad here: 2D support is rubbish and GUI support is rubbisher. There are libraries for both, but they’re expensive and/or underwhelming. For an engine that gets so much love on mobile, 2D ought be a first class citizen and not the twisted cousin they keep locked in the attic. GUI is getting an overhaul shortly after 4.0 launches, though, so let’s cross our fingers.

Speaking of 4.0, the Mecanim integration looks delicious That’s all I’m going to say about that.

December 17th, 2011

Cuddle Bears FREE Released

We’re on a roll over here.

CB FREE has every feature that CB paid has with the addition of some ads in various places. It’s our first dive into ad-driven games, and already 5’s of people are snatching it up. ;-)

I’m not sure what my expectations are here or whether I have any. Every time I make Cuddle Bears free for a promotion, the downloads jump to 200+ a day (humble by iOS standards but not insignificant by my own standards). If the free version could sustain that kind of energy, I’d be pretty pleased, though the initial outlook isn’t quite living up to that.

I guess the moral here is that you should go get the game, play it, and leave a good rating to support us. Oh, and tell your friends and stuff. Friends are important, and they’ll really like you if you show them the game.

That’s just simple math.

December 15th, 2011
December 13th, 2011

Cuddle Bears v1.1

The update to Cuddle Bears has been submitted and is currently waiting to go through the review process.

What’s New:
* Unlockable score multipliers. The more you play, the higher your possible score
* Score combos now continue into & out of powerups
* Play your own iPhone music
* New powerup - fly a fighter jet
* New & colorful characters to cheer you on
* Twitter support
* Bug fixes & art cleanup

I’ve made the game free for the next day (or two - depends on how generous I’m feeling) in preparation for the release.


June 30th, 2011

Cuddle Bears Launches Tomorrow, June 1!

Cuddle Bears will go live tomorrow in the iTunes store sometime after 10 AM!

It will be free for the first few days. Get it. Love it. Leave feedback. Tell your friends.

What!!! Jetpacks?!?!?!

June 28th, 2011

Cuddle Bears Promo Poster

Behold (in all its low-res glory…sorry ^^):