Tuesday, April 2, 2013

NEO Scavenger's Humble Beginnings

I was cleaning up some old files on my laptop this weekend, and I came across some of NEO Scavenger's earliest prototypes and documentation. And let me tell you, they were pretty eye-opening. Even for me. NEO Scavenger has come a long way.

Since this blog is meant to help newcomers to the indie world, I thought maybe I'd share some of what I found. Not only is it interesting to see how an idea evolves over time, it also might encourage those who are daunted by the finished products they play.

Few games, if any, spring forth whole like Athena from Zeus. More often, they're ugly, slimy, helpless little buggers, just like you and I were when we were born :)

A Little History

In April, 2011, I left my job at BioWare to try my hand at making games of my own design. NEO Scavenger was a foggy idea I had kicking around my brain, and was actually quite a different beast back then.

In fact, NEO Scavenger even had a different name: Post Apocalyptic Oregon Trail (PAOT). Here's a look at it's original design doc (pre-dating the design doc published in June 2011):

Post Apocalyptic Oregon Trail (PAOT)


What Is The One Sentence Story Line?
Exiled from MegaCity, the player must survive the wild wastes as he travels west in search of paradise.

What Is The Game About?
Salvage food, shelter, and tools from the wastes to meet daily survival needs, as you travel west to paradise beyond the mountains.

Game Overview
  • Man against nature
  • Plot your course west, one day at a time.
  • Search for food in the wilds and wastes, to stave off hunger.
  • Find shelter from the elements to stay healthy.
  • Find and improvise tools to help in your journey.
  • Balance the provisions you carry against the fatigue of carrying them.
  • Manage inventory by arranging your belongings in pockets, compartments, and other containers like puzzle pieces.
  • Find transportation to help you travel faster, at the cost of fuel and maintenance.
Differentiation Within The Category
  • Focus more on survival through resourcefulness rather than gunplay
  • Opposition is mainly environmental rather than soldiers, monsters, etc.
  • Play style is more laid back and pensive than Resident Evil type survival games.
Franchise Strategy
  • Free Flash game, licensed to game hubs
  • Possible ad revenue through MochiAds
  • Story establishes IP for POST (Note: POST was a working title for a post-apocalyptic setting)
Similar Titles
  • Oregon Trail (I, II, Yukon, Amazon, etc.)
  • Survival Kids (1, 2)
  • Lost in Blue (1, 2, 3, Shipwrecked)
The game described is actually not too far off from NEO Scavenger, at least in terms of theme and gameplay. The focus on traveling west is different, as is the origin of the character (MegaCity exile). And the transportation bit is admittedly optimistic.

The "Franchise Strategy" is a completely different story, though. NEO Scavenger as a free, ad-supported game was based on the assumption that I would work on it for a few months, then launch. Little did I know that I'd be working on the same game for years (starkly against my own advice).

Also, revel in how little I knew about the survival genre. Granted, many survival titles have cropped up in the past two years. But I'm pretty sure I was missing several important titles in that market assessment.

NEO Scavenger's First Prototype

Perhaps a more telling example of my lack of understanding is NEO Scavenger's first prototype:

Press the "I" key to see the map in the prototype.

Impressive, huh? You can move colored blocks around a grid, and switch to a map view to watch our protagonist travel west from "Elis." There's some random weather variables, tracking of time, hunger, sleep, and distance, and the ability to choose between traveling or sleeping for the next 4 hours.

The next prototype added a fancy map to the background:

Not much more to do, though. I eventually added a more representative item to the inventory screen, and made each location contain two of those items. The player could take the "soup" at a given stop, and the character would automatically eat when hungry:

It even featured an end-game! Patient players would be rewarded with green text proclaiming "You Made It!"

It wasn't very fun, though.

There were some interesting systems under the hood: weather simulation; tracking hunger and sleep; and item management in a grid. But I found myself clicking the "travel" button thoughtlessly until I needed to recharge "sleep." There wasn't much to the gameplay loop. No strategy. No risk. No fun.

I started wondering whether it might be more fun to navigate a map rather than a line. What if the player had to choose where to go, and there was no guarantee food or encounters would await them in the direction they chose? What if moving around was more or less costly depending on the terrain? What if visibility was limited by terrain?

Also, I was hooked on Civ V at the time.

So I decided to try changing the game to utilize a hex map. And this is how that looked, initially:

Still not much to look at. In fact, almost all of the systems of the above prototypes were stripped away, here, and it was just turn-based movement on an hex map, with date tracking per-turn.

Visibility, though, was a big difference. Not being able to see the rest of the map, and having to choose which way to go, felt like an improvement over having a linear, prescribed path to follow.

And within a few days, I had this:

Now I was actually starting to enjoy the prototype. Exploring the map kept my interest, as I wanted to see how the world looked, and what landscapes I could reveal. Movement was more strategic, as I weighed visibility vs. movement costs.

There wasn't any tension nor risk yet, of course, but it was starting to feel like a "toy" rather than a "tech demo."

A week later, and there was day, night, and weather!

Still no risk vs. reward, but I was starting to get more inspired with each iteration.

It was at this point that friends were starting to ask more frequently what the point of the game was. And they were right to ask. I needed to take a step back, and come up with a plan.

I drafted a new design doc. I started prioritizing features and tasks against that design. And from that blog post onward, you can see the iterations NEO Scavenger passed through to get to where we are today.

Rainy nights with stuff to do, and things to fear!

Baby Steps

Getting back to the original point, it's important to remember that making a game is a series of baby steps. Your game might not start out very good-looking, or even fun. And as you can see from PAOT/NEO Scavenger's history above, it might even involve a false start or two.

However, determination is key. As an amateur (programmer/artist/designer), I had to keep pushing forward, despite my own shortcomings. I made a ton of mistakes, too. Some more than once.

Over time, though, the baby steps add up. The thing you're working on gets better each time you add something that's necessary, or take away something unnecessary. Your own progress becomes a thing that motivates you, rather than just hope and optimism.

And eventually, you enter the phase where you wonder when you should call your project finished. I'll let you know once I discover the secret to learning that lesson!


  1. nice writeup. thanks for the insight.
    i am eager to see more content and improvement but a bit sad about the flashyness of the game. it would deserve something of a more professional feeling engine.

  2. I don't think NEO Scavenger would exist if I had chosen another platform. At the time, nothing could compare with its ease of use and deployment options.

    That said, it's true that NEO Scavenger has started to outgrow Flash. There are things I wish I could do now that Flash is directly inhibiting. I doubt I'll have time to rewrite the game in another engine, but I also doubt I'll make my next game in Flash.

  3. Any plans to add more sounds and music to the game? At the moment it's pretty bare bones. What surprised me the most was how underwhelming the rifle was. It might be that I'm just used to better sfx even from indie games.

  4. I'd like to do more sounds at some point, though I think it's unlikely there will be more music.

    Just out of curiosity, have you played the beta? One of the things the demo lacks is a soundtrack, whereas the beta features almost a dozen tracks that play periodically.

    In any case, you're right about the sfx being pretty weak. Audio design is something I'm interested in playing with more (I was really enjoying building sfx for ambient wilderness, the city, rain, etc.), but I've been focusing more on design, infrastructure, writing, and art lately.

    Adding per-item sounds to the inventory or effects to the battle screens would definitely add to the immersion, though!

  5. Yeah, I bought the beta but I didn't notice the variety of tracks. They just seem to come on and off at random but are off most of the time. I know it's beta and you are constantly adding new content so the game can only get better. Well worth my 15$!

    1. Ah, that's true. I sort of took a cue from Minecraft and had the music only play intermittently. I figured it was less likely to get boring and/or wear out if the music played less often.

      Glad to hear you like where it's going, though!

  6. You're doing a good thing here - thanks to baby steps your article on Haxe now nearly makes sense to me (before I was just impressed). As I progress, I come back to your blog to read old articles. It is absolutely fascinating to see how NeoScavenger grew too. So encouraging!

    1. Baby steps is like my programming mantra. From "hello world" to moving a sprite with keyboard input, the little iterations can really add up. Before you know it, it's a "baby step" to add morale to your AI!

  7. Great article as always, Dan. Flash seems to be a dying platform. I know I'd love it if you made an HTML5 version with a bit of responsive design so I can play it on my phone going home on the tube.

    Webapps are the way of the future.

    1. Thanks! I think NEO Scavenger would make a good mobile game, but I'm dreading the process of debugging it on 1000 device and browser combos :)

  8. This comment has been removed by a blog administrator.