Monday, March 18, 2013

Sometimes, Running a Business Stinks

The past 72 hours been a pretty wild ride. And it's highlighted some of the less glamorous aspects of running an online business. I think things are starting to stabilize this afternoon, but I'm pretty exhausted from the experience.

Things Were Running Smoothly When...

Friday was a pretty normal day. Quiet, even. Most of the day was spent working on plot development for NEO Scavenger. The day didn't go without it's hitches, but as days go, it was nothing unusual. I was happy to finish the day with some plot knots to untie over the weekend, so I wrapped-up, had some dinner, and Rochelle and I went bowling with some friends.

The next morning, I was pretty excited to see a sudden spike in traffic in my logs. NEO Scavenger was mentioned in a post apocalyptic survival reddit post, and dozens of folks were popping by the site to check out the game. Cool!

Site Maintenance

Except, my ISP was doing scheduled maintenance early Saturday morning. It wasn't until I tried loading bluebottlegames.com that I realized it was down.

5-day Site Visitor Graph: Hourly

Well crap. That stinks. Just as a bunch of new folks are drawn to check out my game, the site goes dark. And worse, dark for close to 12 hours.

"Oh well, " I said. It's a bummer, but nobody's fault, really. I mean, I guess I could blame myself for not having a redundant server or something, but I'm not that high tech (or deep-pocketed). I decided to just live with it. Besides, friendly Reddit server take-downs were nothing new. Folks probably would just figure my little server was flooded temporarily.

Site Flakiness

Later that day, bluebottlegames.com was back up and running. I did my usual email and forum check, to verify nobody was reporting any issues. And all seemed clear.

Except for one thing: every other page load seemed to turn up blank. No error message, no content, nothing. Just a blank white screen. Refreshing the page seemed to fix it, so I figured it was a temporal thing. "It'll sort itself out."

No, it won't. The following day, I was replying to a customer having issues with NEO Scavenger on their Mac, and it was still happening. Happening everywhere. Sometimes it was a content page on the site. Other times it was a forum. Even some of the site admin pages were failing. And as before, usually a reload would fix it. But the reloading was becoming less and less reliable. Sometimes, I had to reload the page 4-5 times to see anything. And if my customers were seeing the same thing, then that was unacceptable.


The White Screen of Death

I decided to dig into the issue a bit more. I started searching for related issues on the web, and was initially happy to see others reporting the same issue. Blank screens in Drupal (the content management system I use, v6.28) were pretty common. Maybe finding a solution will be easy?

However, upon further investigation, I was less happy to discover I had the same problem. This problem, as it was known to the Drupal community, was the "White Screen of Death."

The WSOD is a common issue with Drupal, but it doesn't have a common solution. In fact, there are almost as many causes of the WSOD as there are Drupal installations, and finding the right one for you can be a real quest.

The link above is probably the biggest authority on the issue, and even there, there are no less than 28 different causes listed in the article, and some 80+ comments detailing other issues customers have had. Basically, Drupal's WSOD is a symptom of practically every Drupal disease. I'm having trouble thinking of a human analogue. Headache? Fever? Common cold?

I spent hours on Sunday trying to make rhyme or reason of it. None of the remedies I saw seemed to help. I couldn't even get error or log messages. And worse, it was an intermittent problem, so I couldn't even reliably cause it to happen.

The only things I could verify about it were:

  1. I only get the WSOD on my live server. Migrating the db from live to my localhost didn't duplicate the WSOD issues.
  2. I only started getting the WSOD since my ISP's scheduled maintenance, when the server was (apparently) upgraded/restarted.
  3. I only get a WSOD in Chrome.
  4. Additionally, Chrome seemed to exhibit stylesheet issues when the page did load. Textareas would be too narrow to fit their <div>, or the page would nudge upward when I clicked a link (seemingly to adjust alignment with the Admin Menu module's topnav bar). Something was stalling the css until I clicked a link, upon which it would fix itself, then load a new page with stalled css (or js, or WSOD).
  5. Firefox never exhibits any issues.
  6. IE seems to work too, except for one page partially loading (later determined to be a known issue with YouTube embedding)
  7. No errors appeared on the page, in Drupal's logs, nor server logs, even with error reporting hard-coded to be on in index.php.
  8. Using Chrome's "Inspect Element" context menu option revealed that the page was entirely missing the <body> tag and contents. It was just an <html> and <head>, and the <head> seemed to be missing some elements. Also, Chrome usually complained of "Failed to load resource" on the page itself, but all css/js/images were loaded ok.
  9. Using "View Source" on Chrome apparently reloaded the page, and showed the correct, full content source.
  10. The WSOD appeared more frequently when js and css optimization was turned on (but still occurred when all Drupal optimization/compression/caching was disabled).
  11. Flushing all caches had no effect.
  12. Running update.php had no effect.
  13. Manually truncating Drupal db tables had no effect.
  14. Using Backup & Restore on Drupal's db had no effect.
  15. Disabling all modules outside of Core and Core Optional had no effect.
  16. Switching from BBG's custom theme to the Garland theme had no effect.
  17. Rebuilding permissions had no effect.
By the time Sunday evening rolled around, bluebottlegames.com was stripped down to core modules, no theme, no caching, and had a rebuilt database. And it was still flaking out.

Worse, the node access modules I disabled caused the permissions table to get out-of-date, which caused all site content to disappear for all users, all the time. Basically, when the WSOD wasn't happening, all of the site's pages were empty blue shells, and the forums all had 0 posts in them.

Even worse still, to rebuild the permissions and fix the empty content, I had to run a script via Drupal. And that script failed with a WSOD whenever I attempted it.

I had totally messed up my site. The "Site Crash" label in the above image refers to the time when I took the site offline to avoid any more users seeing the empty shell of a site.

Fortunately, Firefox was able to run the permission rebuild script without any WSOD. And I was able to at least get the site showing content again.

But as my efforts continued past 10pm, I decided it wasn't going to be solved anytime soon. I started making changes necessary to return the site to the formerly flaky intermittent WSOD. It wasn't ideal, but the occasional user reload was a far cry better than no site at all. If nothing else, I wanted the forums and contact page online for users to report issues, if needed.

I posted a news item to the homepage alerting customers to the WSOD issue, and apologized for the inconvenience of the downtime. Then, I went to bed.

Come Monday, It'll Be Alright

I was back at the computer at 6:15am. And unsurprisingly, the site hadn't fixed itself. I fired up the usual websites, checked messages, looked for forum posts. Some users reported seeing similar WSOD issues. And, bless them, they blamed their internet connection instead of me.

I decided to try a different approach this time. Instead of grasping at straws offered by forums on the net, I decided to debug Drupal. I added print statements to Drupal's index.php, to see if I could trace the value of the content. And when that failed to reveal anything, I started adding traces to Drupal's core code (*.inc files).

I don't like doing this sort of thing, as I'm nervous about screwing things up worse than they are. Plus, doing it in a way that doesn't affect the live site's users is tricky. But in retrospect, it's the only way to really know what's going on.

I found a function in bootstrap.inc which loads various Drupal bits in phases: drupal_bootstrap($phase). Every page on a Drupal site calls this function first, doing a full bootstrap (all phases). I added a trace inside the while loop that executes for each phase as it loads, and I printed the ID of the phase.Testing on my local site, I could see that my site loads phases 0-8.

When I uploaded the modified bootstrap.inc file to the live server, I saw traces for all phases. Reload. All phases again. Repeat this another dozen times, on different pages where I most often encountered the WSOD. Everything loads normally.

Was the WSOD gone?

Tentatively, I backed out the bootstrap.inc changes, so it was back to normal. Still, the site seemed to be loading ok. I reenabled caching to normal. Still ok. Turned on page compression. Still ok. I stopped short of turning on optimized js and css. Maybe I'll muster the courage for that tomorrow.

A Wizard Did It

So what happened? Uploading that file seemed to stop the WSOD, and leave it fixed even after that file is restored. What dark magic is this?

That's actually my first theory: dark magic. But if you pin me down for a more mundane answer, I'm going to guess it was some sort of behind-the-scenes cache. I'm not sure what else would explain a site's complete performance alteration when a single file is uploaded and then un-uploaded again.

That was at about 11am today. As of 5pm, I haven't seen a WSOD. Mercifully, no players have posted in the White Screen tech support thread on my forums, either. I'm hopeful this issue is resolved.

But What About That Mac User?

Oh yeah, remember me mentioning way up there that this whole investigation started when trying to help a Mac user with NEO Scavenger? Yeah, Mac compatibility is an issue in it's own right, concurrent with the site debacle.

I'm not going to detail that issue here, as it's a pretty lengthy topic of it's own. The forum thread linked above has all the details. And what's more, I've partially touched on it in the past.

The short version is this: Flash is rapidly becoming as much a burden as a boon. For someone trying to develop a stand-alone application, I'm at the point where I am highly reluctant to recommend Flash as a viable option. Issues include:

  1. "Create projector" no longer supported on Linux, as of v11.2.
  2. Flash CS6 no longer supported on OSX 10.8.
  3. Any projectors one does create are going to trip security on modern OSes. And in Mac's case, Gatekeeper is a sticky issue for OSX 10.7.3 and 10.7.4.
  4. Digitally signing Flash projectors appears to have spotty support, unless one uses 3rd party wrappers (which are, in themselves, reportedly unreliable).
  5. Adobe's recommended solution, building AIR apps, is unsupported on Linux. Also, AIR's installation process is flawed, at best. Also, AIR has the periodic "Update AIR" nagging dialog.
  6. Flash is no longer officially supported on Android nor iOS.
I was a long adherent to Flash. It served me well. NEO Scavenger wouldn't be if it weren't for Flash's ease of use, and then-universal deployment options.

So it's unfortunate that this era appears to be in it's winter.

All's Well That Ends Well

The good news? At least we're back to normal. The site seems to be running again. Upgrading OSX to 10.7.5 seems to fix Flash projector Gatekeeper woes until I can find another way to certify projectors. I think I may actually be able to return to plot development tomorrow.

Let's just hope that stretch of actual game dev continues for a while!

Monday, March 4, 2013

Cross-Play

Recently, I was contacted by a couple of digital games vendors (ShinyLoot and Amazon Digital Games) about the possibility of selling NEO Scavenger on their services.

First of all, that's great news! It's encouraging to have folks asking to host NEO Scavenger. And those services each represent good-but-different opportunities to serve a greater market. I look forward to exploring those, and other, options further as NEO Scavenger approaches completion.

The point of this post, however, is more about the big picture, and how to properly balance NEO Scavenger's sale across multiple vendors. Specifically, I want to muse on the topic of "cross play."

What Is Cross-Play?

When I say "cross-play," what I'm referring to is the ability to buy a game from one service, and to have that unlock access on other services. I realize there are a few definitions of "cross-play" out there, but for the purposes of this post, it's about buying the game once, and playing anywhere.

In the case of NEO Scavenger, buying beta access at bluebottlegames.com automatically grants access on Desura. Similarly, buying a copy of the game on Desura allows the user to unlock a copy at bluebottlegames.com, using the Desura Connect feature.

When NEO Scavenger was sold in the Be Mine 5 bundle, Desura keys were given out, so those customers were also eligible for cross-play. Though in retrospect, that was less than fully effective: many customers didn't realize they had Desura keys, and weren't aware how to update, or even that they could. I should probably see about doing keys-only, rather than binaries plus keys, in the future to reduce confusion.

Why Provide Cross-Play?

One of the biggest reasons to provide cross-play is simply because it makes the customer happy. Customers feel like they're part of something bigger, and dealing with a business that values them more than their dollar. It let's them know that no matter which store they bought your product in, they're your customer, and you appreciate them just the same. And customers who feel appreciated are more likely to return for future business.

It also helps keep the audience fragmentation to a minimum. If communities were to develop at each storefront, then those communities may diverge over time, making it difficult to satisfy all tastes as they become incompatible. Smoothing out inroads between communities helps everyone stay on the same page, and helps keep the audience united.

There are also marketing advantages to providing cross-play. Customers who are pleased with the arrangement are more likely to recommend it to friends. And the relative rarity of cross-play may mean the press finds it a newsworthy business practice.

It can also accelerate sales, in the case of a gradual product roll-out (as is the case with NEO Scavenger). Knowing that one's preferred service will be supported in the future sometimes causes hesitation in customers, as they'd prefer to wait until the game comes out there. However, if purchasing the game now entitles them to a free unlock on their service of choice later, then there's no reason to wait. This was particularly the case with Steam users, as noted by the comments in NEO Scavenger's Greenlight page.

Lastly, there's a neat technical benefit to having cross-play enabled for one's game: redundancy. If something fails on one service, there's a way to get affected customers up and running again on a different cross-play service.

A recent example of this was when a new build was launched on Friday to both bluebottlegames.com and Desura. The new version went live immediately on bluebottlegames.com, but the Desura version was awaiting authorization over the weekend. Customers who wanted access right away simply used the connect feature to get the latest version at bluebottlegames.com instead.

Why Not?

One of the first reasons most will think of against providing cross-play is that there's a potential hit to sales. This is probably true. Anecdotal evidence abounds for customers buying and re-buying the same game across different services as they become available. Some are accidental (e.g. losing a CD or key), others are intentional (e.g. wanting the game in their Steam library for convenience). In some cases, they're even points of pride for the customer ("I love this game so much I bought it five times!").

In the first two cases, the customer is repurchasing the game for their own benefit. In the third case, it's primarily benefiting the developer. With cross-play, the customer can still repurchase the game if they want to, so the third situation is unchanged.

The important thing to remember about the first two cases is that customers who don't want to repurchase the game no longer have to. It might cost the developer the price of a new (or discounted) copy, but it gains the developer some good will. And I'd rather have an existing customer's good will than their additional $10 or less.

There is the possibility of customers giving cross-play keys to friends, so I suppose that's a consideration. I'm not really one to police pirates, though. And I figure that if they're going to pirate the game, cross-play doesn't greatly change their ability over the DRM-free version I sell now.


Technical feasibility may be a bigger reason. So far, cross-play between Desura and bluebottlegames.com has been pretty easy to implement. Desura has a workflow already setup for this, and adding a custom one to my site was entirely up to me. I want to do the same with Steam, though I may only be able to provide one-way unlocks (e.g. bluebottlegames.com customers get Steam keys, but not the other way around) depending on whether Steam has any mechanisms in place for cross-play.

Furthermore, each new case creates an increasing amount of integration work, and it would likely grow out of hand pretty quickly. There are a lot of services out there. E.g. ShinyLoot, Amazon, Good Old Games, Impulse, Origin, Google, iTunes, Ubuntu Software Center, etc. They all likely have different capabilities.

As such, it may be the case that my cross-play plans are impossible across 100% of vendors, even if I had the manpower.


Selective Cross-Play

In all likelihood, 100% reciprocal cross-play will not be possible as I offer NEO Scavenger in more places. So I'll need to come up with an acceptable compromise. The alternative would be to ignore sales channels that didn't offer cross-play tools.

I already suspect Steam is a one-way street in this regard, and cutting out Steam from sales channels would be pretty dumb. In fact, I think most online storefronts lack Desura's "connect" feature, so I may be living in a fantasy land right now.

One thing I can still do, however, is enable cross-play from bluebottlegames.com some other services. I.e. if they purchase at my site, they can get free keys to Steam, Desura, and maybe another service to two. More than likely, Steam and Desura are all most players care about anyway.

Plus, offering the one-way cross-play radiating out from bluebottlegames.com makes it somewhat more attractive to buy it there. The customer could still get a version on the service they want, plus elsewhere in the network. And more of the purchase money goes into developing new games. That seems like a nice win-win.

I'll have to see how this plays out, though. So far, I've been pretty lucky in that my only other vendor, Desura, makes this cross-play easy to do. So I've been treating it as my preferred business practice. But as I start working with new vendors, I'm see that the cross-play option is going to be complex to support.

Hopefully, I can find a way that is both sustainable and appreciated by my customers!

Monday, February 18, 2013

Marketing: From Passive to Active

To-date, NEO Scavenger's had a pretty low-key marketing strategy. As a title that's still under development, there haven't been many points where I felt comfortable actually driving folks to the game. I always figured that I should wait until I can put on the best show possible before I pump a lot of resources into marketing. As such, NEO Scavenger's been in a "passive" marketing mode.

Passive Marketing

Passive marketing mode is "word of mouth" marketing. I.e. the "soft sell." Rather than going out and seizing eyeballs and ears, I'm building something worth experiencing, and letting satisfied customers do the talking for me.

I'll gladly talk about NEO Scavenger to anyone who asks. I give interviews, give review copies to journalists when requested, and actively participate in fan discussions when I can. But I've only initiated a few marketing initiatives of my own, outside of bluebottlegames.com.

I've read in more than a few places that this is a terrible strategy for indie developers. The "build it and they will come" strategy, while comfortable for introverts like me, is not known for being very effective. And I think there's validity to that argument. Unless it's the right set of circumstances, or something that has an element of virality, word of mouth is a pretty unreliable method of marketing.

However, the soft sell has its place in a marketing strategy. For one thing, it's a good time to test the waters, and see how your product is received on a small scale before going big. You'll have time to see how the product behaves in the wild, see how people perceive it, assess feedback, and improve the product. Maybe people are excited about different elements than you expected, or your big selling point is still broken?

Plus, some target audiences are more receptive to a softer sales pitch (or no pitch at all). As a member of the audience my game targets, I can say with some authority that I appreciate a product that doesn't excessively toot its own horn. I like finding a product that is honest in its advertising, and sets appropriate expectations, rather than resorting to fanfare and hyperbole.

The operative clause above, though, is "before going big." Word of mouth shouldn't be one's only marketing tool. Instead, use it where appropriate, and plan on mixing it with some active strategies when the time is right.

Active Marketing

Active marketing is pretty familiar to most of us, by definition. From ads to interviews, "Let's Plays" to AMAs, it's the messaging with which we get bombarded every waking hour. "You can't buy it if you don't know it exists," as they say, and active marketing is trying to remove that very obstacle.

I think NEO Scavenger is starting to near a point where active marketing makes more sense. One of the biggest obstacles to enjoying NEO Scavenger has been legibility of its substantial text, and ugly aliasing when trying to play above the native 800x600 resolution. With fixes for those issues imminent, I think it's time for me to start warming up the marketing engine.

Building a Strategy

Even though NEO Scavenger's been "on the QT" so far, I've actually been building a strategy behind the scenes since day one. Whenever an opportunity for active marketing popped up, I may have passed it up, but I still made a note to myself for later. For example, IGF 2011 would've been pretty premature for NEO Scavenger, since the game was not even playable at that time. However, I made a note to look it up later, when it made more sense. All of these notes are in a text file that I've creatively named "PR.txt."

Since I'm starting to review this process, I figured I'd share some of my notes with any other readers who may be formulating marketing strategies of their own. In no particular order, here are some ideas to consider:


  • Press Kit - This is actually pretty useful even during passive marketing. Basically, it's a handy collection of anything a journalist would need to feature your game in their publication. Usually, it includes several screenshots, gameplay videos, company and game logos in some print-ready format (or high enough resolution for print), and any other relevant materials you can offer (such as company info, team member bios, etc.).
    • Rami Ismail has actually put together a DIY press kit that many indies have used with success.
  • Website - This should be done as soon as possible, way back in the passive marketing phase, if possible. Having a website is pretty much a requirement these days. You could get by without one, but if you're serious about building a brand and a community, you should consider how folks are going to find more of your work after they discover you. This is a whole topic unto itself, and I've already discussed website and business planning a bit.
  • Game Journals - Contacting your preferred game magazine is probably the bread and butter of a game marketing strategy. Gamers each have their journal of choice, so it's a good idea to figure out which ones your audience reads, and see if any journalists there might be interested in doing a piece on you or your game.
  • Sales Channels - Whether you think of them as such or not, sales channels are a form of marketing. Players will discover games as they shop for games, so having your game in their store of choice increases the chance your game will be discovered. And while big names like Steam, Desura, and GoG may come to mind, don't overlook more niche locations. Often the smaller or newer channels mean the competition is lighter, giving your product a greater chance of being noticed.
  • Festivals - Indie games are fortunate in that they are often celebrated in festivals expressly designed to highlight their unique styles. While not every festival is a good fit for every game, many can be a great way to raise awareness for your title. Plus, many offer prizes to winners!
  • Kickstarter - Kickstarter is a fund-raising tool, first and foremost. However, that almost always has the side-effect of raising awareness of the product along with the funds (in fact, even if the funding fails). While I don't think Kickstarter is right for NEO Scavenger right now, it might be something you're considering. And if so, it makes sense to use it in synergy with your other marketing efforts.
  • Greenlight - Rumors of Greenlight's demise may or may not be greatly exaggerated. However, for the time being, it still represents an opportunity to raise awareness for one's game. NEO Scavenger garnered some considerable publicity as a result of Greenlight participation. However, the hints at Greenlight going away, coupled with the $100 entry fee, may mean it's best saved for games which already have some marketing working for them, or are expected to go viral somehow. Based on stats I see for the top 100 games, it appears it's still possible to skyrocket into the top slots with good marketing, but the long, steady climb may not pan-out anytime soon.
  • Bundles - As I discovered last October, bundles can have a pretty significant effect on publicity. Bundles combine the traditional deep discount motivator with cross-promotion between games to produce a strong synergy of sales. There are probably more owners of NEO Scavenger from that one 5-day bundle sale than there are from NEO Scavenger's entire year of sales.

    The down-side, however, is that these customers have usually paid a small fraction of the asking price for the game. In my case, some 16k customers bought the bundle, but my share of the revenue was only $5400 (before income taxes). So the average sale price for each of those copies was only about $0.30-0.40. That, and some fraction of the game owners weren't interested in NEO Scavenger, but rather bought the bundle for other games.

    Still, that's a significant number of people who have the game, whereas before they didn't. Getting the game in front of a player is often the hardest part!
  • Promotions - While bundles combine deep discounts with cross-selling, the discount can be a formidable source of publicity on its own. Steam's holiday sales are nothing short of a media event these days, as are the GoG sales. Putting your game on sale for a limited time can spur renewed interest, as can interesting pricing schemes.
    • Piracy - I include piracy as a subheading here because it can be a form of discount promotion. Sean Hogan has creatively leveraged piracy to this end, offering his game freely in exchange for the increased publicity and Greenlight exposure.
  • Demos - Having a demo is a powerful way to increase awareness of your game. Demos let players see if they really enjoy the game. And a good demo may be so engaging that the customer is enticed to buy the game, to access more of the same experience.
    • Portals - There are several websites which specialize in hosting game-related files and demos. Like with digital storefronts, having a presence on such a site provides a boost to awareness. Often times, these same demos will be picked up by other sites as well, further increasing your game's spread. This is particularly the case in the Flash demo scene. Just make sure that your demo includes some way for the player to find you should they decide your game is worth their time and money.
  • Let's Plays - Quite a few folks like to record playthroughs of games, and publish them with commentary on the web. Sometimes, these are simply fans who want to share, or show various strategies. Other times, these can be widely-known video producers with huge followings.

    Whether you plan for this or not, it's going to come up. So it's best to decide how you'd like to handle Let's Plays and other videos of your game early. It wasn't long before I was asked for permission, and in some cases, you may be asked to sign paperwork authorizing them to publish videos of your game, depending on the video service.
    • Once again, I have to defer to Pixel Prospector here, as they maintain an excellent list of YouTubers.
  • Videos - Let's Plays aren't the only video format that can be useful for promoting your game. Creating videos with gameplay footage, teasers, or backstory can provide yet another a way for customers to explore the world you're creating. Some folks prefer watching a video over playing a demo or reading, so this opens up the game to that demographic. Plus, if the video is hosted on a socially-enabled website, viewers can easily share your video with others, or post it in reviews and other articles. Some places to consider publishing your game videos:
    • YouTube - Probably the easiest to do, by far. Offers monetization via ads, though I would tend to stay away from any advertising to avoid branding confusion.
    • Vimeo - Another popular video service with emphasis on creativity and quality, though it's had some run-ins with indies in the past.
    • Any place your game is sold online (e.g. your website, Desura, Steam)
  • Ask Me Anything - AMAs are pretty much what they sound like. You'll find quite a few game devs conducting these on Reddit, or similar. In practice, I find I'm doing a little bit of this every day, in various locations around the net. However, setting one up personally can lend an air of authenticity to the discussion, and help centralize and focus it, which might help it grow to larger proportions.
  • Forums - Discussions tend to pop up all over the net, and I'll often swing by to read comments as they develop. I have my own forums, of course, and they provide the greatest volume and detail of all. However, it doesn't hurt to keep an eye out for discussions elsewhere, as they can often provide useful feedback of their own.
  • Social Tools - It's also worth considering which social channels you plan to use. Every person has their preferred suite of social tools, and every one you support caters to that type of person. A word of caution, though: don't bite off more than you can chew. A stale or abandoned social channel can cause as much harm as good.
    • Twitter - Very popular with indie developers. Provides easy sharing, direct access to fans, and all in bite-sized chunks.
    • Facebook - A lot of indies have setup Facebook pages or sites for their companies and games. Provides a means for fans and developers to communicate directly. Can also be a cheap alternative to a website for burgeoning indies. However, be careful about making Facebook (or any third party service) the official site for your game. If things ever turn sour with the service, they've got your community as a hostage.
    • Subreddit - Reddit can be a powerful tool for promoting content, if that content proves popular. A number of developers have setup specific subreddits, and often post updates to their projects, or other promotions.
  • Conventions - Having a presence at a game convention can mean a couple of things. One option is to rent a booth, and show your game on the expo floor along with other developers. Alternatively, you could try to get a speaking gig, and use it as an opportunity to garner more focused attention. Game conventions each have a different flavor and style, so there's no guarantee a convention will be the right fit for your game. However, if you can find a way to make your game work with the format of the con', it can be useful for meeting fans and other devs alike. And if your presentation or personality are memorable, it can really stick with visitors long after the show is over.
There are others, for sure. Just about anything can be used as a tool for raising awareness, with the application of an appropriate amount of creativity and elbow grease. In particular, see if there are certain strengths you can leverage which set you apart from the crowd. Uniqueness usually more than compensates for volume, and is cheaper!

A Note About Messaging

Before closing, it's worth pointing out the importance of messaging. Take some time to get a real handle on what it is about your game that makes you special. Why would customers care about your game? What types of customers would most like your game?

As Tadhg Kelly puts it, You Need a Marketing Story.

The better you can tailor your messaging to the intended audience, the more effective it will be. Similarly, the more you can narrow your focus, the higher the chance is of getting through. Trying to reach "everyone" puts you in direct competition with AAA marketing. In that arena, money wins more often than merit. And believe me, they can outspend you.

So stay light. Stay nimble. Use guerilla tactics. And most importantly, be interesting. We're game designers and developers, after all. If anyone is equipped to design an engaging experience, it's gotta be us.

Monday, February 4, 2013

Gameplay Verbs and Ratios

This past holiday season, I decided to pick up a few games on the cheap. Courtesy of the Steam and GOG holiday sales, I picked up a handful of excellent games, two of which are Morrowind and Planetside 2.

That last one wasn't strictly on sale, since it's free-to-play. However, it's the one that got me thinking a lot about gameplay verbs recently.

Gameplay Verbs

I think I was first introduced to the idea of gameplay verbs in Jesse Schell's "The Art of Game Design: A Series of Lenses." The idea's been around since long before that book, of course, but that book formalized it quite a bit for me.

In short, a gameplay verb is one of any available actions the player can take in a game. Schell uses checkers as an example, citing its three available verbs: move checker forward, jump an opponent's checker, and move checker backward (kings only).

Schell goes on to describe what he calls "resultant actions" (as opposed to the "operative actions" listed above). These resultant actions include such things as protecting another checker by moving a checker behind it, or sacrificing a checker to trick one's opponent. They are perhaps more akin to strategies, or verbs with intent.

Verbs themselves can be entertaining, such as driving a sports car in a racing game. However, most of the staying power for games comes from the strategies; the emergent gameplay. Emergent gameplay includes such activities as trying to beat other drivers to a destination, or trying to jump the furthest off of a cliff. In essence, using simple gameplay verbs in meaningful and creative ways.

Verbs and Planetside 2

As mentioned above, I recently started thinking about this topic while playing Planetside 2. For those unfamiliar to the game, Planetside 2 (Ps2) is a massively multiplayer online first person shooter. In a given match, players on each of three teams are trying to gain control of the whole map via armed combat and capturing control points. It shares some similarities with games like the Battlefield series and it's conquest mode.

Players in Ps2 have a wide range of verbs available to them right from the start. They have the usual walking/running movements, jumping, primary and secondary weapons. And all have a special tool associated with their role. A sniper has a cloaking device, an engineer has a repair tool, etc.

Furthermore, as one plays the game and accumulates points, they can spend those points on upgrades for their character. These upgrades can include new tools, enhancements like higher ammo capacity and faster running speed, and even metagame enhancements, like shorter waiting times for vehicle respawns.

It didn't take me long to discover that I favored playing the light assault trooper role. They start out fairly out-gunned, having only a short range carbine and pistol, and out-armored, having the least armor of any class. However, they're faster than any other class, and have one thing which, in my mind, is a game-changer: jet packs.

In a game where all other soldiers are earthbound, I cannot emphasize enough how exciting it is to be able to use the third dimension as a tool against one's opponents. It opens up avenues of approach, evasive maneuvers, hiding places, and generally lets one go where no one else can.

High Resultant Action Ratios

In Schell's terms, this is a verb with a high ratio of resultant actions to objective actions. It's one action (limited vertical movement) that opens up a raft of new strategies.

However, it wasn't jet packs that got me thinking about verbs (although it did prolong my interest in the game considerably). I started thinking about verbs when it came time to upgrade my character.

Faced with a seemingly endless array of upgrades, my first inclination was to simply reinforce the thing that attracted me to the class: upgrade the jet pack to fly further. I was encountering some obstacles that I still couldn't surmount with my pack, so I figured I could bump it up a notch or two.

As upgrades progressed, though, I quickly reached a point where the pack was "good enough." Additional upgrades just didn't seem very worthwhile, nor exciting. Beyond clearing major obstacles, the pack upgrades were a case of diminishing returns.

Instead, what I found was that I started gravitating to upgrades that let me do new things. One of my first upgrades was the C4 explosive charge. Suddenly, my plucky gnat of a soldier packed some punch, and made me a threat to armored opponents. To my arsenal of disruptive strategies, I could now add dropping onto vehicles from above, and planting charges. Or, I could set the charges in a choke point, and detonate them as a trap. I could even set them someplace far away from my objective, and use them as a diversion. C4 was a high ratio upgrade.

What I didn't opt for, however, were upgrades with low ratios.

Low Resultant Action Ratios

Quite a few of the upgrades in Ps2 are little more than incremental changes to existing verbs. These upgrades include more armor, faster shield recharging, or extended ammo supply. Compared with what I experienced after unlocking C4, these seemed downright boring. Sure, they allow one to last longer in a toe-to-toe fight, or generally out on the field, but that's not really offering me a new strategy. It's more like a higher chance at success with existing strategies.

As I write this, it occurs to me that this may be one of the reasons I lost interest in Dungeon Siege II so quickly. It had many of the elements I enjoy in an RPG: fantastic worlds to explore, character creation and customization, party-based combat, and room for strategy.

However, after playing for a while, it became apparent that I wasn't getting any new verbs to play with. Most of my progression was incremental in nature, offering me progressively better chances to hit, damage rolls, and resistances. Rarely was anything introduced which made new strategies and techniques available.

In fact, I reached a similar point when playing Ps2. After unlocking most of the high ratio upgrades for my soldier, my interest started to wane. The idea of grinding for hours to get more armor just didn't have any appeal.

High Verb Count, Low Ratio

Let's take a moment to consider another arrangement: games with a large number of verbs, but introducing chance to determine success. A good example of such a game is Morrowind.

When one starts a game of Morrowind, one quickly learns to accept failure at nearly every task. Swinging a sword at a mudcrab? Miss. Casting a heal spell? Spell failed. Picking a lock? Lockpick broke. Jumping? Not over that tree stump.

Usually, several hours of gameplay are required to achieve a level of basic competence in most verbs. Instead of unlocking new verbs over time, Morrowind gives you nearly all the verbs at the start, but lets you unlock incrementally larger chances of success, and larger effects, when performing said verbs.

However, I think what we start out with in Morrowind are actually false verbs. They purport to do something, but when enacted, have little or no effect. Unskilled jumping doesn't really give me any new strategies, for example, it just has a cosmetic effect until it's leveled-up sufficiently. And the starting fireball spell doesn't really belong under the destruction school as much as illusion. It serves to get a creature's attention, but little more.

In other words, even though Morrowind starts players with a large number of objective actions, the resultant action ratio is still pretty low, in practice.

That said, the potential for a high ratio is there. Indeed, the promise of real power is one of the reasons many are willing to endure the slow start in Morrowind. Having a high acrobatics skill can be as liberating as the jet pack was in Ps2. And the upper range of destructive power in magic is nothing short of god-like. In Morrowind, a fully-formed verb is a sight to behold. For kicks, try opening Morrowind's debug console, and typing player->setacrobatics 250. Have fun :)

Improving Verbs and Ratios in Games

So what can we glean from this discussion to make our games better?

Adding more verbs seems obvious. However, as we can see in the Morrowind case, verbs alone are not always satisfying.

Most of the games we enjoy tend to have a high ratio of resultant actions to objective actions. In Super Mario Bros., the player's jump not only clears obstacles, but is a means of defeating enemies, getting power-ups out of boxes, and reaching secret areas. In Thief, the moss arrow can place a blanket of growth on the ground to mask your steps, but it can also push a button silently from a distance, or even temporarily choke NPCs for a quick getaway.

So designing games where each tool has multiple use-cases is probably more effective than simply adding more single-case verbs.

Having the high ratio verbs isn't enough, though. The player will also need occasion to use them. I feel like NEO Scavenger's biggest shortcoming right now is that the story affords too few chances to use the character's skills and items, along with the player's creativity. Ideally, there would be more opportunities for players to meaningfully use whichever skills they chose and items they found.

Introducing high ratio verbs gradually is also a useful technique in game design. The Zelda series, for example, is renowned for its gradual bestowing of new tools. The controlled rate of discovery means that new players can focus on broadening their mastery and creativity of one tool at a time, and also gives players something to look forward to.

Note that gradual doesn't necessarily mean incremental. In the case of Zelda, we get a reliable boomerang, and not a boomerang that only has a chance of stunning enemies, or retrieving objects. In Thief, the water arrow puts out fire reliably, not 25% of the time.

Morrowind's "training skills via their use" is certainly a realistic approach, and the outcome may also be realistic (i.e. unskilled alchemists might botch the potion recipe). However, long, arduous training probably isn't the element of fantasy we most want to experience. On the contrary, good storytellers usually know when to skip the long, boring parts to arrive at the scene of interesting action or dialogue: the part where the character is creative when faced with an obstacle; bold in the face of danger; or rational in the presence of escalating tempers. We want to vault over the chasm heroically, stare down the bodyguard, or negotiate the ceasefire.

And in situations where we must have a chance at failure, content creators can try to make those failures more interesting. This is definitely possible in cases where a skill check is done in dialogue, or a similar branching encounter. To do so, the designer ensures that failure cases present new opportunities for creative problem solving, or at least tell interesting stories. It's hard work for the author, to be sure, but as they say, "nothing worth doing is easy."

Ultimately, game designers are creating systems, not just stories. Stories may be told within our games, but they are not the linear stories one finds in other media. In games, players have agency, which is to say that they have verbs they can apply to objects in the game. And by virtue of their agency, they may not do what the designer intended.

Rather than curtail players' actions to keep them on a prescribed path, we should endeavor to validate and reward any path they may choose.

Monday, January 21, 2013

On Resolution and Fonts

I wanted to talk a bit about screen resolution and fonts today. A larger resolution and font has been one of the most requested features in NEO Scavenger, and it has come time to do something about it.

Where We Are Now

NEO Scavenger currently runs at 800x600 resolution. Back when I was first making the decision on resolution, I chose 1280x800, half my monitor resolution, so I could see full-screen with 2x scaled pixel art. Shortly after that, I switched to 1280x720 (720p), to better align with standard HD.

However, since NEO Scavenger was originally intended as a portal-sponsored title, I decided to scale it down to 800x600, using 1x scaled pixel art. It was a tough decision (I liked the 2x scaled look), but it made better business sense at the time. (Portals typically have an upper limit of 800 pixels for game width.)

Outside of the portals, though, 800x600 is a pretty restrictive resolution. And while NEO Scavenger can be played in resizable windows, the nearest-neighbor scaling can make things pretty ugly. So if players want to see NEO Scavenger in a larger format, what resolution makes the most sense?

User Statistics

Before deciding on a new resolution, I thought it would be helpful to see what most users have. Unfortunately, that's one statistic the in-game NEO Scavenger metrics don't track.

However, one benefit of running one's own storefront, and hosting one's own game, is that I have website logs to turn to. It's not as good as tracking that info from within the game, but it's pretty close. So I opened up Google Analytics to take a look:

Figure 1: Total Visits Sorted by Screen Resolution
Hm, that's not as clear-cut as I had hoped. The top 10 resolutions only cover about 57% of all users. Worse still, look at the lower right hand corner. That's right, there are 1336 different screen resolutions used to view bluebottlegames.com! (Also, damn! Missed it by one!)

Ok, so it looks like we'll need to do some data-slicing and bucketing.

Aspect Ratio

What about aspect ratio? Overall screen size may vary quite a bit, but surely most are either standard (e.g. 4:3) or widescreen (e.g. 16:9), right?

As it turns out, between the various device types (LCD monitors, laptops, netbooks, tablets, phones, index spiders) and display configurations (portrait vs. landscape, single vs. multiple displays), there are ~400 aspect ratios in the logs.

Fortunately, this is their distribution:

Figure 2: Histogram of Aspect Ratios
In other words, only a handful of aspect ratios are in significant quantity. And if one looks closely at the values along the x-axis, many of these aspect ratios are only marginally different. So I ran some algorithms on the data to group things further.

First, I grouped identical displays with different orientations, so portrait and landscape orientations were combined (with the largest dimension reported as width). I realize this may not be perfect, since users who prefer their monitors in portrait mode may not be willing to rotate their screen to fit a wide game screen.

However, since NEO Scavenger is a landscape-oriented game, accommodating portrait mode on most monitors would restrict the game screen considerably. It's current width of 800 pixels would already break the limits on many monitors. Besides, I suspect most gamers will have a landscape orientation, as that's how most games are designed.

Second, I grouped similar aspect ratios such that there was a +/- 8% tolerance in the final aspect ratio value. For example, 1.7708 and 1.7778 would be in the same group, but 1.6 would not. Doing so reduced the spread considerably:

Figure 3: Histogram of Aspect Ratios, 8% Tolerance
Now we're starting to see some familiar faces. 16:9 is the HDTV ratio, used with displays that are meant for 720p (1280x720) and 1080p/1080i (1920x1080), as well as many widescreen computers and tablets (e.g. WXGA). 4:3 is the SDTV ratio, which was common in older televisions and desktop computers, such as 1024x768 (XGA), 800x600, 640x480, etc.

16:10 is also quite common in desktop displays, as well as many tablets. And 5:4 is a common ratio found in many non-widescreen LCD displays.

Five buckets is a much easier dataset to digest. And fortunately, the answer seems pretty clear: the vast majority of users (~80%) are on a widescreen aspect ratio.

Screen Size

So what about the actual screen sizes? Assuming I decided on a widescreen format, what size would fit the largest number of users' screens?

To answer this, I took the most common 16:9, 16:10, and 4:3 resolutions, plus a handful of other common resolutions from the top of the web logs, and calculated what percentage of users could display each size without cropping. Here's what I found:

Figure 4: % Users Supported at Various Game Resolutions
Again, it looks like we're pretty fortunate. There are 5 screen sizes that would each support 90% or more of my site's visitors.

480x320 is there because it was one of the top 15 screen sizes, but it's a bit deceptive. It's actually a common smartphone screen size (e.g. iPhone, BlackBerry, etc.), so it's not likely players of the game as much as web surfers. Furthermore, the number of users in this screen size only account for about 1% of all users. They just have a tightly-grouped bucket. Like I said, deceptive.

That leaves us with 800x600, 1024x768, 1280x720, and 1280x768. I'd really like to do a widescreen format, since the data shows that most users have that aspect ratio. However, both the 1280x720 and 1280x768 formats would leave ~10% of the site visitors with a squashed or cropped screen.

However, as I'm mulling over these values, a thought occurs to me.

Steam User Data

Each year, Steam does a hardware survey of its users, and publishes the results. And with over 6 million concurrent gamers at peak, that's a lot of useful data.

So I grabbed their screen size data, did some number crunching, and applied the same filters and sorting as above. Here's what I found:

Figure 5: Histogram of Aspect Ratios, 8% Tolerance (with Steam)

Figure 6: % Users Supported at Various Game Resolutions (with Steam)
First of all, it's good to see similar numbers. I can't say for sure if my calculations are accurate, but at least they're precise :)

Once again, we see that widescreen is a big winner. And in fact, the gap between 16:9 and 16:10 is more pronounced. Perhaps even more heartening is that the top two widescreen resolutions are more widely available to Steam users. Just about 95% for 1280x720, and 94% for 1280x768.

The "Right" Resolution

So what's the "right" resolution for NEO Scavenger? I'm leaning towards 1280x720. Knowing that widescreen is more widely supported than not, I'd prefer to chose a widescreen format. The question is, which one?

Of the widescreen formats, it seems 1280x720 (720p) and 1280x768 (WXGA) are the two most viable. 720p is slightly more widely supported than WXGA in both my and Steam's users, so that's one reason to prefer that format. 720p also seems like a more standardized format, since it is the HDTV standard, and many devices are designed to support it for that reason (tablets, consoles, projectors, etc.).

The main reason to go with 1280x768 would be to get the extra vertical real-estate. However, when looking up screen sizes, it occurred to me that many 16:10 devices are computers, and this extra vertical height might be a design response to the OS taskbar. It's possible that designing software for 16:9 still fits a 16:10 monitor better, since it leaves room for tabs or other OS UI.

I can also see that 16:9 outstrips 16:10 considerably, in pure aspect ratio terms. It would seem that no matter the reasoning behind 16:10, 16:9 simply has more reasons to choose it.

So, 720p it is.

What About the 10%?

Unfortunately, choosing 720p still makes life difficult for 10% of my users (or 5% if you judge by Steam's numbers). What about them?

And what about the Flash portals? I'm always saying how I'd like to publish NEO Scavenger's demo on portals for broader awareness. Won't this screw that up?

It does. And to the question prior: I'd like to support them too, if possible. So my current plan is to see if there's some way I can setup the UI to work in both 800x600 and 1280x720 modes. It's a daunting task, since the available real-estate is quite different. And it means storing either two different sets of coordinates and zoom, or else some sort of UI-scaling rules.

Neither are going to be trivial. But I think it's at least worth trying.

And What About Fonts?

Right, I mentioned fonts too, didn't I?

Fonts are another area that needs improvement in NEO Scavenger. More than a few users have complained of eye strain trying to read the tiny pixel font in NEO Scavenger.

I'd like to just bump up the font size, and be done with it. However, the font I'm using is actually a custom made one. So simply scaling it up won't make it clearer. It'll still be pixelated, because that's how it was designed.

I briefly started toying with 3rd party fonts, like Arial, Verdana, etc., but then the question of licensing popped into my head. I did some research, and for a moment, thought I was in the clear. Then I saw a comment that gave me pause.

So I did some more research, and then it seemed like I was in the clear again (search for the string "SWF" in that last adobe.com link). Unfortunately, after an hour-and-a-half of this ping-pong, I was only learning one thing: font licensing is in a state of hell, and I want to have nothing to do with it.

My current leaning is to just eat the time cost and make my own font again, just for a larger size this time. The only thing that bothers me is that I don't want to "guess and check" a bunch of times if each time means designing a font. They don't take too long to make if you know what you're doing, but I can't afford to make 15 different fonts just to find out each doesn't look right.

So what I may do is use well-known fonts to gauge the size and style I want, then go make my own in the same style and size.

Scaling

Lastly, a note about scaling. Whatever screen size I choose, it won't fit everyone's screen. So when the game goes to full screen, it won't always be a perfect fit. So I have some choices to make.

The first one is whether or not to scale at all. I think this one's a given. Some folks just want to zoom in, and see things bigger. So I plan to make the game scale up to fit the full screen, but maintain the aspect ratio, using black to pad the extra space. I'll probably also add an option to just leave it at 1x zoom with black bars at full screen, for those who want it (should be trivial to add).

The second is what type of filtering to use. Up until now, it used the default flixel nearest-neighbor filtering. This type of filtering produces clean, crisp images when zooming in whole increments (e.g. 2x, 3x, 4x). However, fractional zooms (e.g. 1.5, 2.1) produce horrendous artifacts. This is likely the source of many font complaints so far.

I could switch it to use bicubic (or similar) filtering. This would make things look smoother when scaled, but would also introduce blurring. I opted not to do this originally because it's usually better used on photos than pixel art.

However, it may be an improvement over nearest-neighbor if I am to allow non-integer scaling of the game (which is likely, given the wide array of screen sizes in use). I think other games, even pixel art games, are doing this nowadays, too.

And then there's the question of whether to change fonts when scaling. This might be overkill, but it might look better if graphics use one filter, and fonts another. I haven't tested it out yet, though.

For now, I'm getting things setup for alternate screen sizes in the code, so I can start testing these ideas. I welcome any advice or experience on the matter!

Monday, January 7, 2013

2012 Retrospective

With the ringing of the new year, I thought it might make sense to look over the previous one, to get a sense of where I've been, and what that might imply about where I should go next.

January 2012

Twelve months ago, I was just becoming a Canadian permanent resident. After months of sitting on my hands, it was time to start making things official. I still had a lot left to do before launch, but I could finally submit paperwork and other requests, and start on the process of making my dream business a reality.

NEO Scavenger already looked pretty much like how it does today:
January 2012 vs. January 2013
January 2012 vs. January 2013
However, despite the shared map and item graphics, quite a lot changed under the hood. These changes are only hinted at by some of the UI differences shown above.

NEO Scavenger finally got its logo:


And it also received an overhaul to its scavenging mechanic. Prior to 2012, scavenging involved visiting a hex, opening the inventory screen, and hoping there were items on the ground. Not exactly the most engaging mechanic, especially considering it was the namesake for the game.

Skill selection was finally becoming more like what we see now, instead of this:

Nominated for most intuitive UI of 2011.
The inventory screen was changed to rely less on ctrl and shift clicking, instead using "modes" triggered by visible buttons. The UI also got hotkeys for the various screens and modes.

I implemented Playtomic for metrics, which was a partial success. The basic stats are still useful, though the more complex stats I setup are not very usable. A preloader was added, which is still used today. SecureSWF is likewise still pulling its weight as a code obfuscator. And save/load was in its infancy.

January was also the month when I decided on NEO Scavenger's final business model. Until this point, I was expecting it to be launched under the sponsorship model. I also decided on feature voting, as a means to gather measured user feedback.

The game switched from 1280x800 (arbitrarily chosen as half my monitor's screen resolution) to a more universal 800x600 (palatable for game portals). Finally, I added site-locking as I prepared to put NEO Scavenger out there for people to test.

February 2012

In February, I began piecing together all the necessary components for launching a business on the web. Quite a bit of time was spent on everything from creating a website to setting up a payment provider. It was a month filled with more business work than game, though I still managed to cobble together some new in-game items, new artwork, and a spate of newspaper loot with back-story snippets to read.



March 2012

March marked the public launch of both NEO Scavenger and my company, Blue Bottle Games. 9 months after starting development, NEO Scavenger was available for all to try and pre-purchase.


And with that launch came the stresses of running a public-facing service company. I had to quickly adapt my schedule to balance development with PR, and adapt my psyche to the ups and downs of public opinion. Fortunately, most of that opinion was positive. But it was still a bracing experience.


March also marked my first taste of revenue. It started small, then surged wildly with some press coverage, then settled back down to a stream. Fortunately, that stream continues to this day, and even had a few additional, albeit smaller, spikes along the way.

April 2012

In April, sales settled into their steady state, which was (and continues to be) a little less than cost of living. This shrinking of a major launch spike caused some existential concern. As it turns out, this question of "when is it 'done'?" never goes away. It just changes circumstances and specifics over time.

I was also faced with my first major public game design decision: permadeath and save games. I ultimately decided to keep the game more rogue-like in that permadeath means save games are deleted. Months later, I'm glad I did. It was a decision which could have drastically altered NEO Scavenger, and I'm glad that it was altered in a way that keeps it challenging, unique, and with some later tweaking, fun.

I also started to formalize my PR policy by the time April came around. Fortunately, I wasn't faced with too much internet hate, but the hate I did receive forced me to grapple with my rules of engagement. Put succinctly, ignore attacks, and focus on being constructive and responsive to those that are constructive.


In development of the game itself, the camping and night/lighting features were big items. They were the first major features, in fact. Lots of loading/saving fixes were required as well. And the website and order process had some growing pains to resolve.

May 2012

During the month of May, blog posts focused on more meta-topics such as tracking data and money-saving tips, to keep overhead costs minimized.

Development of the game, on the other hand, was in full force. As I would soon discover, plot is hard to do. For nearly a month, all that readers saw coming down the wire was "did more plot work today." I don't enjoy phases where there's little to share with fans, but I also don't want to spoil the fun by revealing the story out of order.

Encounter Editor

Fortunately, there were a few updates sprinkled in to keep folks entertained. One such change was the chase, which opened up various new gameplay tools for tracking and hiding AI. The oft-requested pockets were also added.

And May is also when I started working with my first collaborator: Cameron Harris. His input to both design and plot has been a real asset, and I believe NEO Scavenger is a better game for it.

June 2012

I was on the road for part of June, so activity was a bit limited. It did give me a chance to try out developing on the road, and to see how poorly I was prepared.

Still, a lot got done on NEO Scavenger in June. In particular, I made my second major decision: to work on improving combat ahead of schedule. Combat was pretty poor in early versions of NEO Scavenger. Its dependence on luck made it more frustrating than fun.

New Combat UI
By the end of June, combat had a new face, and it was far more tactical and engaging. It also included some improvements to AI.

July 2012

In July, I started lamenting my poor work and exercise habits. While I feel my workaholism has improved (I took 2 weeks off at Christmas, despite the temptation to only take 1), I'm still short on exercise. I made my second, and more serious, dip into the world of business accounting. And I was approached by Desura for inclusion in their service!


With the new combat system launched, I began work on a wounding system that would integrate with the extant player conditions, and offer opportunities for resourcefulness and strategy in dealing with wounds. I would argue that this suite of combat and wounding systems was one of the more important changes to NEO Scavenger so far, as it greatly enhanced the game's uniqueness, depth, and fun factor.


July is also the month where I began working with my second collaborator, Josh Culler. Josh's music has added a wonderful sense of atmosphere to the game, and has been very effective in promotional trailers as well.

August 2012

August was the month of getting ready to launch NEO Scavenger on Desura. For the first time since March, the demo gets an update to reflect the new features and content. NEO Scavenger also got its first trailer. A lot of research goes into making NEO Scavenger downloadable.


With those fulfilments complete, I began the Desura application process. Coincidentally, Steam Greenlight launched that same month, and within 24 hours, NEO Scavenger was added to Greenlight!


NEO Scavenger also had combat fleshed out with new moves, terrain resources (e.g. water, wood), and a new encounter to allow players to return to the cryo facility and make a permanent base.

September 2012

With the Desura and Greenlight launches done, I decided to do a mini retrospective. In it, I look over some of the sales stats to-date, and how both launching on Desura and Greenlight affected them.


I also officially enter the Mac and Linux realm with my first Mac hardware. $500 netted me hardware I could create Mac binaries with, as well as dual-boot Linux for that version.


I also had a few hardware failures, which cost some time and money to isolate and fix, but were thankfully minimal in impact otherwise.

NEO Scavenger gets the ability to delete items, a new thank you postcard design, and work begins on random encounters. Josh's first batch of in-game music is also added.

October 2012

NEO Scavenger is featured in its first bundle. While a success by most standards, I decide that I'll probably wait until after v1.0 is done to do another, and turn down subsequent bundle offers accordingly.


Player frustration mounts, and the question of game design and permadeath resurfaces. I decide to take a long look at the game's design, to see where it might be failing. I still want to keep permadeath and NEO Scavenger's rogue-like qualities, but I also want to offer players the tools they need to overcome adversity. It is likely to be an ongoing balancing act.

The process of plot work remains slow and grueling, with little to show while in progress. However, I finally finish entering data for the random encounters. The Desura website gets the ability to connect owners there to accounts at bluebottlegames.com.

Work begins on one of the most deceptively difficult bugs in history: item stacking.

November 2012

With random encounters increasing the encounter node count above 750, the encounter editor fails to start anymore. I begin rebuilding the editor in Haxe NME, partially as a solution to the above performance issue, and partially as a test to see if NEO Scavenger is worth porting to NME. The results are pretty good, but there are a few stumbling blocks. I decide that NME holds promise, but I might wait a while before porting NEO Scavenger.


The stacking change continues to ripple bugs into mid-November, but finally works. The mouse is upgraded to take advantage of new Flash plugin features: hardware mouse and right clicking. Plot work resumes in the new editor.

DMC City Map v1
I also needed to take a step back to revise overall plot and mythology. And once course-corrections were in place, it was time to start work on opening the DMC to players. A lot of the work revolves around the map used to represent the city to players.

December 2012

As work continues on the DMC content, I focus the blog on more business related musings. I take some time to discuss my policy for customer relations, and how to avoid stressing out over release schedules.

Work on the DMC map continues, adding both detail and animated VFX for interest. Rather than releasing a full screenshot of it, I decide to do a teaser with one of Josh's new music pieces for the city.


I briefly start thinking about currency, then exercise some discipline and decide to focus on higher priorities: city encounters. Finally comfortable admitting the DMC will not be ready for Christmas, I decide to take a player's suggestion to release some wallpapers instead.

Desktop Wallpaper of DMC

Looking Back, and Looking Forward

It was a good year, overall. I had some good successes, made some mistakes, and learned some big lessons. NEO Scavenger earned more than I expected, but less than I hoped. It's poised for success, though, as long as I keep working hard.

The biggest issue I see, moving forward, is determining when to consider NEO Scavenger finished, and to move on to the next project. I'm resolved to release it this year, and have been telling myself and others that spring is the timeframe. Spanning that last stretch, and finishing with the right suite of features will be a big decision.

But as I go into 2013, I am more seasoned and confident, and I have optimism for the year to come. I'll no doubt make new mistakes, but also surmount new obstacles and claim new victories. Here's to acknowledging the past, and looking forward with hope!