07 January 2010

January Challenge #7:
Wall of Text

Reposted on new blog at http://dynamitochondria.blogspot.com/2010/01/january-challenge-7-wall-of-text.html.

I had a couple special bullets in the old six shooter for when I just couldn't think of what to write this month. I was hoping not to have to use one this early in the month. It means I may have to use of them twice or come up with another one. In the section of Pragmatic Thinking and Learning I referenced on Jan 1st about Morning Pages, Hunt encourages the reader to write daily, no matter how good, just write. He gives an example of a guy who resolutely wrote the same sentence over and over again until he noticed, several days into the exercise, that other ideas were beginning to creep into his pages. I'm not planning to try precisely that trick. A long time ago, I payed a bit with stream of consciousness writing, but I found it really hard while writing longhand. Since then, I've discovered that words flow more easily for me on the keyboard than in longhand, but I haven't gone back stream of consciousness since that discovery. Those of you familiar with the style have probably already noted that I'm not really sticking to the pure form, taking the effort to actually form real sentences. But aside from that, I'm just typing whatever drivel happens to occur to me. Maybe I'll produce something worthwhile, maybe I'll make progress building a habit of writing, making occurences of "I have no idea what to write" more rare, maybe I'm just banging on my keyboard. Meh, whatever. I'm also taking the time to edit my spelling, and sometimes grammar, as I go, and when I'm done, before I post, I'll go back through and look for items to mark with relevant links. I've had plenty of people ask me why I do that, and about as many compliment me for doing it. It's one of the things I really like about hypertext, and I've written enough hypertext that it's just habit by now. Heck, I list hypertext on my resume under Technical Writing. It's a handy device when trying to maintain a tone or rhythm in your writing, not having to break out into asides to explain a topic that not all your readers will get. It makes for optional supplementary material for the reader. Knowledgeable readers don't need to follow the link unless they're curious, and topical novices can get valuable background info. If they even choose to click it. I've also gotten comments from people who complain that I've written over their head and either didn't think to click the link or just assumed that it would point to something else they wouldn't understand. I don't get that. I guess that sort of reader just isn't in my target audience. My journalism teacher also didn't care for it, but she and I really butted heads over a number of things. I list AP style on my resume, also under Technical Writing, but I find writing in that style pure torture, even worse than writing for military documentation, (you guessed it) also on my resume under Technical Writing. The military writing style is aimed at a 4th grade reading level. That's right 4th grade, and it's less torturous to write than AP style. The AP style strikes me as assuming that the reader is automatically an idiot and has to be coaxed through the piece with short hypersimplified sentences. I have an average sentence length of 26 words last I checked. I like complex sentence structures that require the reader to pay attention. Writing 6-10 word sentences preferred in AP makes the inside of my skull itch. OK, that's all I had to say about that, so we now return to our regularly scheduled wall of text. As I was saying above, this piece doesn't conform to the standard form of stream of consciousness, and I'm also employing elements of the wall of text form, which is generally considered bad form, as it ignores niceties of paragraph structure or even decent document design. It rambles on and on. Used appropriately though, I see it as the descendant of stream of consciousness. Not that it gets used properly most of the time. Wall of text is typically employed by writers who really don't know how to assemble an essay or a document of any sort, don't know how compartmentalize their text flow or move through their topic in reasonable chunks with a logical flow of ideas. Not that I really consider myself particularly proficient as an essayist. It's a style that I aspire to, but my skill in writing is mainly limited to technical writing, though even that is held back by my love of convoluted sentence structure. I've been asked if that originated in reading Marx, who wrote in the seriously convoluted style popular among German essayists of the late Eighteenth Century. I've read him, but my style really started to emerge much earlier than that. As far back as middle school, my English teachers have commented on my longer than average sentence length, though only my journalism professor in college really complained. I didn't get to Marx until early college. Maybe he had impact, but I really doubt it. I'm starting to wonder just how far I can really push this exercise. Even now, it's starting to get a little meta. That's probably not as helpful as it could be, but it did give me another bit to hyperlink. No no, now we're getting recursive. Time to stop.

06 January 2010

January Challenge #6:
New Job Day 2

Reposted on new blog at http://dynamitochondria.blogspot.com/2010/01/january-challenge-6-new-job-day-2.html.

Microsoft is a big believer in crucible-style OJT. Either you spin-up fast or you flounder and flail a while. This new contract is thus far no exception, but after 3 months at home studying and job hunting, it's a welcome challenge.

Going shopping with the boss was an interesting digression from the normal routine at a big company like Microsoft. We went shopping Man-Style: tools, hardware, cabling. Oh yeah, cabling. Three different employees at Frye's grappled desperately with our cabling requirements. Damn funny. And the pushy sales floor guy who did nothing helpful but poked through our basket so he could write up a sales slip to try and claim a commission? It was very satisfying to toss his little piece of fiction in the trash before checking out.

You know those super-heavy servers of yesteryear, the ones that are seriously obsolete but every company has at least one grinding away in the NOC? Got to play with one of those today, and by "play with" I mean lug it from the 4th floor of one building to the 4th floor of the next building over, yank out one just like it that's not working, install it in place, run some tests, make a config change that I bet would have fixed the other one, lug said other one back to the 3rd floor of the building where I started, and try explaining to the admin assistant that the disintegrating packaging it's in was like that when we got it. Not what I thought I'd be doing today.

But I think the topper of the day was my first time taking apart an Xbox devkit. Before I go any further, read this comic. "Alternative means of entry" is right. These things are seriously not intended to come apart once assembled. Don't be fooled by the Youtube videos of retail Xbox disassembly. Devkits are another beast. There's one step that requires seven tabs to be simultaneously depressed and another step where you have to depress a tab obscured behind two layers of solid plastic, all the while with an extra module dangling by a relatively fragile do-not-break-this-or-you're-screwed-I-fricking-mean-it connector (that doesn't disconnect btw). I've invented a new term for this sort of hardware design: One-Way Engineering.

I got it back together and working. I'm pretty happy about that. Later this week I have forty more coming. Guess what. Rinse & repeat. w00t

05 January 2010

January Challenge #5:
All Fun & Games. OK, All Games Anyway.

Reposted to new blog at http://dynamitochondria.blogspot.com/2010/01/january-challenge-5-all-fun-games-ok.html.

I totally lucked out on my first game job straight out of school. I got to start out my game career in exactly the sub-field I was aiming at, gameplay programming. As part of the game team, I worked shoulder-to-shoulder with designers and artists to design and implement rules, interface, and player experiences. But all good things must come to an end, and this one-year contract eventually ran out.

Next goal: get another awesome gameplay programming job. I polished up and circulated my resume. I went grinding for business cards at PAX. I lined up interviews.

Lightning did not strike twice.

As any of you who were job hunting in 2009 can tell me, it's a tough labor market right now. From what I hear from colleagues, I performed above average just getting interviews, even if none of them panned out. Three months later, my mandatory break from contracting at Microsoft is up, and I'm back at work at a new job.

From the long perspective, I got a good one, a solid skill and resume builder. By the time I'm done, my existing time on the tech bench will be supplemented with Xbox hardware experience, I will have crafted a solid library of C++ and C# code, I'll have more XDK experience, I'll have good resume bullets in automated testing and test driven development, I'll have learned a ton about optical data formats, and I'll have experience in tools development. In all, it will be a great boost to my engineering credentials.

From the shorter perspective, it's just not as awesome as gameplay programming. I don't get my name in the credits of a hot new game. I don't get to put a notch in my belt for when I'm asked what games I've shipped by some recruiter who doesn't know any other way to measure achievement in the games industry. Worst of all, I'm not actually working on a game.

I understand that what I'm working on is damn important. Without the infrastructure on which game experiences are delivered, there would be no games industry, whether that infrastructure is print publishing, commercial shipping, Internet communications, or Xbox optical drives.

And the work is awesome compared to most of what I've done for a living in the past, including military service, retail sales, and telephone tech support. I'll still be programming and growing my existing skill base with software development experience. In the long run, my resume will be stronger with this "Pay Your Dues" job than with another gameplay programming job.

There's a lesson here, one that I knew was coming and that more aspiring game developers need to have driven home. I already knew that a game job wouldn't be just playing games all day. I have too much real world professional experience to have thought that for over a decade. More recently, I've learned that a game job won't necessarily be making games all day.

A lot of aspiring game developers have yet to learn the first lesson, and when they learn it, many give up on their dream. That's OK. If you want to maximize your game playing time, get a decent paying job that doesn't require much overtime, and play lots of games.

For the ones that stick with it, that second lesson hits like a hammer blow.

04 January 2010

January Challenge #4:
Jingoism

Reposted on new bog at http://dynamitochondria.blogspot.com/2010/01/january-challenge-4-jingoism.html.

The term jingoism is mainly used in the context of nationalism, but I frequently use it in other contexts. I like the flavor of the word. If you know what it means, it almost can't help but imply an accusation of bigotry without saying it outright. Of course nine times out of ten, when I use the word, I get a blank stare or the online equivalent. "lolwut?" So much for impact.

Gaming seems to arouse jingoism in both players and developers. Being a gaming jingoist doesn't mean just having a favorite game or genre. That's just knowing what you like, loyalty perhaps. Nor is it simply defending your favorite game or genre when it's attacked in discourse. That equates more to patriotism than jingoism, to keep the metaphors consistent.

Gaming jingoism is when you attack games or genres that don't happen to be your favorite or the players who play them or the developers who make them. "MMOs/RPGs/FPSs/RTSs r teh suxxors!!1! ur stupid if u play them!" Translate that to your language of choice. If you've said or typed this in any seriousness, you were being a jingoist. A bigot, not to mince words.

I want to think that it goes without saying that there's room for every kind of game and gamer in our big fun-loving community and marketplace, but apparently it can't go without saying. It needs to be said more often.

Before you think I'm just being holier-than-thou and trying to preach from on high, realize that I do not exclude myself from needing to hear this message. People who know me in real life may have heard me spout something I call Dave's First Law and its corollary.

Dave's First Law
People are retarded.
Corollary to Dave's First Law
Dave is no exception.

Case in point: I don't like FPS games. I don't find them immersive, and I don't find persuasive the argument that the camera locked inside the avatar's skull encourages immersion. Without making a whole thing of it, I've held the M16 and I've kicked in the door, and FPS games not only don't convey the same experience, they don't convey anything even close to the same experience. In the real world, you maintain 360-degree awareness that can't be simulated by a camera angle locked to your avatar's facing. In the real world, you have a natural sense of scale that is nearly impossible to attain in a game perspective where you can't see your avatar's body.

Know how to solve these two criticisms? Give the player complete camera control, or at least back it off by about five feet. Suddenly, you have a greater sense of scale and immediate surroundings, but guess what. It's not a FPS game anymore.

So yeah, I think FPS games are stupid. And I've attacked them in Internet and face-to-face discourse, been a gaming jingoist, a bigot. I forget at times that there's room in our community and marketplace for every type of game and gamer.

I'll remind you if you'll remind me.

03 January 2010

January Challenge #3:
MMO Design: STEEP

Reposted on new blog at http://dynamitochondria.blogspot.com/2010/01/january-challenge-3-mmo-design-steep.html.

Say what you like about Ernest Gary Gygax, there is no denying that the man was an idea hamster. Good or bad, he just kept churning out games. A lot of his stuff may seem a little dated now, and a lot of his games were almost unworkably complex, but if you take the time to read them, there are tons of really great ideas buried in his prose.

Many of these ideas ultimately owe their genesis to the drama between Gygax and TSR in the 80s and 90s. Without diving into the whole sordid scenario, after Gygax left TSR, the company repeatedly sued over his efforts to publish RPGs, citing trademark or other intellectual property infringement. To minimize exposure to this tactic in later works, Gygax frequently departed from the established vocabulary of RPGs. In working in a new word-space, he turned out the occasional gem, and the unfamiliar terms could spark something in the reader.

In an effort to avoid the word "level" as much as possible, Gygax created the term STEEP in Dangerous Journeys. STEEP stands for Study, Training, Education, Experience, and Practice. I was disappointed to find that none of this made its way into the skill progression mechanics. To advance in skill, Heroic Personas spent Accomplishment Points to raise their Traits and Knowledge/Skill Areas. (See what I mean about departures in vocabulary?) But the idea stuck with me as I continued to read different RPG systems over the years.

Meanwhile, in the real world, I moved through college to the military to manufacturing to technical school to the defense industry to public education and finally to game development. On the way through these environments, I ran across a wide array of different methods of getting knowledge into your head, but they all came down to some combination of study, training, education, experience, and practice.

How does this relate to MMO design? In an earlier post, I complained about Trainers in MMOs. They're nothing but a store in which you spend money, experience points, or some other expendable resource on new and improved abilities. They're one-dimensional and boring.

In the "perfect" MMO in my head, there are three to seven ways to do anything. Want a particular sword? You should be able to buy it from a vendor, commision it from a craftsman, buy it from the player economy, forge it yourself, steal it from the castle armory, beat up goblins til it drops, or go to the developer's micropay store and spend $1.25 to have it magically appear in your inventory. The same applies to character advancement. There should be several different ways to learn new abilities or get better at existing ones.

Study. This is the basic way we ordinary schlubs in the real world know to extend our knowledge, by hitting the books. In-game, this can be represented by a few different systems. In EVE Online, skill advancement is going on all the time in the background, as long as you have specified a skill for study. The assumption is that your character is burning the idle time inherent to interstellar travel in a good book. It has its weaknesses, notably that time in combat counts just as much as time spent logged out in spacedock.

Logging out in an appropriate library should provide some resource points to be spent into various relevant skills upon logging in. World of Warcraft and City of Heroes already have a similar abstraction in the form of a XP multiplier for time spent logged out. Time spent studying a manual of style should provide resource points toward sword skill and related manuevers or abilities. This can be game-mechanized into either using the book in-play or logging out with it in your inventory.

Training. Arguably, this technique is already in use in most MMOs. Existing trainers represent exactly this, even if the underlying mechanic more resembles a store. In addition, logging out in a salle or dojo should garner resource points toward appropriate fighting or fitness skills.

Also, players should be able to train other players. Again, the boring bits like this should be handled while logged out, but two characters logged out in the same location should be able to specify that they are engaged in training one character in a skill know by the other.

Time spent logged out isn't the only way to abstract this. Spending resource points accumulated in other activities on skills to be instantly learned is an established technique. Why should I travel to a NPC trainer, when I have an accomplished practitioner of the skill in the party already? Let me buy the skill on the spot.

Plain vanilla NPC trainers can be made a little more interesting by limiting the skills they know. At lower levels, every Unarmed trainer probably knows the basic Boot to the Head skill, but I would expect travel to a far away land or at least scale mountain to the monastery to learn Hanam's Flying Backspin Kick to the Temple.

Education. Education is admittedly very similar to Training, so the mechanics might be similar or identical. Schools, colleges, academies, study halls, and their like are staples of high fantasy or any genre featuring a civilized setting. These might be places to logout to earn resource points, storefronts to spend your resource points on instaskills or something less usual.

To make these setting more interesting, make them quest hubs that grant abilities as quest rewards instead of resource points to spend elsewhere. The quest NPC spouts flavor text about the ability in question, gives the PC some simple tasks to make the player use simple version of the ability and then grants a more challenging task, rewarding the final version of the ability at the end.

Experience. We all know Experience Points, the resource points of character advancement. These points are earned in doing things the developers consider worthy of advancement and are spent learning new stuff, whether explicitly by using them to buy abilities a la carte, or implicitly by accumulating until a new experience level is gained, opening the gate to greater abilities.

Many games feature other advancement schemes revolving around using a particular skill, the real-world definition of experience. Each time a skill is used, it's noted in the database. On whatever schedule, accumulated skill uses are checked, and skill points are possibly awarded.

In cases where a game features iterative version of a skill, such as Fireball 1 through Fireball 25, uses of a skill should count toward learning the next iteration. Once I've cast Fireball 14 x number of times, I should have some form of credit toward Fireball 15.

Practice. Practice is a grey area. It's somewhere between experience and training. Practice under the watchful eye of a master verges into training. Practice under stressful conditions verges into experience. Should time spent thwacking a target dummy in the sallet count toward character skill while at the same time providing the player a chance to work out combos of queued attacks and maybe tweak their tray layouts? If so, it should count less than thwacking orcs that are fighting back.

In a future post, I'll suggest an even fruitier system, integrating combat skills with the player economy. Stay tuned.

02 January 2010

January Challenge #2:
MMO Design: Ding!

Reposted on new blog at http://dynamitochondria.blogspot.com/2010/01/january-challenge-2-mmo-design-ding.html.

There are lots of things I don't like about modern MMO character advancement schemes; single-metric experience progression, narrowly defined sets of activities worth experience, level-gated restriction of options resulting in optimized "cookie cutter" builds... I could go on and on, and I will in future posts.

Today, I'm going to whine piteously about Trainers.

The current implementation of Trainers is a symptom of a bigger problem of Shared World design, the challenge of balancing the need to make the story more about the player's character with the fact that there are 999,999 other players to make the story about. But where designers and writers have made greater or lesser strides in quest design to address this problem, absolutely no progress has been made in the "story" of leveling up.

Every population cluster of a certain size or other importance has some guy who knows the same bag of tricks as the next schmuck in the next podunk junction up the road. The tricks of the trade for every professional specialization are so well established that every trainer knows them all, but the player characters, the guys and gals where the hammer meets the anvil, in the trenches battling evil, using these skills to pay the bills, have to trek back through the wilderness to improve Instep Stomp 3 to Instep Stomp 4.

Are we telling the story of the hero growing in power and wisdom to face his ultimate nemesis, or are we telling the story of institutionalized industrial education, where every teacher and every student is nothing but a replacable cog in a factory that produces warrior drones for the war effort?

(Actually that second option sounds kinda interesting, if the rest of the game were also designed to support the story.)

Yeah, I get the idea of training under a master of a given skill. That's classic Campbell. Visit the wise/ancient/magical/divine man/woman/mentor/spirit/master to learn an epic/magical/chi/secret ability/skill/spell/stunt unavailable to the average mortal in order to overcome the challenges ahead of you. Studying the master's works is likewise part and parcel of the adventure genre.

"You are using Bonetti's Defense against me, ah?"
"I thought it fitting considering the rocky terrain."
"Naturally, you must suspect me to attack with Capa Ferro?"
"Naturally... but I find that Thibault cancels out Capa Ferro. Don't you?"
"Unless the enemy has studied his Agrippa... which I have."
- Westley and Inigo, The Princess Bride

But that's not what we're getting here. Fred the Fighter Trainer and Alexa the Arcane Trainer know the same abilities taught by Freda the Fighter Trainer and Alex the Arcane Trainer the next town over. Yawn.

But my big gripe, the one it really comes down to, is that all this means that the player characters will forever be playing second fiddle. And they're not just playing second fiddle to a great hero with an epic backstory and a cool name that players can't emulate. (I'm looking at you, Blizzard. I want a surname.) No, they're playing second fiddle to faceless cogs in a stupidly boring simulation of production-line education.

No matter how epic I ever become, I will never be the one pushing the boundaries of what's possible in my vocation. I can never master the complexities of Cloud of Retch Gas 16 without a tutor, no mater how many times I cast Cloud of Retch Gas 15 or how many dire troglodytes are left helplessly puking by my arcane might.

Complaining without offering a solution is a waste of tears, and I have a proposal. It's a rough proposal that would take a lot hammering to make even remotely workable, but nothing worth doing is easy. Tune in tomorrow.

01 January 2010

January Challenge #1:
Getting Back On the Hobby Horse

Reposted on new blog at http://dynamitochondria.blogspot.com/2010/01/january-challenge-1-getting-back-on.html.

After two months without any entries, it's clear I've fallen off the hobby horse. In the past, lapses like this have led me to just give up until a couple years later I would give it another shot. Not this time.

Immediate action: Get back in the saddle. It's all about building a habit set. It's OK to fail, but don't let it end there.

Additional motivation comes from Andy Hunt's Pragmatic Thinking & Learning. On his advice, I've been working to identify and balance my Linear-mode and Rich-mode thinking. Among the techniques he suggests is Morning Pages, a technique involving daily writing, first thing in the morning, at least three pages, long hand, no censoring.

I like the regularity of Morning Pages, the challenge to do it every day, but I'm not a big fan of writing long hand. I discovered years ago that words flow more easily for me through the keyboard than through the pen. I also like its lack of self-censoring. "Whether it's brilliant or banal, just let it out." I'm also not excited about adding another To-Do to my morning routine. Knowing myself, it sounds like planning to fail. I get the reasoning, but I'm skipping that part anyway.

Hunt also suggests that writing for a public audience is a good way to crystalize your thoughts. It makes you think about and formalize your ideas, epiphanies, and beliefs.

So I'm challenging myself to make a blog entry every day of January 2010. Genius or gibberish, write something, anything. I have a few topics in seed, sketch, or note form in my pocket notebook, another technique I'm nurturing on Hunt's advice, and I'll probably natter on about a few other things I've found in his books. I don't promise anything good, but I do promise something.

Stay tuned.