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.

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

JSONKit

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 23rd, 2012

Running Man

Somewhere around 4 months ago, some friends of mine suggested ‘health month’ - a generic motivator to eat healthier and be more active. I got on board, agreeable fellow that I am, and stuck it out.

I would later learn that I was the only person that stuck it out for more than a week, but that’s neither here nor there.

Shortly after the month had ended, I decided I could take this idea further. I started running. I had dabbled in exercise before about a year ago and fell into the “did it for a month and a half, got bored, quit” category. There was nothing about this go-round that would keep me more honest; I had no expectations of success, but I decided to try anyway.

Three months later, and I’m still going.

There was a moment near the beginning when I thought I was going to throw in the towel. My knee got banged up, and I could barely walk. I was out of commission for two weeks - I would use the elliptical when I could, but ellipticals are boring. Then one day my knee repaired itself. There was no preamble, no gradual easing of pain: one day I couldn’t run and the next day I could.

There’s still pain from time to time, but it’s mostly endurable. Except that generally I can’t stand after sitting for a long time without feeling like the blood in my legs has hardened and is only slowly gaining its fluidity. Ow.

General progress: at the start of this, I could barely run a mile in 13 minutes. On a treadmill. After, I would need to take a couple days to rest. Now I can consistently run a 5K in under 10 minutes per mile outdoors. Generally I can do this multiple days in a row before needing to cool down for a day. A couple weeks ago I ran my first (slow) 10K.

These aren’t Olympic numbers, but they’re much improved.

There’s no real purpose to this post. I just kinda wanted to brag.

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

Unity

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.

September 19th, 2012

The Relaunch

So. It’s been a quiet 2012. There have been a few reasons for that.

First, the site was starting to break down technically. The theme that I hacked together some 5 years ago wasn’t holding up, and plugins had mucked with it visually. That was demoralizing, and it didn’t make much sense to invest time in a space that was unappealing. I’ve switched to a generic WordPress theme which will hopefully hold up better; I expect this will evolve over time, but for now it’s good to have a new baseline.

Second, I had always resisted turning this into a purely technical blog. At the same time, I’ve grown an increasing distaste for discussing my personal life online. Those two conflicting interests clashed and kept me from having anything I felt valuable enough to put here. I’ve decided to simply pick a vision and run with it - this is primarily a game development/tech blog, and ramblings on other things are bonuses. You can keep those for free.

Third, it’s lonely writing without a cowriter. I haven’t solved that problem. But if you’re a game developer or a tech-minded lad/lass and would like to fill the role, tap me on the shoulder. In the meantime, I’ll deal with it.

For you, this means more posts and a more active presence on the site.

So, y’know, you’re welcome.