09 May 2017

Unchosen 34

A quick flash of how she would have handled this situation appeared in my mind. Jaunty smile, flirt and threat intermingling effortlessly in her words and expressions. I snorted at the thought of any one of us trying something like that. It'd never work, because we weren't her. But with or without her, we were in this situation, and we'd have to deal with it.

Apparently, the thug misinterpreted my snort, and his smarmy smile vanished, replaced with an ugly expression that honestly seemed more at home on his face. His goons closed in, barrels rising toward us. Amateurs. I felt a tight smile stretch my lips. Clustered up close like that, they'd go down like pins from the old pre-war game of bowling. But the lascannon on the wall was another matter, not to mention whatever rabble remained inside the wall. It was still time for words, not bullets.

"Don't rightly know how we might serve you," came the unexpectedly casual drawl from Doc, who was still a couple steps in front of me. It took me a moment to recognize the inflection; It was hers of course, Doc was mimicking her style of speech. He didn't have the presence to really pull it off, but I had to admire the guts it took to try. Besides, this was his town.

"Don't rightly know," he repeated, "because I don't know who you are."

"We're the stewards of Outertown," the lead thug blustered, trying to regain his composure. "The guardians of Nova Vi."

"Bullshit," replied Doc, his reserve cracking only slightly, more fire to the words than she would have put there. "I was born and raised in this town, and I know every single face. You three," he paused, and I could see his head move to look at each man individually, "don't belong here." The man looked taken aback for a moment, and I thought it was about to be bullets, but then he crossed his arms and laughed. He laughed like a goddamn villain from the old movies, out loud, with his head thrown back. His back-up glanced at each other, and laughed uneasily along with him.

"That's where you're wrong, my young buck," he replied, leaning forward, looming over Doc's slight form. "Outertown is ours now, unless you think you're going to do something about that?"

04 May 2017

Unchosen 33

We rounded the bend, and Outertown hove into view. We could see that they'd been busy since the worm, since the walls were once more intact, and even more, reinforced with what appeared to be blocks of stone cut from the surrounding canyon rock. Doc had move into the fore, and his eyes scanned the walls avidly, a vague expression of approval on his young face. However, as I watched him look at the town of his birth, I saw his expression shift through puzzled into concerned. I turned my own eyes back toward the town, though it took me a moment to see what was wrong.

The gates stood open like they usually did when there was no imminent threat, and thin streamers of smoke rose from behind the walls; Cook fires, and probably Elwin's forge. That was all as expected, but the demeanor of the toughs at the gate was slouchy, and the slight buzz of voices and activity from inside seemed off, more raucous than expected. While the residents of Outertown had formerly been raiders and bandits, they'd acquired a veneer of civility and sophistication in the generation since they'd thrown their lot in with the Nova Vi vault-born. The few visible guardians held themselves like wild dogs; simultaneously wary of a kick and greedy for whatever they could snatch.

"Something's wrong," Doc said, and I nodded. Chasity had obviously noticed it too, as had Tex, since they'd both fanned out to either side of Doc and me. I stopped and dropped one hand to my holster; Doc didn't reach for his submachine gun, but I could easily see the tension in his shoulders as he took a couple more steps forward, eyes still intent on the town.

"Wall," Chasity said tightly.

Looking where she indicated, I saw one of the two pintle-mounted cannons was swinging around, and I could hear the hum as its reactor came online. From the gate, a party of men emerged, the leader not ostensibly armed, but the two flanking him with their weapons at the ready. The lead man had a cocky grin on his face as he approached.

"Welcome to Outertown," he said, his voice oozing with repressed humor, and his eyes dark and cruel. "How can you serve us today?"

22 April 2016

Mage Blade: Play Session #1

We open on Gotrek Bouldercoat arriving in the town of Cheers (yes...) on his quest to find a rare and endangered flower. He sees Allowydd the fortuneteller upon entering the town, and he stops to ask directions. After securing lodging and hitting a dead-end with the herbalist (deus ex), he follows up with Allowydd, who said her mistress might be able to help him with the flower. When he describes the flower, Allowydd realizes she recognizes it as a flower that is used by some fortune tellers and seers to induce a trancelike state; She tells him that she knows where it can be found, and they agree to leave in the morning to find it.

Setting out into the hills and up to South Mountain, they begin to feel uneasy, and Gotrek notes that the forest is too quiet to be natural. When a strange, unpleasant odor begins to intrude, Allowydd reaches out with her sight to see if she can identify the source, and gets a glimpse of cowled figures with some sort of monster chained and doing their bidding. Even less sanguine about going forward, the pair decides to return to town, hoping Allowydd's mistress might be able to help identify the creature and the figures controlling it.

All is not well however, as they exit the forests to find the nearest farm in flames. Rushing in to see if they can help, they find the savagely mauled corpse of the farmer, and hear cries from inside the burning barn. Gotrek bursts into the building, seeking through the smoke and flames for the source of the cries, and finds the farmer's wife and child trapped in a horse stall. He extricates them, and assists them out of the barn.

Meanwhile, Allowydd has reached into what's left of the dead man's memories, and finds another glimpse of the cloaked figures as they goad their monster into killing the farmer. She helps Gotrek see to the farmer's wife and daughter, then the pair sets out for town as nearby farmers rush to stem the growing fire from reaching their farms.

Once in town, they try to discover what happened, but the woman is too distraught to be helpful, so Gotrek speaks to the local gendarme while Allowydd returns to her mistress, hoping the wizened fortune teller might be able to give some insight. Unfortunately it is not to be, as she finds her mistress in agony, her eyes a mass of blood, moaning over and over again that she was not supposed to see.

With no leads and a growing fear, Gotrek considers going to see a recently made friend, and Allowydd is left to seek answers of her own.

Mage Blade: Skills, Skill Trees, Dependencies

So I wrote much of the following in a G+ post yesterday, and I figured it'd be a good piece for a blog post, so I'm taking the original and expanding on it here.

This is also, sadly, the very first Mage Blade post I've made since starting this blog. Happily, it's back in my active RAM because I've just begun a weekly game of Mage Blade. It's been a rough start since I decided almost on a whim to get this going... But that's good, because I'd previously been waiting for the game to be "ready", which is kind of synonymous with "perfect"; It's never gonna happen, so I might as well get moving on it.

So I am noodling around with the idea of creating... skill trees, for lack of a better term. Right now, Mage Blade has a flat distribution of skills. It looks kinda like this:
  • 2P/1G
  • 1-5 Weapon Skill*, 6-8 First Aid, 9-12 Armor Maintenance, 13-15 Vigor, 16-17 Tactics, 18-20 Military Lore
The first part refers to the skill point distribution per year. 2P means 2 Path skills, 1G means 1 Generic skill point. Normally you'll roll a d20 for each Path skill, and select your skill from the results in the second bullet. Now, the exception to this is denoted by the asterisk by Weapon Skill; This means you don't roll 1 die, and you automatically get 1 point of that skill. So for this list (taken from the Soldier Lifepath) you'd get 1 Generic skill point, you'd get a single point of Weapon Skill, and you'd roll a d20 to get a skill from the list, assuming you'd taken a single year. If you took multiple years of the Lifepath (which is normal) you wouldn't get the focus skill each year, so you'd roll an additional 2 dice per year after the first.

If you were a Soldier for 10 years, you theoretically might have:
  • 5 Weapon Skill
  • 3 First Aid
  • 4 Armor Maintenance
  • 3 Vigor
  • 2 Tactics
  • 3 Military Lore
..assuming that you rolled perfectly average results across such a small sample size. Skills max out at 10, so you've got a fairly competent soldier here.

Unfortunately, despite having odds which shouldn't have had it happen, I've got two characters in my current playtesting group with the Vigor skill maxed out and then some. (they had to re-roll the excess points). Vigor represents your basic knowledge in how to move and use your body to best effect; It's a close analog to the Athletics skill you see in a lot of other games, and covers tasks like lifting, climbing, running, swimming, etc.

I consider it a problem that brand new characters have maxed out any skill, especially without having taken special effort to do so. Some of this, I know, will be fixed by rebalancing and diversifying the skills listed for each Lifepath, but it still perturbs me, so I've been considering solutions ever since we finished creating the characters.

The first solution that occurred to me is to have this skill have a special rule, where its effective value cannot exceed the value of the attribute it's rolled with. It's not a bad solution, but I don't think it's a particularly good solution, either.

The skill tree solution I'm considering would encourage skill diversification, without really penalizing specialists. The way it would work is that certain skills would be considered root skills, which would have sub-skills associated with them. The root skill would have a maximum value, after which you'll need to start diversifying into the related sub-skills. Some sub-skills may also have prerequisites.

Considering Vigor, it would be considered a root skill, and might have a maximum value of 4. If you rolled Vigor again once maxing it out at 4, you'd need to select a sub-skill, Running, for instance, which would now have a value of 5. If you rolled Vigor subsequently, you could choose to increment Running again, or you could choose another sub-skill at a value of 5, such as Swimming. Sub-skills would then be advanced as normal, once purchased.

If you were doing a Vigor-related task that did not match one of your existing sub-skills, you could then use your existing Vigor skill to cover that, such as climbing or lifting and carrying.

The interesting question is whether or not you'd be able to train up sub-skills without having the root skill. I think the answer would be yes, but on a case-by-case basis. I don't think you could do Running without having Vigor, but I do think it'd be possible to be a swordsman and have no skills in fighting without a sword. (Later edit: No I don't. That's stupid. Learning to fight with a sword will by necessity increase an overall skill in fighting, even if you find yourself without your weapon of choice.)

Which then begs the question, could you then get the root skill from the sub-skill? I'd say yes; Even as a pure swordsman, it wouldn't take too much effort to learn to apply your skills to more general fighting situations, so it seems like it should offer some discount or a way to pick up the root skill at a rating greater than basic.

This also sort of suggests that you might be able to transfer some skills to related skills. If you were a master swordsman in the sword-and-shield style, some of that should translate into learning how to use a longsword, shouldn't it? What about if you were an expert climber; could you translate some of that into an acrobatics skill, above and beyond the points contributed by the Vigor root skill?

So, points for discussion:
  • What are your thoughts on being able to max out a skill as a beginning character, in the first place?
  • What do you think about the ideas of root skills and sub-skills presented here? Should all skills be part of a similar framework?
  • What are your thoughts about skills giving a discount to training up related skills?

27 May 2015

Deep Thots Bout Vidya Games: Dynamic Room Detection

WARNING: ESOTERIC, NON-LANGUAGE/PLATFORM-SPECIFIC GEEKERY AHEAD

So, it's no secret that I like to design games. Finishing those designs is a different story, but I do enjoy the process, and I'm always super excited when I start a new project.

I'm thinking right now of dynamic room detection in tile-based games. Sometimes, you want to do something to a "room", rather than to individual tiles. How do you get the game to recognize what is a room, and what's not?

I have semi-dynamic room detection in Ion Trail. As part of ship design, you place room control nodes in the upper left corner of the room, and it detects the dimensions of the room, and tells the tiles which room they're a part of. It has to be a rectangular room, but it makes layout much easier.

But what if you didn't have to do that? What if you wanted non-rectangular rooms? What if you wanted something where you could change the layout in-play? That's what I want to discuss here.

Now, the system I have for Ion Trail, the pre-placed Room Control Node (RCN) upon starting the game immediately tags the tile it's on, and then uses that tile to start a cascade process of pinging the other tiles. It cascades down and right, which is why the RCN has to be in the upper-left node. It prevents any sort of duplicate processes gumming up the works. The tiles identify adjacency, and whether the adjacent tiles are across a wall. If they're adjacent and not across the wall, they name themselves part of the triggering RCN's room, and return data which is used to calculate the height and width. It's a pretty elegant system, if I have to say so myself.

But it's utterly inflexible. While I could add the ability to place the RCN in-game, it would still require proper placement, and rectangular rooms.

Now, I've been playing Prison Architect lately, and they've got a neat solution; manual zoning. You create zones, which are also rectangular. The zones have the ability to detect adjacent zones, and consider themselves part of the same zone, which allows for non-rectangular zones in play. They can detect if the tile beneath them is valid (indoor outdoor) and whether or not specific items are within their boundaries. It's elegant, but not without issues of its own. Forget to manually designate a zone, and no matter how many showers and drains you've got, the game will completely ignore it. This is a feature as well as a drawback though, as it can allow you to dezone cells and cause prisoners to move to another part of the prison, and similar operations.

But I still want something more. The zoning is nice, but not universally applicable. I just want something that tells the game, and the player, that this is A ROOM.

I think the solution lies in the tiles themselves. Each tile is an object, and thus should have a unique identifier. These identifiers can be sequenced, which can allow for a hierarchy. This'll be important in a minute.

So, okay. How do tiles determine if they're part of a room? First off, I want to differentiate tiles from empty space. Empty space is still potentially part of the playable space, but is irrelevant for room detection. So, there's some triggering event. Maybe the creation of a tile, maybe periodically during the game, whenever. It triggers on a tile. That tile then looks in all directions for other tiles. If it finds a wall, it will ignore tiles on the other side of that wall. If it finds a tile that's not walled off, it activates the search process for that tile. If the tile is already searching, it will not try to reactivate the process. The initial tile will set it's object ID (oID) as the RCN. Then, whenever two tiles that are actively searching talk, they'll compare their oID to the current RCN. If a new tile's oID is lower than the current RCN, then the RCN will be changed to the lower (older) oID.

So there's this cascading process. Eventually, you'll have all of the tiles in a given area (walled off) in "search mode". How do they know when they're done? Maybe once a tile has activated search, it'll drop into a wait mode; during wait mode, the tile will compare its FCN value to the FCN value of it's FCN, which will keep updates moving toward the oldest value. When there are no more tiles in search mode and they're all in wait mode, they should all be pointing to the oldest oID object as the RCN. Here's the rub. They're all waiting, nothing is going on as the RCN isn't updating... But each individual tile only knows it's own state. The RCN doesn't actually know which tiles are part of the room, though the RCN and all of the other tiles know who's in charge.

Does the RCN keep some sort of matrix, to keep track of all of its tiles, and their states? This seems problematic, as each tile will have to have the potential to keep this matrix... and when does the matrix get updated? When the room search is complete? We still don't know how to tell the RCN that it's done. The matrix could tell it that, but that means that there'd end up being multiple matrices being generated during the room detection, which would mean that, when each tile updates its RCN, the matrices would have to be merged. It'd be unwieldy fast.

So, okay, back up. Maybe the RCN doesn't know which tiles are which? Say there's a value on the RCN called v_roomstat. A tile will look at this value, and compare it to its own status; If the tile's status is searching, and v_roomstat = searching, it'll do nothing. If they don't match, it'll update that status to match it's own. Which means every tile that is waiting will try to tell the RCN that the room is waiting, and every tile that is searching will try to tell the RCN that the room is searching. Eventually, they'll all agree, and the value will stop being changed. When the value has been "waiting" for a designated period, the RCN will know that no more tiles are searching.

This is problematic only in as much as there might be an issue with multiple change operations being pushed simultaneously. That'll depend on the platform that the program is running on. Since this is still a thought experiment, we'll assume it's not a problem right now, and move forward.

So, we've got a blind RCN and a bunch of tiles that know who the RCN is. This is somewhat useful, because a thing can happen to/on a tile, and the tile will be able to communicate to the RCN to tell what happened. But how do we do things to the room as a whole? That's the primary purpose. We can call on ALL tiles, and pass the RCN as a parameter, so only the tiles that point to that RCN will actually run the function, but I think that would use a bunch of resources unnecessarily, even if it's only for a blip of time, as each tile was like "Who, me? Oh, never mind." Maybe we go back to that matrix idea, again, except we only really need the oIDs of the tiles, so an array should work fine. So, the RCN, once all of the room tiles are done searching, turns them all off (so status is now idle) and now generates the matrix. We'll probably have to do the all call at this point, but only the one time per room detection, not every time we want to do something to the room.

But still, how do we populate the array? An array is a list of values. You access the items in the array by calling the array and the index of the item. Depending on the platform, you can possibly just create a dynamic array, and pop each tile onto the end of it as it reports in, but I don't think this solution is ideal. In Ion Trail, it was easily done because the RCN could just call an itemAtPosition function incrementing the x and y values through a a pair of for-loops, and pop them into place on a pre-generated array, since it already knew the number of tiles in the room. As this never changed, It was done once at the beginning of the game, and never again. Obviously that solution won't work here, since we've got to allow for non-rectangular rooms, and an unpredictable number of tiles.

I think it might be worthwhile to use a linked list, instead of an array, since it allows for dynamic changes a lot better. The RCN would be the head of the linked list. We already know it's the oldest tile in the room, so we can use the oIDs as a list, starting with the oID. Any older tiles would simply not be called. Incrementing the oID call, look for the RCN value. If the RCN value matches the room, then pop that tile onto the end of the linked list. Then, when you want to do something in the room, the RCN calls the function, then sends the order down the linked list, until it hits the tail, and terminates.

I think that's workable. I want to go home and try it now... I guess I'll let you know how it goes.

05 May 2015

MMO Design Noodling, part 2: Living Economy and Ecology

Read Part 1...

So, this is going to be based in some thoughts I had many years ago, but I'm going to try to incorporate some more recent reading in my thoughts as I go.

Star Wars Galaxies was probably the first time I really thought about it, but what strikes me as the biggest problem with MMO economies is that they're completely open. Money (and in some, equipment/materials) flows into the system infinitely. Theoretically it also flows out of the system in the form of money sinks, crafting, breakage/loss, but in practice, the influx is always much, much faster than the outflux. The reason for this is players. Players will find ways to maximize gain and minimize loss. They'll hoard money and equipment, and learn to not lose equipment that isn't easily replaced (such as valuable weapons/armor/etc). The result is inflation on a massive scale. Certain base-level items will always be available for cheap in most MMOs, because the game ensures that NPC merchants will sell stuff that new players can afford. But once you start wanting to get past the basics, you usually need to start dealing with the player-based economy, whether it be through auction houses, 1-on-1 trading, player merchants, or whatever, because you can't buy the top of the line equipment from NPCs; It has to be quested for or crafted by players.

For instance, in Ultima Online, you could purchase a house for a relatively small sum. But if you wanted to actually put it somewhere, you were generally out of luck, unless you happened to find a decaying house and camp the spot until it fell down, or using player griefing to keep others from refreshing their house. Eventually, if you wanted a house, you'd have to but a pre-placed one from someone else, which meant that the demand was massive, the supply was completely fixed, and as the amount of money that was static in the system increased, the prices soared to exorbitant levels. I'm not going to lie; When Age of Shadows came out, promising empty land for housing, I spent $100 of real world money to buy 5M gold and bought several housing deeds, which I distributed to my trusted lieutenants. It was worthwhile for me to spend real money to get extremely difficult to acquire in-game assets. Though I stopped playing the game a year or so after that, I don't regret the purchase, despite the TOS violation.

So how do you fix this? My thoughts were to have a semi-closed economy. Resources like gold and materials would flow into and out of the player system, but there'd be a finite amount of those resources. Once a resource in the "pool" got low, it would flow into the system more slowly, until eventually it was depleted, or it was refreshed. Money is the easiest resource to demonstrate this.

So, if an NPC pays you to escort him safely to a town, that money enters the system from the pool. If you stick that money in a vault somewhere, it becomes static, and doesn't exit the system. If you pay for a service from an NPC, then the money exits the system, goes back into the pool, and can be put back into the system from another point of access, like maybe a dragon's treasure trove. If players start to hoard large amounts of gold, then NPCs will begin to have less to offer. Eventually, the money may become mostly static, until something changes, such as a raid on a rich player's holdings, or perhaps that player, hearing of such a raid, hires a force of NPC guardsmen to protect their vault.

One thing that I've considered is that as the player-base grows, then necessarily money will grow thinner, even without deliberate abuse. That's why I'm thinking of a semi-closed system. As the player base grows, the pool will grow to accommodate. There may also be a sort of trickle effect, perhaps to reflect the mining of precious metals and the minting of coin.

There are obviously ways this could be abused, which I'm still considering. I'd probably need to consult with people who've made a "career" of exploiting game mechanics to really cover my bases, as I've usually been one to play within the rules as much as possible.

So, how does all of this relate to a living ecology? Well, the ecology is a big source of the materials needed to build and play within the world. If you chop down a tree, you get wood which you can use to build houses, furniture, carts, weapons, and various other pieces of equipment. But you also have a tree stump, and one less tree. The normal system employed by MMOs is to have resource points which can never be depleted, or only temporarily. Trees which can be chopped for wood, and an hour later are refreshed so can be chopped for more wood. Mining nodes which yield 2-5 units of ore, every hour or so. This contributes to the same inflation problem you see with money. The system's normal way of dealing with this is to make the equipment you can make fairly low in value, until you've invested a massive amount of time building a few dozen swords, or what have you.

My thoughts on this are to make the endeavors take longer, but produce more. You take 10 minutes to chop down a tree, it's gone. But you get a whole tree's worth of wood. You spend an hour mining, you're going to get a lot of ore that you can then smelt... If you make a sword, you're not going to bang one out every 5 seconds, but when you've made one, you've also made some significant strides forward in your knowledge, and the sword won't sell for less than the cost of a meal. So there will still be the crafting grind, but in the end it'll take a similar amount of time, but a lot less individual items, and the associated equipment.

And the tree you chopped down? Plant a sapling, and it'll grow back in a comparably accelerated time (it's not going to take several real days of work to create a sword, but it will probably take several real hours) If you don't replant, then somewhere in a deep forest far away, another tree may begin to grow, but that will take significantly longer.

Extending this past wood and ore, things like climate, weather, seasons will have an effect on the recovery and growth of animals and plants. If you kill a lot of wolves, the rabbit and deer populations may grow, and conversely reduce the local plantlife. If you kill lots of deer and rabbits, the wolf populations may move away, die off, or start attacking human settlements. If you cut down a lot of trees, the wildlife in that area will become more scarce. If you never re-use the metal from old swords to make plowshares, you'll have to delve deeper and deeper into the earth to find more ore.

In the end, what I'm looking for is a world where player decisions matter. Players being selfish will eventually create a world bereft of natural resources. Players being good stewards of their lands, and learning to reduce, reuse and recycle will find themselves with more natural resources. Eventually, you may find some players at odds with others over how to treat the land. Eco-terrorists living in the deep woods, declaring themselves as defenders of the wilds, preying on the industrialists who send in their logging teams and their mining operations. In a more balanced place, industrialists will reuse materials, replant the forests amd promote animal husbandry.

I know that UO and SWG both tried something similar, and ran into issues. There was some suggestion that some of the issues were related to hardware limitations, but I doubt that was all of it. What I'm proposing is a bloody complicated system, with lots of small interactions that could eventually snowball into larger, unexpected problems.

So now that I've rambled at length, I'm turning the floor over to you. What problems do you see with the sort of system I've proposed? What solutions do you think might work? How would you address the problems I'm trying to address here?

23 April 2015

MMO Design Noodling, part 1

Introduction: I've done a lot of thinking about this over the years. MMORPGs used to be, at one point, my primary source of entertainment.


My resumé:
  1. Ultima Online
  2. Star Wars Galaxies
  3. City of Heroes
  4. World of Warcraft
  5. Saga of Ryzom
  6. Dungeons and Dragons Online
  7. EVE Online
Plus some demos, trials and Betas here and there.

This list is roughly chronological, which is somewhat telling. The MMOs that are most influential to my preferences are the first few, UO and SWG foremost. They definitely shaped what I consider an MMO, and what I want out of an MMO. We'll start there.

What I want: For me, an MMO is another world to live in and explore. I don't want the experience dictated to me, and I don't want to be constantly retreading ground where thousands of others have been before. I want it to be lived in, not a theme park where you're running from one ride to the next. Ultima Online and Star Wars Galaxies almost exemplified that ideal for me. EVE Online, were it not a ships-in-space game, would be an even better example.

Don't get me wrong. I don't actually dislike City of Heroes or even World of Warcraft. I've played both extensively and enjoyed them for what they were. But they're not what I really want out of an MMO, and they are excellent examples of what I don't want, which is theme park instances of infinitely retreaded content. Sometimes they're excellent content, but eventually it all starts to run together.

Let's get a bit more specific, though.

Dynamic Content: This is probably the hardest thing to do in a game, ever. But this is probably the biggest thing for me. I remember running around as a 20-ish Paladin in WoW, with my beer-keg-onna-stick. 5 levels later, I'm done with it, and I see another 20-ish Paladin with that same beer-keg-onna-stick... that's supposed to be a unique weapon, crafted just for me. I knew it wasn't unique when I got it, but the point remains. Before that, we "rescued" a town, just after someone else rescued it, and right before another group rescued it. It's fun only so long as you can ignore or pretend that you and your friends are the only heroes in the land.

Dynamic Content would create one-off unique experiences. They may end up being slightly generic a lot of the time, but at least you're not going to have the next group of heroes wandering into the area rescuing the same village you just did. There are a couple approaches to Dynamic Content which can actually work side-by-side, so it's not an either/or decision.

The first is content that is generated upon need based on a bunch of variables. An example might be a farmer with a bunch of variables defining resources he has. If he gets low on a particular resource, he may generate a request to get some of that resource. How the player chooses to get it is then up to them. That same farmer might have problems with bandits raiding his farm, so he'll generate a request to get rid of the bandits. Once the bandits are no longer a problem, maybe a bunch of wolves move into the area, so he may generate a request based on that.

The second approach is player-generated-content, and this one dovetails best into the various things I want in an MMO. I'm not talking about quest-creation tools like you found in City of Heroes or Saga of Ryzom, though those are pretty bad ass. The problem with those is that they're mechanically divorced from the rest of the game world. What I mean is that players should have some mechanically supported way to drive activity in the game, such as putting requests up on a message board. Such requests might be a smith wanting to buy ore, a miner wanting a mine cleared of threats, or a merchant needing goods moved from one place to another.

Living World: This obviously dovetails strongly into the above. I don't want a world where everything stays the same. This is a reason why, given the skills, the team and the budget, I would still never pick a licensed IP. I want the players to be able to shape the world to their collective will, and IP owners and fandom might get a little... cross about that.

I mean this on a pretty epic scale. Like, so epic that it might actually turn out to be completely impractical. The setting will have cities, but those cities will be capable of being conquered, burned to the ground, rebuilt, abandoned. Governments, countries, all will be capable of being taken over by players, and run as they see fit. The world on Day 1 will look very, very different from the world in one year.

I also mean it on a much smaller scale. You'll be able to build a house, set up a shop, and eventually build a tidy little mercantile operation, utilizing other players to help with tasks you can't or don't want to do. Maybe you'll build it in a prosperous city, where you'll have the protection of guards and laws, as well as regular traffic. Maybe you'll find a crossroads somewhere for your endeavor, which might in time lead to the birth of a village.

These are just the key concepts I want in an MMO, but there's a lot more, in terms of systems, gameplay and world design I want to talk about.

Next time, I'd like to dig more into the idea of a virtual world, economy and ecology, and how they all tie together.

What are your thoughts? Which MMORPGs have you played, which were your favorites, and why?

24 November 2014

Unchosen 32

Doc was born and raised in Nova Vi, which explains a lot about him, some good, some bad.

Nova Vi was a soft town. Nestled deep in a blind canyon, it was naturally defensible, and the unsealed vault that was at its heart, full of books and knowledge, allowed the inhabitants to make a better life than could be found in most places in the wastes. A long while back they'd cut a deal with a few of the stronger raider groups, and eventually they'd managed to form a lasting symbiosis. The former raiders lived large in Outertown, benefiting from the knowledge they protected in Innertown, which is where the scientists, scholars and doctors, with their technology and advanced ways lived.

Doc was from Innertown, and he'd been talented even for someone raised to it. If it hadn't been for the worm, he'd probably still be there. I still hadn't quite figured why he'd come with us, and there'd been many times I thought the soft, idealistic kid would die in the wastes. In some ways though, I guess he did. He still walked, talked and cracked the same ironic grin, but that youth who'd followed her out into the unknown was dead and buried.

Doc didn't say much as we wended our way into the canyon, but I could see the mix of emotions on his face. One moment he almost looked eager, young again in his enthusiasm for his former home. At other times, almost afraid, and still others... contemptuous? It was definitely a complicated homecoming for the kid, that much was obvious.

Just one more bend of the canyon, and we'd be within sight of Outertown.

12 December 2013

Unchosen 31

It was a few days before we were completely free of the ruins, and weeks more before we were recovered enough to move on. We'd stopped back into Leah to let the townsfolk know that we'd failed. They took the news stolidly enough, and Chasity never said a word. I guess it was a hard life, even in the pretty little township, and loss wasn't something anyone was unfamiliar with. From there, we headed back out into the world again, heading north again, trying to regain the trail of the crew that had taken the object of Her quest.

The object of Her quest. We knew a little bit more about it, but not much. She'd told us some, but though trust ran between us like an electrical current, this was the one thing she'd always played very close to the chest. We discussed it between us in the evenings, what it was for, what we'd do with it if- when we managed to get it back. We didn't really even have a plan to do that, but getting it back, finishing Her quest, was the only thing we had. 

So we wandered. We followed hints, rumors, any thread we could pick up, from junktown to village to ruined town. Weeks passed. A month. Then we rolled back into Doc's hometown, Nova Vi.

12 November 2013

Unchosen 30

I remember pain. Searing pain all over, but mostly in my back. That's what I came back to, after blackness.

After the pain, there were voices, urgent, nearly frantic at first, then calmer. Flickers of light, the sky, a fire. It was all muddled for a little while, but after a little while, it started to clear up. I tried to sit up, but the agony came back and I lost myself for a while.

The next I remember, it's dark, with a flickering fire, barely big enough to heat coffee. Except, we didn't have coffee, I remembered. It'd been a month since the last of it ran out. I didn't try to sit up this time, just turned my head. The pain flared again, but not enough to put me out this time. My eyes focused, and I found myself looking at the slack-jawed face of Tex, laid out on his bedroll next to me. His throat was still bandaged, and he was drooling, but even in the firelight I could tell that his color was much better. I turned my head again, bracing for the pain, and found Chasity and Doc, their murmured conversations stilled, staring at me across the tiny fire.

"Welcome back, you old geezer," Chasity said with a grin. I didn't answer at first, just looked her over, trying to recall what had happened. I saw the heavy bandages around her forearm, and it all came back to me. The beast in the ruins, with the acid spray. It'd gotten Chasity first, and then... Nothing. I couldn't dredge up the last bits, other than some vague recollection about the antenna.

"I got some bad news, gramps," said Doc, his voice grave. I let my eyes focus on him, searching his expression. He'd pulled something out of his pack, and held it in his lap. After a moment, he lifted it up, letting the faint light from the fire shine through it. "Your duster didn't make it. I figured you might want to say a few words before we bury it."

15 October 2012

Unchosen 29

We had a chance, but the fight wasn't over yet. There was still no reasonable chance of fleeing and getting everyone out alive, and if we'd learned anything since coming together, it was that you don't leave your comrades. The centipede was tapping its way toward me, the spur dripping acid, as though it couldn't wait to blast me into a sizzling puddle. I lined up my revolver again, knowing we wouldn't be able to move Tex before it got to us. If I was lucky, another shot could cripple the other antenna, and maybe give us enough time to get away.

Once again, I ran my marksmanship drills through my head as it the head bobbed steadily closer to me, and the uninjured antenna flicked across the rocks and broken terrain trying to find me. When I squeezed the trigger, I knew the shot was true. The shot was true, but luck was against me. The monster jinked its massive head 6 inches to the right, and the bullet tore a hole into the carapace, but not close enough to injure the antenna. At that moment, the antenna lashed out and caught my arm, and I knew we were dead. It oriented the spur on me, and I raised my second gun to unleash hell before it got me.

Then Chasity screamed again, this time a sound of defiant fury, and as she did, she cut loose with the submachinegun in three buzzsaw bursts. The centipede screamed as the bullets tore into the carapace all around the uninjured antenna, and the final burst tore it completely off. The spur erupted with acid and I turned and threw myself atop Tex, hoping that Doc would find some sort of cover.

02 October 2012

Unchosen 28

Everything I'd ever learned about marksmanship flowed through my mind as I sighted down the length of the barrel. Breathing, steady and slow, wait for the natural pause. Trigger squeeze, tip of the finger, not the bend, smooth squeeze, don't pull. Sight picture, the base of the antenna squarely framed by the rear notch, bisected by the sight post. My hand had never seemed so steady, so sure. Everything slowed to a crawl, and as the breath left me, I paused for a split second and took up the slack on the trigger.

That old revolver roared in my ears, but my eyes never left the target. I knew the shot would go true, but I didn't know if it would be enough. As the bullet ripped through the chitin and into the joint, there was an explosion of clear, viscous liquid, and the monster screamed again, but the antenna didn't go flying off like I'd hoped. The centipede turned, orienting on me, and the antennae lashed out toward me.

It was only then, after beginning to think that I'd failed and doomed us all, that I saw how that antenna flailed wildly, no longer tapping with the same precision as the blind beast tried to find me. I hadn't taken the antenna off, but I had crippled it. We had a chance.

26 September 2012

Unchosen 27

Chasity's scream rent the air. The mortal agony in her voice made me clench my teeth. I shifted my grip on the litter, getting one hand free to raise one of my revolvers to aim at the monstrous bug. Only... where to shoot? Everwhere on the massive head was armored, and it didn't have eyes, or that would have been the obvious target. The acid spur seemed risky; Who knew what rupturing that might do? As I was considering my target, I felt a hand smack weakly into my leg. I looked down into Tex's nearly delirious eyes as he murmured something I couldn't hear over Chasity's scream, and another chatter of submachinegun fire. Damn, but that girl was tough.

"The antenna, you old fuck," Tex managed in the brief silence that followed. "Shoot the antenna."

I looked up to see Chasity hunched behind a rock weeping copiously while trying to slap another magazine into the gun one-handed. The centipede's antennae were whipping furiously, tip-tapping the ground, working their way closer to her hiding spot. It seemed to have forgotten the rest of us in Chasity's determinedly continued assault. It was obvious that she didn't expect to get out of there alive, and she was giving us the opportunity to get away.

To hell with that.

I thumbed back the hammer on my revolver, leveled it and squinted as I brought it to bear. Chances were, I'd only get one clean shot.

13 September 2012

Unchosen 26

Then everything went to shit in a hurry.

Doc shifted his grip on the litter, and took a half step, preparing to run. Before he could even shift his weight from the other foot, one of the antennae lashed out like a whip, catching him in the chest and making him stagger. Still holding the other end of the litter, I tried to fumble for one of my guns, and the other one swished toward me and swiped across my forehead. It stung, but not like I'd expected; It was more like getting snapped with a rubberband than an attack. The creature instantly started zipping toward us, it's massive pincers levering wide open, and the myriad tendrils on each twitching spastically.

Then Chasity let rip a burst of fire, directly into the sextet of mandibles between the pincers, as Doc recovered. I twisted, getting ready to get out of there, letting Chasity cover our retreat again, as much as it galled me to do so. The centibeast reared up and let loose with a shrill warbling noise as the burst of bullets ripped into the soft tissue inside its mouth. Then both antennae lashed toward Chasity, tapping her a few times before withdrawing and drawing another burst of fire from her in response.

That was when we found out what the spur on its head was for. The pincers slammed shut, and the head came back down, orienting directly at Chasity. Before any of us could react, a stream of slime, exactly the same shade as the puddles all around, shot out at Chasity. In the instant before it hit here, I had time to think she was a dead woman, but she threw up her arm and lunged to the side, just in time for the stream to miss her. Almost.

11 September 2012

Unchosen 25

It took me a moment to realize what I was seeing. Dead ahead, in the remnants of an intersection where two buildings had collapsed into a heap, there was a vaguely round hole, the size of one of those old VW buses, burrowed into the wreckage.

It wasn't the hole that had caught Doc's attention, but the wasted landscape around it. Rock, concrete and steel was scorched and melted, and everywhere in the blackened landscape, there were hissing puddles of greenish goo. Before I could even open my mouth to recommend a quick withdrawal, there was the sound of grinding movement, and deep within the burrow, something stirred.

The monster emerged from the hole segment by segment, one chitinous section after the next, with a dozen legs each. The first part had two long barbed feelers that tapped at the ground and rocks as it emerged. There were no other features that might identify eyes or mouth, which was somehow more horrifying than massive pincers and glowing multi-faceted eyes would have been. At least, that's what I thought in that moment.

Then the far end emerged and whipped around, and our perceptions realigned; The monstrous centipede had exited its burrow backward, but now the business end was pointed at us, and the rear end no longer seemed quite so creepy as it had. Foremost were a pair of massive, articulated pincers, with thousands of waving, foot-long tendrils covering them. Behind them, we could barely make out a hexagon of smaller mandibles surrounding its mouth, each one literally dripping with venom. Topping the thorny shelled head were a pair of long antennae at least seven feet long, constantly twitching and tapping the landscape around it. Between the antennae and the pincers, where eyes might be on another creature, there was a single, blunt spur, no more than a hand in length.

We stared at the creature in fascinated terror for a moment, reflecting that this really was no longer the world of men.