Archive for September 24th, 2010

While browsing through the Rampant Coyote‘s blog, I discovered this challenge: Make a game, sell 1 copy.

Ooooohhhhhh boy, this is tempting! Should I? Should I? Ah fuck it, I’ll bite! I got a quick idea floating in my mind, and I think this is the best time to realize it. So what game am I going to do?

Well, for starters, InfestedRL is still on track. It should be finished around 4-5th of October, which gives me plenty of time to work on this challenge. Alright, it’s on! Here’s the premise:

Evolution Chamber

Evolution Chamber is a game where you are in control of a bacterial culture. You can adjust the environment parameters to breed certain characteristics into a certain population of your culture (largely through natural mutations and natural selection), or you can spray them with a mutagen to accelerate (and randomize) the mutation process.

The fun thing about Evolution Chamber is that you can “join” your culture with another friend’s culture, and watch them duke it out. Turn your bacterias into acid spore spitting monsters with a hard carapace that is highly resistant against fire, and watch them slaughter your friend’s fire breathing bacterias!

This would be an interesting exercise in programming large scale decentralized AI, and a nice way to learn how to commercialize a game. I’m excited! Here’s a screen mockup of how it would look like:


Evolution Chamber mockup

Wish me luck!

This is partly an Avernum post, and partly a post on the lessons I learnt from playing the demo. First off, I must say that Jeff Vogel is somewhat of a role model to me. I enjoyed Geneforge, but not enough for me to buy it. I tried Avernum 6, and decided that the setting and story was well worth the money, but the interface leaves much to be desired.

In fact, the only thing holding me back seemed to be the extremely clunky interface.

I’ll explain. Avernum 6 is a primarily mouse-driven game, with keyboard helpers to give you quick access to various UI panels. But this is where it all falls apart, at least from my point of view. First off, item management.

Item Management

I might be mistaken, but in order to bring up the inventory screen, you either click on the bag icon on a character, or press 1-4 to select a character and then press “i” to bring up the inventory screen. All is well, until you want to close it. Pressing “i” again does nothing at all. You have to press the ESC key, or click on the close button to get rid of the screen.


Click on the bag to open the inventory panel

In my opinion, I find this counter-intuitive. I would expect the “i” key to be a toggle key in this case, and to be honest I don’t think this is a technical issue because the difference between a toggle key and an activate key are trivial to say the least.

Next, is the way items are picked up from the ground. First you have to press the “g” key, which brings up the loot menu. Thing is, the loot menu is exactly the same as the inventory panel, so I don’t understand the need for a redundant key binding. Secondly, like the inventory key, it should have been a toggle key instead.


Loot panel

Also, the looting mechanism isn’t really well laid out. Picking items from chests are done correctly, in my opinion. Click on a chest, and a window pops up with with the loot in the top right corner. It even reuses the inventory/loot panel, which is fine, but the problem crops up when trying to pick up items from the ground. You just don’t know if there are items on the ground or not – the world tiles doesn’t show. If I understand it correctly, you are supposed to pull up the inventory panel from time to time to find out what’s on the ground.

I think if Jeff managed to implement a clickable chest, why not implement clickable tiles as well when there are some loot-able items on the tile? I suspect that Jeff chose this way to reduce clutter on the screen, because as far as I understand there are a lot of loot-able items scattered around the world.

Finally, I need to whine about Equipment Management. There are 12 equipment slots on the paper doll, and the only hint you get as to which item type belongs to which slot is the tiny icon on it. There’s no tooltips, no quickhelp, not even a visual indication of which slot the item belongs to when you click on it. Below is a mockup that shows what I would have expected in the screen when I click on an item that I can equip:


Clicking on a sword would show the correct slot

I’ll stop here and reflect a little on what I learnt from this. There are many people who are turned away from indie games because of the sub-par graphics and old-school gameplay, but I think in general indie products should put more thought into UI and user experience design. For me a UI should simplify the tasks that I would perform frequently in the game and not get in my way instead. For Avernum 6, the rooms for improvements are obvious.

So what should I do with Splintered Core?

Lessons Learnt

Good UI should be designed from a user’s standpoint, instead of being built as an afterthought. Not that I’m saying Jeff did not put enough effort into UI and UX design though.

A good UI should simplify tasks, and the best UIs are usually those that look familiar and understandable at one glance. Granted, most games have their own UI and interaction method, but I think there must be common denominators amongst them.

Tooltips for one. Yes, Avernum 6 is an old-school game. Doesn’t mean that it shouldn’t include tooltips though. They are non-intrusive and goes a long way to helping the player understand the UI without the need of reading through long winded manuals or playing boring tutorials, so I don’t see any reason to exclude them from my UI design.

Next up, toggle keys. I play Avernum 6 with my index finger on the “g” key and my pinky on the “ESC” key. Try holding that for an hour and you’ll understand how tiring and unnecessary that is.

Starcraft 2 is a good example in this case. In Starcraft 1, hotkeys were spread all over the keyboard. Now, all hotkeys are binded to keys around the WASD area, making them easy to access without needing the left hand to traverse all over the keyboard. While some might argue that such arrangement wa primarily meant for speed, which is a critical factor in a real-time strategy game where there is a metric called actions-per-minute, I don’t see why the same philosophy shouldn’t be adopted to CRPGs too. It is convenient, keeps the left hand in one area, and keeps the players’ eyes on the screen instead of having him shift his sight from screen to keyboard and back again.

Therefore in Splintered Core, here are the default keybindings:

TAB = Next party member
SHIFT + TAB = Previous party member
1-6 = Select individual party member
A = Action menu toggle (lockpick, examine, disarm trap, steal, etc)
S or C = Stats panel (character stat sheet, game statistics) toggle (press to cycle)
D or I = Equipment panel (inventory) toggle
X or J = Journal toggle
Z or M = World Map/Local Map toggle (press to cycle)

As you can see, there are bindings for convenience (S, D, Z and X) and conventional bindings too (C, I, J and M). This means that for new players, the keys would exist where they expect it to be (conventional bindings), and when they finally take time to read the manual (or play the tutorial), they will be introduced to the convenience keys and hopefully would use them for the rest of the game.

I know, I know, I’m just theorizing and making a hell lot of assumptions about the user’s expected behavior. What I’m saying right now is that this would be my guiding philosophy when it comes to key binding placement and UI design, which would be supported by blind tests during the alpha and beta stage. It’s still a long way to go, but I think by defining what I want to achieve with my UI system, it’ll go a long way towards building an easy and convenient to use interface.