Crafting Endogenous Value

February 8th, 2010

About 16 years ago (at the now seemingly infant age of 13), I was introduced to the fantasy role-playing genre of PC games with Ultima Underworld: The Stygian Abyss (Ultima). Ultima was incredibly immersive not only because of its rendering engine (one of the first to feature techniques we take for granted now like texture mapping), but also the ways in which players interacted with their avatar and his/her gear. Eating and sleeping regularly were necessary, lest the player suffer decreased health and stamina. Torches would burn out and had to be replaced. Swords would fracture if not regularly repaired and become useless junk. Fish could be caught (and eaten) from underground rivers. The list goes on…

After awhile, managing the in game inventory became an arduous task that led me to realize three things:

  1. I had (and still have, actually) a pretty severe case of OCD and simply couldn’t leave anything on the damn ground.
  2. Ultima’s inventory system allowed for nesting containers (basically putting bags inside bags). This led me to stumble on a bug in the game that caused it to crash while attempting to nest containers greater than 8 levels deep. I know…I need help.
  3. Some items had absolutely no useful purpose.

I’d like to stay on that last one for a bit because it begs an important question. Why deliberately design game objects (including their artwork, models, stats, and other assets) that don’t do anything? Ultima’s developers say they intended the game to be a “realistic and interactive dungeon simulation“, rather than a straightforward role-playing game. Of course, as we all know…realistic dungeons are full of useless crap.

Sarcasm aside, I do have issues with this reasoning. For one, the game is simulating a fantasy world, so the notion of it being a realistic simulation strikes me as odd. Some in game characters and creatures do have real world counterparts that are exaggerated to great effect (giant spiders give me the creeps), but ultimately the designer is crafting their own reality. That being said, I don’t see the problem with crafting a reality where every item (and I mean every item) is useful in some context.

In the case of Ultima, this is really a minor issue that doesn’t take much away from what is otherwise a classic RPG. I only mention it because of the lineage it shares with a ridiculous and growing trend that has crept into more recent games, vendor trash (VT). Simply put, VT is anything in game that, upon discovery, is immediately stuffed into a bag and sold for pennies to a willing merchant. It defies any logical explanation, and the sooner it dies a quick death, the better off all gamers will be. VT seriously bugs me because I consider each useless item a squandered opportunity to increase the endogenous (en·dog·e·nous) value (EV) of a game. I also consider EV to be the cornerstone of what makes games addictive and compelling…so…what the hell is it anyway?

In 2002, Greg Costikyan swiped the term ‘endogenous’ from the biology world and used it to describe the internal value that a game structure (including its rules, mechanics, and objects) can generate:

Suppose you’re walking down the street, and someone gives you a $100 in Monopoly money. This means nothing to you; Monopoly money has no meaning in the real world. The guy who gave you the bill is probably some kind of lunatic.

Yet when you’re playing Monopoly, Monopoly money has value; Monopoly is played until all players are bankrupt but one, who is the winner. In Monopoly, the gaily colored little bills that come with the game are the determinant of success or failure. Monopoly money has meaning endogenous to the game of Monopoly – meaning that is vitally important to its players, so much so that you have to watch your little sister like a hawk to make sure she doesn’t swipe bills from the bank when you aren’t looking.

In most RPGs, much of the EV is generated by the game inventory. The treasure. The drops. The loot. The schwag. Call it what you like, the pursuit of shinier and more powerful gear is one of the primary driving forces in any RPG. Traditionally, the quest for epic loot has started with slaying massive amounts of baddies. Players either kept what they received or sold it to non-player, or computer controlled, characters (NPCs). Trading with NPCs was also possible in some games. Ultima is one example.

With the rise of online gaming, items that players craft themselves have become a mainstay in most massive multiplayer online role-playing games (MMORPG). Crafting can be an incredible source of EV because it creates new goals for players and enables them to have a more meaningful and direct impact on the game economy. I use the word ‘meaningful’ here to describe the satisfaction a player gets from taking raw material and creating something useful to other players in various contexts. All this is very dependent, of course, on the actual implementation.

Around 2000, I had my first experience with crafting while playing Everquest. It was pretty painful. Raw materials weren’t readily available and reagents were relatively expensive, which resulted in crafted items that were worth less than the materials used in making them. For newcomers, most attempts at making anything resulted in failure and a loss of all the materials involved. In the end, players who became proficient in a certain trade skill couldn’t create much that was unique or useful to the other players. The entire system was an incredible waste.

Four years later, even though a few of these problems persisted, I had a much different experience with World of Warcraft (WoW). WoW has two general types of professions, gathering and production. Each production profession is supported by a gathering profession. Blacksmithing is supported by mining, for example. Mining alone isn’t that glamorous: you see a mineral vein, you stroll up to it, and click. It either works or it doesn’t. If it fails, you can try again. If it works, a loot window appears just as if you had killed a creature. Despite this, mineral veins don’t stick around very long after they pop…players tend to snatch them up immediately. Anyone who’s ever been on a dungeon run and watched a miner make a sudden b-line for the nearest vein can attest to this.

The raw materials gathered in WoW create an incredible amount of EV because they are useful to production professions. Those professions, in turn, can actually churn out useful gear. As an example, take a look at this list of all the recipes (blueprints for items that can be crafted) that require Copper Bars. As of this writing, there are over 30 items that can be crafted using copper as one of the ingredients. Each one of these items is useful to different characters in different contexts (level 15-20 Hunters are quite fond of Crafted Heavy Shot, for example). Every time a useful recipe is added to this mix (assuming it doesn’t throw off the game balance), copper becomes more of a commodity and creates even more EV for the game as whole.

This system is far from perfect (I never saw many Warriors carrying Copper Axe’s), but it does illustrate the positive effect a crafting system can have on a MMORPG when implemented correctly. Blizzard’s success with the crafting system in WoW, however, makes it all the more insane that the game still has so much VT. Again, every item dropped in-game should be useful in some context: whether it be important for a quest, a reagent for a trade skill, or just something that allows the character’s aesthetic to be customized. Who says necklaces made from crisp Basilisk urethra aren’t sexy?

As a final example, EvE Online takes crafting to one extreme (some would say too extreme). Most (if not all) of the ships and various gear sold in EvE are created by the players themselves. The game simply sells the blueprints. Actually, the players can research and sell them as well. EvE also has various trade skills that players can train, like Salvaging. I can recall one instance when a close friend and I had an opportunity to clean up a trail of destroyed enemy ships a fellow corp member had left behind after a mission. While the prospect of collecting garbage wouldn’t exactly be appealing in most games, we salivated. There was several million worth of ISK (EvE’s in-game currency) to be made from that salvage, and we were all too happy to oblige. This is a perfect example of a game creating EV where there otherwise would be none…and it’s a trend that I hope continues in all games.

Quote Of The Day

February 6th, 2010

My friend Eric Zimmerman likes to say, “Games are structures of desire.” I don’t like the phrase, for two reasons. Firstly, it’s pretty obscure; it needs to be explained before you ‘get’ it. Second, it makes games sound like a whorehouse.

- Greg Costikyan (I Have No Words & I Must Design)

Mantastic Remodeling

January 13th, 2010

In an attempt to prove that I’ve done more than sit on my ass for an entire month of much deserved vacation, I give you this completely non-technical photograph of my garage.

I would post before pictures (if I had any), but honestly…you really don’t want to see them anyway. I took a second picture of the strangest thing I found while cleaning out the space where the new shelves are…

World of WTF Does That Say?

December 5th, 2009

Over two years ago, after some intensive therapy (read: I got up and went outside), I managed to kick my Warcrack addiction. I had a minor relapse today…

Blizzard sent out an email offering up 7 free days to returning players as part of a 5-year anniversary promotion…and a free in game pet (which seems to come with everything nowadays). I was curious to see how the game had evolved in the last two years and some change, so I re-activated my account. Everything in game seems a bit easier to manage. Pets and mounts have a quick select screen. More bags are available to specific trade skills, etc. I was also pleasantly surprised to see more 10-man raid content and a new achievement system. Though, to be fair, the latter seems a little late and already feels like old hat on arrival.

To prepare for the launch of Diablo III and Starcraft II, Battle.net also got a serious makeover and all WoW accounts have to be merged with Battle.net accounts. This brings all the online account management under one umbrella. In addition, Blizz included the ability to add serial keys for older games to Battle.net accounts. This lets users download full versions of games they’ve previously bought in-store (very much like Steam). In short…many good things are happening around Blizz these days.

As a funny side note, I took a quick screenshot while I was downloading/updating WoW. I’m not sure who approved the font and background colors for the status bar…but they have much better eyes than I. :)

wow_installer

Details…

November 5th, 2009

In an effort (I assume) to keep Amazon from completely destroying every brick and mortar book store on Earth, Borders actually dishes out some decent coupons (30% – 40% off a single title) to their reward club members. This is probably the most affordable way to pick up a brand new hardcover Knuth set if you’re so inclined.

Border’s is one of three places I normally buy books. The second is Amazon. The third is directly from Oreilly’s website. I’ve bought six e-books from Oreilly in the last 15 months and they were all 40% off (using the same coupon). This is either an extremely long running promotion…or one of their web developers needs to update whatever db table the coupons live in. :)

I haven’t been able to sleep the last few nights (tonight now included), so I decided to grab a new book to read in the hopes it would either knock me out cold or actually teach me something. I picked up iPhone Game Development for about $17 after discount.

I’m barely into the second chapter and the authors are discussing an OOP approach to designing a state machine. After the initial explanation and some sample code there’s a boxed series of paragraphs with the title “The Next Level: Concurrent Access” on page 41, which basically tries to make an argument against developing multi-threaded state managers on a single processor platform like the iPhone. This little nugget from the third paragraph gave me a bit of pause:

Furthermore, there is less to be gained from multithreaded processes on the iPhone because filesystem access is much faster due to the hard drive being much smaller in capacity and responding to only one application at a time.

A couple quick questions off the top of my head:

  1. Where is the “hard drive” kept in the iPhone? Perhaps it’s a fancy new addon I don’t know about.
  2. WTF does the capacity of this mystical drive have to do with its access time?

I realize that writing an entire post about this seems…well…strange to say the least, but I was really looking forward to reading the rest of this book. Now I’m a bit skeptical.

Skinning A (Snow) Leopard

August 28th, 2009

Free space before install: 8.98 GB
Free space after install: 19.73 GB

I don’t know why that’s so fascinating…I guess its just never happened when I’ve installed a new OS before.

More Baby Steps

August 26th, 2009

How I do enjoy continued progress. For the sake of cobbling something together quickly that can actually be play tested, I’ve (temporarily) switched to writing the rendering code for Scriven (tentative title) to Core Graphics. CG is limited to 2D rendering but should provide enough features to get a demo ready for play testing. From there we can start refining game mechanics. I’ve posted a screen capture below that shows off basic rotation, scaling, and translation of the game board. I actually got the tile textures by scanning the hex tiles from my copy of Settlers of Catan. Here’s to hoping that Mayfair doesn’t sue me…

Scriven Board Test

Apologies for the Quicktime format and slow frame rate, I’m working on getting a better capture.

I’m Sure He Though It Was Funny At The Time…

July 19th, 2009

I have a friend who’s a bit…we’ll call it cantankerous. We’re working on a little project together and he’s been coming over to the house every Sunday for the past couple of months. We’re usually only good for two or three hours of real, actual work before we have to do something else. Carcassonne is the current distraction. I got an IM from him today with a picture attached…while he was at my house…sitting about 5 ft. away from me. I’m not exactly sure why my immediate impulse was to post the picture online for everyone to see. Some things are better left unknown…

rargh

Baby Steps

July 15th, 2009

Ever since I was first exposed to it as a CE undergrad, OpenGL has always intimidated me a bit. I think it’s mostly because of the amount of code it takes to get any output from the damn thing, much less any useful output. Of course, it could just be because my grasp of matrices and linear equations lies somewhere between slippery and non-existent. But I digress…

Despite my aforementioned anxiety, I have a serious need to learn OpenGL backwards and forwards. I wanna write a game. Correction, I wanna TRY writing a game…in 3D…for the iPhone. This combination (along with a lot of others) necessitates learning how to bend vertices to your will. I’ve tried my hand at game programming a couple times. The most recent was writing a Missile Command clone for the Android Developer Challenge. We didn’t win. Apparently they were looking for apps with “features” that were “useful”. Some people are just picky. We did, however, get some good marks from Google for polish and performance afterward. So overall, I’d say it was a great learning experience.

Since then I’ve gotten a bit of Objective-C and iPhone programming experience under my belt from watching the Stanford lectures (which are excellent, by the way) and doing the homework assignments. I also picked up some decent books, which has become something of a ritual prior to starting a new project. But now that I’ve actually started using OpenGL on the iPhone, the task of getting a rendering engine for a game up and running (even a simple one) seems daunting. So…I thought I post a quick shot of some progress. It’s nothing to brag about, but it is progress nonetheless. In the next few months I’ll likely need all the encouragement I can get.

iPhone SImulator

Pandora One Desktop App: First Impressions

June 26th, 2009

Pandora One

I’ve been a Pandora subscriber for a couple years and it’s slowly become a necessity at work and around the house. Its helped me discover most of the new music I listen to and been directly responsible for more firewall subversion activities at work than I care to mention.

One thing that has constantly nagged at me, though, is Pandora’s reliance on a web browser (the player is built with Flash). Even the Pandora “desktop app” that was released in 2008 using Adobe Air provided little more than a dedicated window for the web content and Flash player to load in.

Pandora finally decided to re-brand the entire paid subscription service as “Pandora One” and released a new Adobe Air based desktop app that feels a bit more native. Here’s a couple of initial impressions.

Pros:

  • The layout is much cleaner and a clear departure from the web based client.
  • You can choose between two audio stream qualities: Normal and High (192 kbps).
  • The album art is higher res and looks a bit better.
  • I can finally listen to music without fear of the player crashing my web browser.

Cons:

  • There is no playlist or history. You can only see the current song playing. This is a disappointment, since I can’t always give a track the thumbs up/down while its playing. Once the song transitions, it’s gone.
  • The pop-up notification feature is sluggish and annoying. If you skip a bunch of songs quickly, it notifies you about each one at a painstakingly slow pace. There’s no option to move the popup window to another screen corner or to control the speed of the fade in/out.  To be fair, it can be disabled. But I’d actually like to use this if the implementation had a few more features.
  • The player still eats a ton of memory. Even though it’s outside the browser, the average amount of RAM consumption after a few hours hovers around the 120MB mark. That’s pretty ridiculous for a small music player.

None of the cons are real deal breakers for me (I still use it everyday). I do hope they keep working on the desktop app though. I understand the advantage of using flash for cross platform support, but it’d be nice to see a real native player written in something like Qt in the near future.