Monday, January 9, 2012

Bonus Post: New NEO Scavenger Screenshots

It's been over a month since I've said anything about NEO Scavenger, and I let an extra week slip by between blog posts last time. In order to make amends, it's Bonus Post Time! Two posts in one day!*
*Bonus post time does not constitute an offer or agreement between author and reader to provide additional posts in case of blog rhythm lapse. Void where prohibited.

New Items!

I've been hard at work creating more items for NEO Scavenger. Most of the items I create can be used in some game mechanic. There is only one item that has no use yet (a handful of ashes), and none that are vendor junk. Each item can either be directly consumed, equipped, used in crafting, or in an encounter. As a result, they take a bit of time to make.

Ideally, I'd like for there to be a variety of each item type, for both setting flavor and better character customization. But I'm prioritizing more verbs for the player to use above more nouns. Once enough of these verbs are in-game, I can start rolling out the variety. And I'm really looking forward to that. (Neon-colored "Hiya Poopy!" kid's backpack? Yes please!)

Let's go shopping at Shop Mart!
In the screenshot above, you'll notice a whack of new items. (Or as my junior high creative thinking advisor would call it, a "whomp" of new items.) New items include:

  • Shop Mart shopping carts! (NEO Scavenger's first vehicle)
  • A handful of small parts, screws, and bolts. (Useful for crafting!)
  • A metal saucepan (For cooking and beating!)
  • A multi-tool pocket knife (Is there anything it can't do?)
  • Lock picks (For those pesky locked storage sheds)
  • A .308 hunting rifle, with AP and soft-point rounds (Hard to find)
  • A nanorobotic medical kit (It's like having 100000 tiny surgeons on-call!)
  • A crowbar (For when scavenging quietly is priority #2)
  • A military-grade laser rifle (Ha! You thought the .308 was hard to find!)
  • Mushrooms (Culinary or poisonous? Only one way to find out! Or two.)
  • A variety of berries (Black and blue, good for you...)
  • Squirrel corpses! (Source of meat and fur. But careful they don't rot!)
  • Squirrel pelt gloves (Who says you have to find everything you wear?)
  • A handful of twine, thread, and floss (Suitable for squirrel snares, or sewing!)
New Skills UI!

I also gave the skills screen a much-needed overhaul. There was some confusion as to how skills vs. traits worked. In practice, they behave a lot like any other item: traits are like containers that you can equip (e.g. a bag), granting you room to fit skills into (e.g. putting items in the bag). Traits are usually drawbacks, skills are bonuses. So taking more drawbacks means you have more room for bonuses.

Choosing skills and traits in the new UI,
I start each player out with four "Basic Human" traits for free. They each grant space for one skill, with no penalties. If the player wants any more than four skills at the game's start, they need to take a trait. The trait might limit their carrying capacity, or make them need food more often, so they should be chosen carefully.

I also separated skills and traits into different boxes, and changed their colors, so now skills are blue and traits are red. This should make it clearer that they are different beasts. Previously, they were lumped together in one box, with blue and white colors.

Finally, I made slots for the traits to go into. I might as well use this opportunity to teach players how to manipulate items, since they share mechanisms anyway.

New Inventory Controls!

I've also changed the way the inventory screen controls work (again). My most recent playtest was with a 9 and an 11 year old. Using my laptop's trackpad, they were unable to shift+drag items into slots. Furthermore, ctrl+click to consume items was not easy to remember. Overall, it was just too hard and required too much dexterity to manage the inventory. I've had a lot of input suggesting this might be an issue, so it was finally time to try something new.

Shift and ctrl are now out of the picture. Instead, the user can click toggle buttons to change the behavior of mouse clicks in the UI. If you look at the top of the above screens, you'll see a bar with different action icons such as "drag" or "take." Clicking any of those activates that mode of mouse input, until the user clicks a different mode. No more shift+drag to move an item. Now, the user can choose the "drag" mode to move items around by hand, or the "take" mode to quickly auto-drop items from ground to body and vice-versa. 

The "use" mode replaces ctrl+click for consuming items. Some users were trying to drag items to the mouth, or other areas of the body to use. I had provided a "Use" slot down in the lower left corner, but I don't think anyone looked there. And ctrl+click was not well-documented, so people just gave up.

The "whole stack" button toggles whether the click operates on a whole stack or not. When on, whole stacks will mvoe around. Otherwise, just the top-most item in a stack will. This is mainly there for large stacks of items.

Each of the mouse modes also has a hotkey; 1, 2, 3, and 4, respectively. These should be close enough to the WASD keys used for map scrolling and item rotating, as well as the UI hotkeys for different screens/menu (Q, C, Esc).

Finally, I made one subtle change which has drastically changed the usability of this screen: I made mouse clicks register on release rather than on mouse down. I'm not sure why I didn't try it sooner, but the former feels way more predictable and easy to control than the latter. It also makes dealing with partial stacks of items possible. I lose the ability to hoover-up items by holding the mouse down and moving it over everything I want, but I gain more precise control in exchange. Usability wins.

New Logo!

As the game nears completion, it was finally time to tackle the logo. I had a lot of doodles in the past, but my eventual logo choice looks like this:

Official NEO Scavenger logo.
The idea behind the logo is that NEO Scavenger mixes past and future, chaos and order, natural and artificial. The world of NEO Scavenger is filled with high technology, supernatural activity, man's fading past, and his tenuous future.

The NEO lettering reflects scratched lettering like that found on potsherds. Specifically, the ostraca used by archaeologists to piece together details of daily life where whole records are sparse. Indeed, the NEO portion of the name is an acronym for "New Earth Ostracon," suggesting the piecing together of our present times from the point of view of a post apocalyptic scavenger. This will be revealed in the game at a later time.

The Scavenger lettering looks more organized and futuristic. It is meant to give a feeling of modernness, even futuristic style. It also recalls the era of sprite graphics, the chosen art style for the game.

Finally, there was a series of criteria that I wanted the logo to fulfill:
  1. Must look good in black and white - One mistake inexperienced logo designers often make is to design a logo that requires 3 or 4 color printing to see correctly. 3D rendering and subtle shading look really nice under ideal situations, but what happens when your logo is photocopied? Printed on a cardboard box? Faxed? On 1-color LCD? I wanted the logo to be legible and recognizable in the most restrictive display situations.
  2. Must be vector-based - Logos will appear at a wide variety of sizes, and it's best to have it saved in vector format for the inevitable day when you need it printed at 300dpi. Or on a poster. Or a t-shirt. I sketched the idea in Photoshop, but I ultimately transcribed it to Illustrator.
  3. Must work on all backgrounds - You never know where you might end up putting this logo, so it's best to have a plan for when it is over a dark and a light background. In this case, enclosing the logo in a double border ensures it shows up no matter what.
New Scavenging Mechanic!

The game is called NEO Scavenger, but the scavenging mechanic was pretty boring before: just keep opening up the inventory screen on each hex to see what's there. I did some thinking, and prototyped a few ideas on paper, and came up with the idea below.

Scavengable hexes have magnifying glass icons.
Whenever the player is wandering around, magnifying glasses appear on some hexes at random intervals. These are scavenge icons, indicating that the hex has a scavengable location in it. (Box icons mean there are items of value in the hex already found) When the player enters the hex, they get a button in the top right allowing them to scavenge the current location.

Standing in a scavengable hex.
Pressing the scavenge button opens up an encounter screen, with all available scavenge locations listed for the hex. In a suburbs hex, this might be a mobile home or storage shed. In a forest, the player would only see stretches of forest to scavenge.

Choosing one of the scavenge locations shows the player some info on the prospects, such as the danger level, the likelihood of finding anything, and the chance of attracting unwanted predators. The player is also presented with any applicable tools or skills that would affect the outcome.

Once the player chooses his tools, the scavenge result is calculated. The player may find loot, may get injured in an accident such as a collapsing roof, or possibly attract the attention of a man or monster.

The idea could still use some fleshing out, but I like that it puts scavenging more in the hands of the player, rather than just random loot generation per-hex. We'll see how it works in practice.

And That's Not All!

Really, this may be the most exclamation mark dense post I've written yet. But there's a lot to talk about! In addition to the above, I've worked on:
  • Adding Playtomic API for metrics - Playtomic was super easy to implement, and I'm already collecting data on my debug plays. Still working out the best metrics to track, but this should be a no-brainer for game devs out there. It's free, easy, and useful.
  • Implemented a preloader - The final version of the game will need to be self-contained for portal sponsorship, so I made it possible to roll the content into the package based on compiler options. Doing so means a larger file size, though, so the preloader is there to tell the user how much game has downloaded in real time. Flixel's built-in preloader was easy enough to tailor to my needs.
  • Implemented SecureSWF by Kindi LLC - Just the trial version for now, but I think this is the package I'll be going with. It was a bit tricky to get working, as the settings needed tweaking to work with my code. But I managed to get it working in an afternoon, and most devs swear by it. So this is going to be a near-term purchase for me.
  • Added a save/load game feature - Still hammering the kinks out, but I can now save data for a game. Not sure where I'm going to store it yet, though. Considering GamerSafe, but I don't want to kibosh my chances of getting sponsored.
And there's still so much more to do. I'm being pretty harsh on feature cuts right now, trying to get something viable packaged and ready for sponsorship this month. It breaks my heart to leave some features on the cutting room floor, but I should be able to scavenge them for the next iteration. "Release early and often," they say, and I am looooong overdue in that department.