Meta-Platforming

There comes a time in every XBLIG developer’s life when they ask themselves, “How can I put this”

“onto one of these?”

This year, I want to hit more platforms than just the Xbox LIVE Indie Games market. My first priority is PC, specifically Windows. In this context, XNA is fantastic. I basically get a Windows build of my games for very little effort (some resolution management and key binding support). But what about OSX and Linux? The Humble Bundle (and the feedback I’ve received) has shown that these are non-trivial segments of gamers.

And then there’s mobile. Even I own a smart phone now, so that means pretty much everybody has one.

So if I’m going to go through the trouble of porting, I figure I might as well shoot for the stars and try to hit as many platforms as possible.

Of course, XNA doesn’t “just work” on these platforms. Porting XNA games has been done before by developers like Radian Games (Super Crossfire) and Fun Infused Games (Hypership Out of Control iOS), so it’s not completely foreign territory. Here’s a quick look at my current thinking:

Goal: Port DLC Quest to as many of the following as possible: iOS, OSX, Android, Linux

Approach #1: Native iOS Port

Rewrite the game from scratch for iOS.

  • Pros:
    • Free (other than iOS publishing fee, but all approaches will include this)
    • Potential for good/great performance, as this is as close to the metal as I can get
    • Learn a lot
  • Cons:
    • Most work. Total rewrite.
    • Have to learn Objective-C
    • Doesn’t directly allow for publishing on Android or Linux
    • Not sure how to port to OSX either

Thoughts: This is the most work, to hit only some platforms. But there’s no “magic” – I would know how everything works.

Approach #2: Port to Cocos2D or similar engine

Rewrite the game using Cocos2D as a base.

  • Pros:
    • Free
    • Save considerable time rewriting engine
    • Works on iOS and OSX
  • Cons:
    • Have to learn Cocos2D engine
    • Still have to rewrite game in Objective-C
    • Still does not directly publish to Android or Linux

Thoughts: Similar to above, but cuts out considerable engine work. But I already have an engine anyway.

Approach #3: Convert using ExEn, MonoGame, etc.

Use a MonoTouch based library/framework to do the heavy lifting and keep my codebase mostly intact.

  • Pros:
    • Use existing codebase, kinda (game needs adapting for touch devices/screens anyway)
    • Might be easier to maintain multiple versions in one solution
    • Write in C#
  • Cons:
    • $400 for MonoTouch (and an additional $400 for Mono for Android)
    • Does not directly publish to OSX orLinux
      • Whoops, apparently OSX is supported. Wizorb also managed a Linux version, so that’s a ‘maybe’.
    • Likely won’t work perfectly, require learning how MonoGame works to fix it

Thoughts: This feels like a magic bullet approach. I’m wary of things not working perfectly and then having to grapple with an unknown technology to try to fix it.

Approach #4: Unity

Re-write the game with Unity and reap the multiplatform benefits.

  • Pros:
    • Write once, hit iOS, Mac, Android, Flash. Possibly even Linux soon.
    • Get experience with Unity, which seems like a sensible business choice
    • Write in C#
    • Can potentially reuse some code
  • Cons:
    • Need to rewrite at least some of the game
    • $400 each for iOS and Android publishing. Potentially $1500 for Unity Pro + $1500/iOS/Android if needed.
    • Large learning curve for the “Unity way” of doing things
    • Likely have to invest in SpriteManager or similar library
    • Basically magic

Thoughts: Unity seems to make the most sense, but I’m also reluctant to use it because it feels like I give up too much control.

And the winner is…

Looking at this (and having slept on it), it seems like all signs point to Unity as the way forward. I’m not a big fan of the “magic” involved with Unity but that’s likely largely attributable to a lack of understanding. I’ll give it a shot and see if my reluctance is warranted or not.

I think the last time I used a Mac for more than 5 minutes was with an iMac in computer class over a decade ago. This oughta be interesting.

You said it dog.

Advertisements

Going Loud Studios: 2011 Indie Dev in Review

Well, that’s 2011 finished. This marks the end of Going Loud Studios first full calendar year of business, so I feel it’s time to take a glance back before moving on.

2011 Review

The Games

I released two new games in 2011:

Lair of the Evildoer (June 2011):

DLC Quest (November 2011):

Both games were picks for “Kotaku’s Favorites” list on the dashboard, which was sweet.

Zombie Accountant WP7 goes free

It might also be worth noting that the Windows Phone 7 version of Zombie Accountant quietly (very quietly) had its price slashed from $1 to $0 in… July? To be honest, I did this just to see what would happen – the game was long dead anyway. I kinda forgot to follow up on it though, so here are the stats:

The Awards

Frankly, I think it’s awesome that I even have anything to write here. DLC Quest won Official Xbox Magazine’s Indie Game of the Year 2011.

Social

I’ve been making indie games for over a year now but I only looked into my city’s “indie scene” in the past few months. Turns out, it does exist! I started attending the monthly meetups put on by the fine folks at Dirty Rectangles which has been a ton of fun. Locking myself in a room to make games has been reasonably successful, but it’s great to meet new people and talk about making games in person. I look forward to doing that a lot more this year.

Sales

Or, “Why you came here”. Here are some stats!

Quick analysis: pretty acceptable! Granted, it’s pretty much all on the back of DLC Quest at the end of the year, but I’m okay with that. Not taking a loss on the first year of business? Sounds good to me.

Presence

Interviews! Podcasts! Print coverage! Youtube views! Twitter subscribers! 2011 was a great year for establishing myself on the internet. A few highlights include having some featured blogs at Gamasutra, coverage at big sites like Kotaku, Game Informer and Games Radar, a brief spot on Attack of the Show on national freakin’ television, participating in a few podcasts, and numerous interviews, including one in print in the January 2012 issue of OXM. I made some great contacts along the way too. The Going Loud Studios Twitter account (@WeAreGoingLoud) and Facebook page have also seen a nice bit of growth, sitting at 410 and 156 followers respectively. Oh, and the trailer for DLC Quest has racked up over 31K views so far.

So not quite famous, but it’s a nice start 🙂

Looking Ahead

We’re already three days into 2012, so enough with the retrospective! Here’s a quick look at some thoughts for the upcoming year.

More games

This is a no-brainer. Everything above comes from making fun games that I want to play. That’s the driving force that has gotten me here and it’s the passion to continue making games that will take me forward. I’m itching to make something new right now!

More platforms

If you study the releases above carefully, you’ll notice that 100% of all games I published in 2011 were for XBLIG. That’s a market that has its fair share of problems and has a bit of murky future. Even without that, it just makes sense to spread my games to more places where people can play them. PC is my prime target – heck, I have PC ports of both 2011 releases essentially ready to go. 2012 will be the year when I start publishing beyond the Xbox.

Diversify!

More platforms is great, but I’m thinking of ways to take diversifying a step further by exploring things beyond just making games. Don’t get me wrong, making games will always be first and foremost for me. But there are some complementary things I could be doing to spread myself out. At the moment, I’m thinking along the lines of more blogging and YouTube videos. There are benefits to that kind of exposure that might not directly generate income, but are useful for expanding your contacts, popularity and so forth. I don’t have any concrete plans just yet, but it’s something I’d like to experiment with this year. For science.

Game jam!

Can you believe I’ve never participated in a game jam? Everybody always says you should do that. I’m going to do that.

More learnin’! More seat-of-my-pants adapting!

As always, I plan on continuing ‘being indie’ in the philosophical sense. I picked up some great books on game design and engine architecture over the holidays that will be going to good use. Always learning, always trying new things, and always willing to throw out all of my plans if the need arises.

It’ll be nice to revisit this post a year from now and see how 2012 measured up. Now, follow me on Twitter @benkane!

Post Mortem: Lair of the Evildoer

Now that Lair of the Evildoer has celebrated its two month anniversary (and dropped off all lists on the dashboard), it’s time for a post-mortem! I haven’t done a sales post yet, but suffice to say that they have been a tad disappointing. Nevertheless, the conversion rate is promising and I’m consequently polishing up the PC version of the game.

This post-mortem is a bit long, but it seems fitting given the length project. Enjoy!

What Went Right:

Making the game I wanted to make

First and foremost, this is the reason why I consider Lair of the Evildoer to be a success. I started out with a relatively vague set of features I wanted to include, and built the game iteratively according to what I felt would be fun. It meant I got to include things that I wanted to see in a game of this type. It also meant cutting things after they had been implemented simply because they didn’t end up being fun. The game may not have turned out perfectly, but it’s a game I am proud to have made.

Avoiding feature creep

With roughly 2 months left to go in the project, I started using PivotalTracker to maintain a list of work items and try to get a schedule under control. Doing so allowed me to easily see how over-ambitious I was being and make some hard cuts to features. Without this self-control, I would still be working on new features with no end in sight. It’s great to have a lot of ideas, but they mean nothing if you never ship.

Iterative playtestings

I experimented using the playtesting feature of AppHub to post weekly new builds of the game roughly two months before I planned on shipping. This gave me some great early feedback, as well as some priceless testers who tried multiple versions of the game. I feel there’s still some work to do here in order to get the most out of playtesting though – much of the later areas of the game were tested infrequently or else ignored completely. You have to be careful not to overstay your welcome and use up the goodwill of those helping you. I think some incentives, cheats to skip sections, and more focused testing (such as only including one specific level at a time) could improve results here.

Entering Dream Build Play

I finally entered the Dream.Build.Play. contest. This was more of a personal goal, but it was satisifying to be able to submit my completed, polished game by the deadline.

Winging it

The first month of development was filled with wild prototyping as I experimented with procedural generation, read up on loot systems, and tinkered with GPU shadows. Even for the next three months, aside from a few key features, much of my development was guided by spur-of-the-moment inspiration on what I felt would be a cool or fun addition. While this almost certainly ate into my development time, it was great to be able to code by the seat of my pants.

More press releases

For my first game, Zombie Accountant, I sent out a press release on the day the game launched. No matter how good your game is, it’s going to be tough to get any sort of attention that way. This time around, I sent a press release announcing the game, another a month later to announce the release date (and more details) and then a final “Go get it!” press release on launch day. This might not be the right balance, but it certainly felt like there was more “buzz” generated this way.

Peer review in 48 hours

Lair of the Evildoer passed peer review within 48 hours, which is the minimum amount of time that a game can spend in that process. I attribute this partly to having a greater presence in the AppHub forums as well as a better relationship with other devs on Twitter. The longer time in playtest may also have helped.

Doing everything myself (or else getting it for free)

Aside from some the music, which was provided for next to nothing by one of my talented and generous friends, everything in the game was created by me or else was used with a permissive commercial license for free. Total cost for the project, other than my existing AppHub membership and my time, was about $100.

Making dev videos

For a few weeks in late development, when features were coming fast and hard, I made weekly videos about progress on the game. They didn’t garner a huge amount of attention, but hearing even just a little feedback was enough to spur me on.

Coverage Get!

More press releases, emails, trailers and Twittering earned me quite a few reviews, articles, giveaways and “picks” on a fair number of indie gaming sites. My “big” breaks include getting picked for “Kotaku’s Favorites” (which came with a spot on an Xbox dashboard list for two weeks) and even a brief spot on Attack of the Show. Seeing my game on TV was a pretty awesome feeling.

What Went Wrong:

Development time

Nice feelings and satisfaction aside, spending 6 months on a project to see this kind of a return is simply not sustainable.

No co-op

The lack of co-op play was not mentioned as frequently as I expected, but I still feel this is the largest omission from the game. It was not an easy feature to decide to cut, and perhaps better planning could have prevented that.

Planning release for E3

Once I got a handle on the remaining work and polish that I decided I wanted to put into the game, I pieced together a schedule for announcements, trailers, peer review, and finally a release date. It took a while to settle on something realistic. It took a further two days for me to notice that my announcements coincided with the pre-E3 conferences by Microsoft and Sony, with the release date itself falling just as E3 ended. Whoops. Back to the drawing board.

Art takes a long time and requires direction

All of the art in the game was created by me. I had no real direction or style in mind when I started creating it. The result is a collection of half-hearted temporary art mixed with haphazard rushed art to fill in the gaps created by overzealous data creation. It’s really easy to add a new monster type to a spreadsheet when you don’t consider the art that needs to go along with it. In the end, graphics ended up being probably the weakest area of my game. Had I recognized this earlier on, I would have opted for higher quality and lower quantity – focus on a cohesive art direction and don’t skip “petty” things like animation due to time constraints.

Boxart + Name = No Trials!

I’m still a bit unclear as to how to avoid this next time, but I do know that my combination of boxart, title, description and screenshots were quite unsuccessful. I have some theories, but the important part is the result: gamers browsing the indie games market were not enticed by what I was selling. Zombie Accountant pulled in over 15000 trial downloads in its first 10 days. Lair of the Evildoer earned just over 5000.

Making dev videos

Making development videos takes a lot of time! I found that a good chunk of my Friday ended up being spent recording footage, making a voiceover, piecing together a video, uploading it and then making a blog post/tweeting about it. Considering the only viewers were other devs, the return for this effort was rather minimal.

Git (and 200mb of hosting)

Having cut my teeth on Perforce in the industry, I was using Git to store both my code and game assets. Towards the end of the project, I ran into issues with disk space and came to realize the horror that is storing large binary files with Git (and expecting to keep disk usage reasonable). It was a gotcha that I managed to avoid having to throw money at to solve (i.e. buy more hosted space), but it did take me about a day to learn more about Git’s internals and resolve it with my provider. On the plus side, the distributed nature of Git allowed me to keep developing while I did so.

What Went ????:

Releasing on a Friday

The Xbox Indie Game marketplace is governed by lists. Stay on the lists and you stay visible, getting downloads and making sales. One of those lists is “New Releases”. Ideally, you will be at the front of that list during the peak period of Friday-Saturday. I scheduled my release for Friday, which guaranteed me a decent position on that list. The downside is that the press tends to go home on weekends and thus you don’t necessarily get the attention you hope for. Press releases go unread, trailers go unwatched and emails go unreturned. If you’re lucky, you’ll be picked up the next week. But when dealing with the press, you don’t want to give yourself any unnecessary disadvantages.

Designing the trial experience

Lair of the Evildoer has a slightly modified “campaign” for players who start the game in trial mode. The dialogue is different, reflecting the fact that you have not purchased the game yet, and the balance is weighted in the player’s favor to prevent dying and wasting time. There’s even a special ending to deal with the player who manages to race through the limited content of the demo. All of this took time to develop. There’s also no way to tell if it made any difference at all to players and their decision to purchase (or not).

Not waiting for DBP or Summer Uprising

I chose to release Lair of the Evildoer when I had completed the features I decided I wanted to include, and once they were polished. Had I waited another two months, I could have been sure that I wasn’t affecting my chances in Dream.Build.Play. by releasing the game on XBLIG before the winners are announced. Officially you are allowed to do so, and the competition is steep this year anyway, so I don’t regret my decision. I also could have entered into the Summer Uprising, though inclusion in that promotion would have been a tough fight too.

Focusing entirely on one project

Like most developers, I have a habit of wandering off with ideas to make prototypes and leaving behind a mess of unfinished games. I decided early on that this game was going to require a significant investment of time and thus I should focus my efforts entirely on this one project in order to minimize delays. While this was probably the fastest way to finish the game, it’s also the slowest way to finish the next game (provided I don’t make a sequel immediately). I think I’ll be attempting a few projects simultaneously this time around to prevent fatigue on any given idea and hopefully have more frequent releases on average.

Lair of the Evildoer in playtest

Quick update to say that Lair of the Evildoer is in playtest over at the AppHub. You need to be a premium member to view the thread or download the game.

I found the previous playtests (under the name “Project Splice”) to be very successful both in terms of feedback and motivation. I feel like I’m on the home stretch for the game now, so hopefully these “beta”-esque playtests will be equally useful.

No video this week, purely because they take a lot of time to produce and that time is currently going towards development. It’s been a while since my last video though, and thus there’s nothing really representative of the current state of the game that I can show anybody. I hope to change that next week with a trailer and an official announcement. Maybe.

Why aren’t you following me on Twitter? That hurts.

Here’s a screenshot for being so well-behaved:

Friday Update

It’s Friday! Update time!

After a brief vacation, work has resumed on the action RPG twin-stick shooter game known only as Project Splice. No alpha playtest or video this week because most of the work has been largely cosmetic. Animations, actual art, particles, oh my!

Cosmetic? That sounds like polishing!

Sort of. I’ve set a target roughly corresponding to one more month of development (give or take several months). The laundry list of remaining work is pretty daunting, but it does appear to be complete and thankfully finite. There will be more playtesting and more balance work in the near future.

Stay tuned next week* for the dramatic reveal of Project Splice’s final title!

I’ve heard that if you tell people to follow you on Twitter, they are more likely to do it. Follow me on Twitter @benkane!

To whet your appetite, here’s a picture of your nemesis:

Follow @benkane you fools!

* – give or take several months

Project Splice Weekly Alpha 4

Another week, another alpha build plus video!

Feedback in the forum has slowed down a bit, but it hasn’t completely stopped so I’m still pleased. I’ll continue to do weekly builds, both to keep it available for people to try as well as keeping me somewhat accountable for making progress.

This coming week will hopefully be focused on art and balancing. The game still can’t realistically be played all the way though. Now that the majority of the planned enemy types are in, I can flesh out the distributions, levels and start tuning difficulty. I also need to drop the Project Splice moniker pretty soon. Exciting!

Here’s this week’s video:

As usual, if you’re an AppHub member and you want to try out the latest build or check out the forum thread, you can find it here.

Did you follow me on Twitter? It’s @benkane . You should do that right now.

I’ll wait.

Project Splice Weekly Alpha 3

Wait, wasn’t the last alpha build on Monday? Yes, yes it was.

I feel Friday is a better time to release these builds though. It gives people a chance to play the latest build on the weekend, which is the time when I feel most playtesters are active (I could be wrong). That means the feedback I get is based on the most recent build, not the week-old build that I’ve already been modifying.

The downside is that I’ll miss being included on George “Why Isn’t He Community Manager” Clingerman’s weekly XNA Notes (or at least it’ll be a week behind). This is a risk I’m willing to take.

On the experiment front, I continue to get more and more feedback in the playtest thread. This is good news, because it means I haven’t overstayed my welcome yet. The feedback is also really, really helpful. A lot of it is also very positive, which is encouraging to say the least.

The other experiment, narrated dev diary videos, has had a bit more mixed results. While I never get a lot of hits/views, my last video and post were well below average. However! I did receive some direct feedback from a few people that they would like to see more. I plan on sticking with this for a little while longer regardless, but it’s nice to hear that others are interested. So! Video!

As usual, if you’re an AppHub member and you want to try out the latest build, you can find it here.

Follow me on Twitter! @benkane

Do it.