Friday, February 25, 2005

Boot Leather and Barbie Dolls

Hard to believe it's actually been a week since I had time to post here. Immense amounts of progress tumbled head over heels into place - the first banner ad got put in place and our website traffic skyrocketed. Folks started visiting the site, then visiting the game.. hesitantly at first, then more and more, and staying.

Made a few changes to the website - upgraded artwork, made new banner, added in the lovely deity standards from our friend Andragon.

The traffic continues; the sound of marching boots growing louder by the hour.

Are we ready for this?

Monday, February 14, 2005

... and many miles to go before I sleep

The midnight oil burns, a dusty thin trail of soot and smoke spiraling around the speakers on my monitor and rising to hover just out of reach of the investigative cat. Exhausted. I am devoid of even the spark of energy it would take to snuff out the lamp. The day was long, furious, highly focused and maddeningly productive.

I should explain perhaps, for those of you who missed the first reel. At midnight, February first, we declared a total halt to all coding and production, froze the state of the game progress in midair, handcuffed our coding team far away from their keyboards, and entered a singular mindset called 'Balance the Game'.

This state of affairs is just about as fun as putting ones head in an empty oil drum while a friend stands to one side and beats on the metal skin until your ears bleed and your hair melts away. It's right up there with slamming your fingers in a car door. Right up there with swallowing a chunk of wasabi mustard that you are told is guacamole. In other words, t'is not fun at all.

How can a game that has been in development for over half a decade be out of balance..? Oh, quite simple, I assure you. Each time an activity is brought in, the ubiquitous promise prayers are muttered, '... and we'll make sure to take this into account when we balance.' The penitent is banking on being far out of range and off my radar by that time, so of course the prayer goes into thin air and the promise immediately forgotten.

Now if this were one or two minor aspects of an already well-tuned machine, it'd be no problem to reach in and adjust the distributor cap slightly, haul out the WD-40, and bring things into tune. But trust me on this - the last time this game was balanced was just a few minutes after the Internet was invented.

We had a pretty neat game once upon a time, but it was only minorly rich with features and could be mistaken for any other MUD on the net in several glaring ways.

So we stripped out all skills and stats and added in a custom abiltiies system, and the players liked it a lot - the promise prayer was invoked with full belief that we'd be attending to balance immediately.

They liked that so much that we moved to a custom materials base - from the prior 50 or so, we offered nearly 600 substances from which to make objects, and the players liked that a lot - and the promise prayer was exchanged in grins in the office corridors.

Well, material-based objects went over so well that we added in material-based weaponry - the promise prayer was whispered.

We added in materials-based wearables, and all players were happy with them - and the promise prayer was muttered to the sky.

We added in an entirely custom-written combat system, replete with body damage visibility and body part targeting, and the players were nuts about it - and the promise prayer was uttered fervently several times.

Things were going so well, so we added in a brand new custom written magic system, vastly flexible and highly user configurable - and the promise prayer was invoked loudly and with great expectation that -any day now- we'd be able to balance the game.

We added organizations - clans, guilds, kingdoms - yet again the promise prayer.

We added an elevation-based wilderness map which made it so folks don't see around corners on roads or over mountain tops - again the promise prayer.

Feature after feature, customization upon customization, exceptional offering after exceptional offering - mind you, this all took place over the course of several -very- busy years.

Like all good promises, the promise prayer eventually had to be kept. Players were complaining that the only way to make it through life was as a magic caster, or one approach highly outweighed another, given prior choices. Even with unlimited levels in which to make adjustments, the visibility of the adjustment options simply wasn't there, and the balance within those options most certainly wasn't there.

So I pulled the plug. Froze the code. Stopped all progress. Scared all the staffers. Grabbed a few dozen spreadsheets and database dumps, crawled under my desk and stared at stuff. (See prior posts for way too much detail.)

Several interesting things happened during the ten days between the freeze and the first major balance pass. First, we found out just how off-kilter some of our assumptions were (and for this, I apologize to all past players of Karinth).

Second, I learned much more about the intricacies of the stance, style and move system than I'd ever had a clue about. It increased my level of appreciation for the truly huge talent of our coder team over the years. I've seen and been involved in each of those modules from a design standpoint, but I'd not had the opportunity to really sit down with the results and dig into them - delicious!

A third thing happened, and I hope it is a temporary condition. Almost all of our players ran into hiding. Change is not a good thing, and change in the middle of a game which you're playing is even worse, no matter that the fact of our beta state is constantly in their faces.

So the first major wave of change is in and it is time to sit back and watch, wait, hope and, yes - invoke the promise prayer just a bit more. Difference is this time the prayer will be answered by real action within days, not years.

Sunday, February 13, 2005

The Luckiest

My husband and I have an ongoing 'argument' which goes something like this:

'I'm the luckiest..'

'No, I'm the luckiest...'

'Nope, I am...'

'Nope, -I- am!'

This happens a few times a week, and every time it does, I treasure it deeply. It is at once reassuring and supportive, honest yet respectful, giggle-making and downright serious. He means it, and I mean it. Doesn't matter who starts it.

We both mean it to each other, about each other, about life in general, about how lucky we are to have each other next to each other - cats included.

This doesn't have a lot to do with game design or Legends of Karinth, except for the fact that this phenomenal man has made it possible for me to pursue them both. He's given his full support to this effort, answers boatloads of questions about code and design with tireless patience, and has stepped in to help the rare code confusion with wisdom borne of many years of programming experience.

This phenomenal man has dealt with a host of shifting conditions never revealed in the simple vow preceding 'I do' and has stood by me in sickness and in health, with more sickness than health, for richer or poorer, with a lot more poorer than richer while we struggled to keep a small business afloat, for better, for worse, through incredible hardship and countless doctor trips involving great travel distances, and has done so with great good humor and amazing grace.

We're in our fifteenth year together, and it feels like fifteen weeks. We have our faults and vastly different tastes in music, sports, relaxing activities, food, television - but for each difference, a thousand similarities exist, and more evolve with each passing day. We walk side by side, next to each other, smiling at the differences and celebrating the similarities. He commands the remote for the TV, and I am queen of the remote for the VCR which records what I might wish to see while he watches Bond movies and Star Trek for the 3279th time.

It's called respect. He does not attempt to shape me into something I'm not. I do not attempt (nor wish) to change him into something he's not. I'd say we have found a great secret to success, but it really doesn't feel like a secret.. simply respect.

Besides, -I'm- the luckiest... *grin*

Saturday, February 12, 2005

The Epiphany, thanks to Cirque de Soleil

Ultimate instant where it all makes sense - clarity of thought, clarity of moment, unbidden and unsought, yet once arrived as impossible to get rid of as the tune to a good movie theme. It hums to itself, hidden behind the right ear, casually dancing from synapse to synapse and gently kicking the tires.

My cat looks up from the corner where she is focused on unraveling a hand-crocheted afghan and peers at me, eyes wide. I figure she saw the dim light grow brighter in the bulb over my head, a la old cartoons.

I flash her a bubble of text over my head:
. oO ( >moms got a great idea and a lot of work to do so do not disturb for awhile<)
She shrugs and nods, and returns to her task.

Hmm.

I try again:
. oO (>and while you're up go get me some coffee<) - nothing. Oh well. I tried.

She chews contentedly a moment then stretches and bubbles back
. oO (>what do I look like, your maid? get your own blasted coffee<)

Can't argue with that logic. I go get my own blasted coffee and set to work.

T'is nothing short of miraculous. What had been hidden and coated with confusion now became crystal clear and dancing with boundless kaleidoscopic hues. The design took shape, the balancing patterns revealing themselves, first hesitantly, then boldly marching as if soldiers on a parade field.

This should work.. this should work.

Thursday, February 10, 2005

Swimming with the Math Sharks

Coffee in hand, I stare at the spreadsheet before me, glancing at the database of magic spells and training costs partly hidden to the left. The index column and names are visible, just barely, helping me to keep focused on the spreadsheet's shifting contents. A lovely tiny chart hovers just up to the right, its bubbles tracing a softly flowing pattern in a reasonably smooth line.

I gave up seeking symmetry hours ago and now seek equity. The error of my prior thought path became clear as it veered off the edge of a high granite cliff and plunged into the icy waters between Dwerry West and Bolgwier.

'SPELLS DON'T BALANCE!' I sputtered once I came back to the surface, dogpaddling frantically to avoid the passing icebergs and polar otters. A passing half-submerged blog slammed me in the back of the head and I sank in a whirlwind of flailing arms and thoughts. The coffee cup found its way back to the desk and cowered warily as I reached frantically for the database window and did a quick sort on the balance cost calculations, revealing a pattern I'd not seen. Of course.. of course.... just a bit of...

An hour or so passed, coffee grew cold, as a certain parity evolved. A slight training ramp adjustment here, a lowered mana cost there.. move a detection from this to that.. of course.. why hadn't I seen it before... there's that pattern... so close.. so near...

BAM. A math shark races in and clamps onto my arm, and the pattern collapses. Blasted math sharks...

Hi, I'm Casey, and I'm a mathaholiphobic. (Here's where you chime in with a wave of raised slide rule or pocket calculator, "Hi Casey!")

Mathematical functionality and I have had a spiraling love-hate relationship for about fifty years. I am highly adept at the basics - I can add, subtract, multiply, divide with the speed of a highly paid NASCAR driver. I love numbers. I hate what you have to do to them to get them to do your bidding!

Show me an algebraic equation of any size, though, and I freeze like the proverbial deer in the headlights. My operational IQ drops to about 65, my throat tightens as if I've swallowed a half-dozen cherry lifesavers at once, and my brain empties of all logical thought. It's embarrassing.

Sine, cosine, hypotenuse, tangent, coefficient, rational numbers, IRrational numbers, sets, unions, intersections... the only good pi is lemon meringue with finely grated bitter chocolate shavings!

There are strange exceptions to this mathaholiphobia. I 'get' Fibonacci but not Mandelbrot. I love patterns, spatial relationships, recurring sequences, yet hate paisley. Go figger. With the deft flick of a wrist I can calculate IRR and NPV and balance a balance sheet, coming up with a corporate health picture with ease. These require no black box thinking.. one progresses straight from real numbers that one gets from the face of an invoice to the non-mystical income statement.

What's the point, you ask pointedly?

Go try to disassemble your car, using nothing more than a soup spoon and a spool of light blue yarn. Nothing else. Once you have as much of it taken apart as you can in that fashion, attempt to reassemble it using nothing but a butter dish and the spare cord from that crock-pot you threw out fifteen years ago. Nothing else. No spare cord from a crock-pot? Go buy one, remove the cord, and throw the rest away.

Frustrated, ya say, bunkie? Ready to tear your hair out, friend?

Tools. The right tools for the task are crucial. The math shark with its jaws latched around my left arm assures me with a skin-ripping nod of its head that such tools are available, and that I could use them if I could just figure out how. Perhaps I lack something in the left brain, math function synapse quadrant, or the synapse gaps are up there cleverly disguised as rock lobsters.

My cat brushes up against my leg and purrs, assuring me that so long as I can work a canopener, my state of mathaholiphobia doesn't matter one whisker. Cool cat. I set aside the spreadsheet and database with its beautifully developing bubble chart, stand and stretch, and go to the kitchen to reward her with tuna. Duty must prevail.

Wednesday, February 09, 2005

Channeling Mother Teresa and Machievelli

Achieving game balance is not simple. Each adjustment must be weighed in terms of its own impact, the trickle-down impact on its peer abilities, the resultant impact on its counter skills, and the unpredictable impact on long term game play.

Say I wake up in the morning and decide: 'All swords shall do a minimum of 10 damage, no matter who wields them and no matter their lack of training in these arcane slicing devices.' This represents a modest though not overwhelming boost to the new player, gives a small cushion of safety to the higher level non-sword-wielding player, and makes sword wielding less of a daunting effort when faced with its incremental costs.

I make the change and sit back, waiting for someone to step into the minefield.

Ahh HAH. Here comes one now.. an unsuspecting player comes online, suits up and heads out looking for a few enemies to slay. In his hands is a sabre of steel, ash hilted and leather wrapped. It's relatively new so it's in good shape. Unsuspecting player goes out, finds orc, slays orc. All is well (except for the orc). Player experiences no change, as he has trained his sword skills well (185 degrees).

I say nothing.. I require more substantiation before I commit this to permanent game play. I sit in my office, waiting with the patience of a trapdoor spider.

Minutes pass.. the web undisturbed. I feign a yawn and toss up the AFK flag to go gather up some coffee (a bit of my Christmas present - Trader Joes Shade, coarse ground, a hint of mocha powder). I bring it back to my desk and kick back with the balance spreadsheets and the online CNN website, after flicking off the AFK flag and slipping off my slippers. The cat has done enough damage to the leather laces on the left that it won't tie, so slipping it off entails lifting my foot a few inches from the floor and letting the slipper plop, to be kicked gently to one side of my desk where it shall be chewed on s'more.

Sure enough, a new player creates. I check, hoping. YES, he's chosen the swordsman starting kit. A true and unbiased test of my nefarious deed! *cackles gleefully*

The innocent proceeds through the starting process, makes his way through the corridors of the training house, finds a sword and some beginning armor and proceeds to merrily hack away at the nearest foe. The combat is quick. Quicker than I'd expected and much faster than reasonable - I frown and check his skills package and abilities. Hmm. Nothing extraordinary; he's trained nothing so far. Wups...

I frown and check my modification to swords in general, and blush. Dagnabit... instead of setting damage to 10 minimum, I, unarmed with morning caffeine and common sense, have set it to 100 damage. What luck to have caught it when I did, I mutter as I make the correction swiftly and execute a save before too many folks.. er.. ummm.

I hear a bellow from the public channel below. "wtf's wrong with my sword!?!?" Our poor new entrant to the world has gone on to attack his second victim, wielding the sword which I silently replaced for him after I'd corrected my correction. I hold my breath, gulping with nervous shame.

Me: Sorry. I made an error in a balance setting and just corrected the mistake... my apologies.

NewPerson: wtf man. This place sux

Mere seconds later: NewPerson has left Karinth.

Meanwhile I sit in my office, impaled firmly on the horns of the dilemma. By admitting my error and humbling myself to his wrath, I have messed up the game for one person.

I could have remained silent and left the blame squarely on the shoulders of his newness to the game, thus leading him to speculate that perhaps he had hallucinated the first go-round and that the second far-less-powerful encounter was the norm.

Our experienced players overhear this and nod wisely. They know, bless their souls, that we are in the midst of massive change and that some change hurts. I'd rather be honest with them as things progress than have them surprised brutally by an avalanche of modifications which nerf their game play.

Some changes are bound to trigger a collective hiss from the madding crowd. 'For the glory of Karinth!' I bravely cry, whilst fending off the barrage of pitchforks and launched iPods as I dash through Portsmouth Town Square.

Ok, well, no iPods. Out of theme, ya know. Besides, if someone launches an iPod at me, I'll durn well pause in my tracks and scoop it up, cradling it possessively.. always wanted one of those!

Newperson, if you're out there and reading this in between forays into new MUDs, again .. mea culpa. We're all humans on this bus, and all volunteers, and I made a stupid typo. I'd say it won't happen again, but the odds are that, somehow, some way, it will - and with my luck, it will be something equally as dumb. So consider this my apology for that one and the next four, and I'll write another one later when the time comes.

Zen and the Art of Game Maintenance

Once in awhile, the graceful action is to give up. Step back, acknowledge defeat, evaluate the battle field, and think twice about your own capabilities.

This is where I am now. At about 3am, some action of some unscrupulous individual or process knocked the DNS offline, followed after a few hours by the game server. It's difficult to work on the internet when the internet ain't there, folks. I should have slept then. I didn't.

Prior to this heinous act, game balancing was making great dark strides toward the path of right and might. Our attendance has tanked, naturally - nobody likes change, even the folks doing the changes. That was to be expected, and I'd already steeled myself for a thin crowd and the dull roar of apathy over our frantic efforts. Things were looking good, however, and the surfaces of the game were starting to take on a shine where before they had been pitted and oil-stained.

They still are, as a matter of fact. The hack-action or whatever it was which took us down was more of a wake-up call. It's the same blink-back-to-reality one experiences when awakening from deep sleep or deep meditation.

For those few minutes, the game vanished. In its absence was a great void, which began to fill itself with clarity. By not looking directly at the game itself, I was able to see it more clearly.

By the time the server came back up, incredible inspiration-filled scrawls had filled my whiteboard, two spreadsheets, the abilities database in which I store proposed changes, and the left ear of my cat, who managed to traipse away with a bright pink Post-it note containing cost adjustments for weaponry. I found it later suspended from the tail of one of her toy mice. The note still made sense, despite kitty-toothmarks and commentary.

Moral of the story: Standing back from a work of art reveals the work of art instead of the individual brush strokes. The brush strokes by themselves, while quite interesting to look at, do not accurately portray the body of work.

Time for more coffee and notes, as soon as I turn off the game again. This time I'll use the off-switch on my computer instead of the merry chaos of a rogue system process.