The Animal Farm

March 1st, 2013

The Evolution of RPG Chess

Recall this post about RPG Chess - a deviation on Chess that introduced piece leveling and a new piece that leveled between matches.

As I tried to flesh out the game, I became increasingly dissatisfied with how hard it was to communicate all the information. First, every piece having different abilities depending on its level leads to a lot of information players need to manage. Of course there would be heads up displays, but as a player you don’t want to constantly reference a help section to determine if a pawn at level 2 can counter-attack your every move. Second, the inconsistency between an individual piece (which would not level between matches) and the new War Mage (which would) creates a disconnect between expectations and reality. Third, the new mechanics could not be conveyed without lots of tutorials and notifications and popups.

Everything was feeling unwieldy.

My first move to rectify this was to cut the War Mage. A new piece with disjoint mechanics lost its appeal. However, I didn’t want to lose the sense of progression, so instead I decided the player should level. Upon leveling, players would be rewarded with different abilities that can turn the tide of the battle.

The notion of abilities was a natural fit - it’s a more manageable chunk of information that’s easier to convey to the user. It also has parallels in other games which adds familiarity. Finally, there are more balancing options. Ability cooldowns can be introduced and tweaked based on level discrepancies between players. Bonus: it adds monetization possibilities in the form of premium abilities.

Once abilities entered the picture, individual piece leveling seemed less relevant. Instead of a piece gradually becoming more empowered, there could simply be abilities that did what those levels would do. So now instead of a pawn gaining the ability to move backward, we’d have an ability that moved a pawn backward.

It leads to a much more streamlined system. Most of the complications in terms of UI and messaging melt away without losing the crux of the idea.

The major open question that still remains: should all players have the same bank of abilities available, or should players bind themselves to a “class” where certain classes only gain certain abilities? The former seems the easier to balance - if players all have the same options available to them, there’s no possibility of one player being at a severe disadvantage. It’s also less work. The latter seems more personal, allowing players to choose a play style and bond with a certain class type as they would in any other RPG. The latter also has monetization options in the form of selling premium classes.

I’m not sold either way here yet. I lean toward giving players the same bank of abilities, but I remain very open to the idea of separate classes. There’s still some thought and opinion gathering to be done there.

February 27th, 2013

Clashing Cards

Here’s a game idea that primarily uses a standard deck of cards & a board. Loosely described, because I’m not out to write the rule book in a blog post, but I think you’ll get the idea.

Divide a deck into two halves - each half as a complete red & black suit. These halves form each player’s personal decks.

On the board, each player has a certain number of ‘card stacks’ - a combination of red & black cards that are face up such that only the top card is visible. Red cards are attack cards, black cards are defense cards. At no point can a player rummage through his opponent’s card stacks to see what cards are there.

Every round, players draw some number of cards from their deck. They then place those cards face up on any stack that they choose. If they have less than 5 stacks, they can place a card on an empty space to form a new stack.

Once players have placed all their cards, they start taking turns activating stacks. A stack can only be activated once per round. When a stack is activated, it can perform 2 actions out of the following list:
* Move - move a single space
* Attack - attack an adjacent opponent card stack
* Combine - place the stack on top of an adjacent stack, forming a larger new stack
* Divide - take any number of cards from the stack and form a new stack in an adjacent space

Those are mostly self-explanatory except for attacking: when a player chooses to attack another stack, both players reveal the cards in their stacks. The person with the most attack (red) cards is the winner. For each attack card in excess, the loser must give the winner a defense card. If the loser has no defense cards to give, he must give the winner all the attack cards. In the event of a tie, nothing happens.

The cards provide victory points equal to the face value of the card. The winner is the person with the most victory points at the end of the game. ‘End of the game’ conditions have yet to be determined - either once a player hits a certain number of victory points or a fixed number of rounds I think.

That’s basically it. Exact numbers for things (board size, max # of stacks, victory points to win, # of actions per turn) are subject to iteration and actual playtesting. There’s also room for special rules like making face cards do something special when in a deck. I see this as a potential mobile asynchronous multiplayer game as well, but it’s worth roughing out a prototype to try it out.

February 20th, 2013

Third Game Idea of 2013

This blog may just turn into assorted game ideas/executions for the foreseeable future. That wouldn’t be its worst use.

Slots SLAM!

It’s a cross between a slot machine game & a match three game. You spin the machine, and symbols come up. When they do, you can then move them Bejeweled style to form matches. You can’t make a move unless it forms a match. New pieces do not fall in from the top.

When you’re satisfied that you’ve made all the matches you can, you spin again to get new symbols.

You’re awarded based on the number of matches and any combos. If you manage to match all the symbols without hitting the spin button, you’re awarded a ‘Jackpot.’

You’re penalized based on how many symbols are left on the screen when you hit the spin button. If you hit a certain threshold, the game ends. Alternatively, there’s a timer that your’e racing against to get the highest score. Alternatively alternatively, you have a set number of ‘coins’ you can use to spin & you gain coins with certain matches & the game ends when you run out. I’m sure there are other game modes that can be mined here, but those are just the two blatantly obvious ones.

It’s a more casual game than what I generally focus my time on, but I think there’s an idea here. Maybe something for a Game Jam?

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 30th, 2012

Bucket List v1.0

My friend and I were musing about bucket lists tonight. I plan on living forever, so these kinds of things don’t really have meaning, but I did think about a few items on my drive home:

  • Walk up to a female member of any royal family and say, “‘Sup Girl? How you doin’?”
  • Scale the Eiffel Tower.
  • Gain a reputation as a world-class gunslinger without actually killing anyone.
  • Befriend and/or date and/or marry a British ginger.
  • Spend an evening in jail.
  • Stage an elaborate heist. This may or may not have anything to do with the above.
  • Win a rap battle.
  • Sing the entirety of Seal’s “Kiss From a Rose” to a stranger.
  • Have a very public feud with Winona Ryder but reconcile soon after.
  • Climb a mountain top and wail on an electric guitar.

It’s just version 1… but it’s a start.

October 18th, 2012

The Dead, They Walk

I’m going to go on public record today, October 18, 2012, as not like The Walking Dead TV show.

I tried, I really did. As your typical awesome 20-something, I enjoy zombies and wanted a show featuring zombies to work. But somewhere during the first season, it alienated me. I couldn’t put a pin on it; there was some unidentifiable quality I didn’t enjoy. About halfway through the second season, I realized what I didn’t like.

It’s boring.

For realsies. The show has 0 momentum. It takes several episodes to resolve the most minor story arcs. They’re not afraid to build up tension, and then hold it, and then hold it for the rest of the season until it’s less tense and more irritating.

Aside from that, it’s often just laughable. Do you really expect me to believe that a zombie is going to sneak up on someone in an open field? Zombies which throughout the entire show have been noisy and clumsy suddenly develop the ninja skills to quietly surprise a man who’s spent the whole season doing nothing but watch for zombies?

Then there are the characters, most all of which are unlikeable and daft. Hey little kid who’s spent his entire life attacked by zombies, maybe you should be smart enough by now to know that going out into the woods alone is a sucker’s game.

I genuinely don’t understand the appeal of this show. I’ve given it as many chances as any show deserves, second only to the number of chances I gave Heroes. The difference here is that Heroes had a good first season, whereas The Walking Dead had a good first episode.

Of course, I’ll probably still continue to watch it. But that’s a failing on my part.

October 3rd, 2012

Borderlands 2

My one sentence review of Borderlands 2: It’s… basically Borderlands.

That’s not a bad thing. I played a ton of Borderlands - finished it several times. I devoured each DLC release. I am a fan.

I wish the sniper class were a bit more engaging, but 66% of his powers are focused on melee, to which I’m all like, “Huhwuh?”

I also wish there were a few more gameplay surprises thrown in. I’ve seen class mods and corrosive weapons and relics. It’s all holdover with little new spice.

But it still keeps the same hearty core. There’s questing and funny dialog and shooting and Scooter. There’s more challenge, which I can get on board with. It’s bigger and louder and just as get, and I intend to play it just as much.

October 3rd, 2012

Link In

My friend Kim asked me to tell everyone about her new LinkedIn profile such that they might connect with her.

I immediately thought, “How can I tell this to everyone without going through the messy trouble of actually having to talk to any of them?”

The answer became self evident - I could abuse my power as one of the internet’s most unknown personalities and write up a quick blog post. 10’s of people would see it almost instantly.

This is the blog post. In case you hadn’t worked that out.

I guess… go make a new LinkedIn buddy?

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.