Thursday, February 6, 2014

Brave New MMO

Hours, Days, Weeks wasted...

I've wasted way to many hours grinding out MMOs in my adult years.
However I still enjoy a game with a good challenge or engaging story line.  The problem I always face is the lack of depth in a MMO world.  In fact I wasn't able to permanently kick my World of Warcraft addiction until I played Minecraft.  Minecraft is a great sandbox, but it's also a game you can pick up and put down.  Every now and then I go back to try something new.  I had a lot of fun with an automated town-defense/zombie grinder, their simple pathing and taste for villagers made for a fun little game of trap-door.
But I digress, what we're talking about here is the massive worlds shared by hundreds (or thousands) of players all working to their own ends, sometimes in cooperation, usually in competition.

Every player is a master of patterns.

If you play video games long enough you learn patterns.  It's all software and at worst the bad guys repeat one simple pattern, at best the respond to a handful of stimulus but just as predictable.  Players are masters of this study of patterns.  With enough time, and opportunity, even the most inept player could master the patterns and stand shoulder to shoulder with the most aggressive players.
Not all of these "slow" players were inept, many were "casual" players.  In fact, I met many "hardcore" players who were inexhaustibly inept when confronted with new material, but they were hardcore and would keep at it until they mastered that skill.  As you can tell, I don't particularly like this range of player.

Twinks how do they work?

So if every player will eventually master any game, given enough time and incentive, how do you make something that is worth playing?  Something un-master-able?  I like to start with how players master the patterns, it's a process known as "munching" or "min-maxing", sometimes "twinking".  The game world is based on simple math, and the rules are usually invented with a finite amount of fitness testing.  But once the rules are made they are stuck (until some patch that throws things out of balance) the players discover these rules and find the points of maximum return.   Smart game-makers will eventually notice that a specific class of player is abnormally popular and exceedingly successful.  The usual response is to address this by changing the physics of the game-world to hammer out the "local-maxium" and creating a new problem someplace else.

What can be done?

What I'd like to build is a game that plays evolution with the players.  The world itself would be a bit of a sandbox world, some basic history to set the stage, but I don't think an artificial story would fit the model.  This evolutionary system would have some basic rules.  A population of "mobs" act as a network of cellular automata, meaning that their behavior is dictated by interactions with themselves and the environment.  For instance a pack of wolves would need a hidden den for safety during the day, but would have to hunt for prey at night.  If their success at finding prey determines how many new pups are born.  More prey, more pups until they hit some carrying capacity where they stop expanding.  New competition for prey would shrink the population of wolves.  The important bit, is that wolves don't just spawn out of nothing.  If a group of players found the wolves in the den and killed them all, then no more wolves.  The wolf-prey, rabbits and such, would then have one less predator control their number.  Another predator would take advantage of the competition vacuum and expand to fill in the gap. 
The players meanwhile charged to control protect the local livestock from wolves will find that they have a new problem with the next predator.  Meanwhile, the system registers a failed entity, the wolf's "DNA" is passed through a mutation function that will add, remove or substitute a small part of the characteristics governing wolf behavior and ability.  
As players and environment force mobs to extinction the game generates new versions for the players to encounter.

So what?

One challenge of this system is a perpetual state of unknown.  In a standard game-world the player may explore and find new areas and creatures but at some point they will master all the patterns and become bored with the static world.  Often a pointlessness makes playing unfun, nothing the player does really makes a difference, especially to other players.  In this world, an ambitious player can force ecological changes.  Furthermore, players will learn that the wolves they encountered last month are nothing like this new den, wolves that are different enough to place the players on guard and give them a new challenge.  
This system also defeats the problem of "meta-knowledge" in the player base.  In the standard game, once one player knows a secret, it gets posted online, then every player will know the secret.  In this evolution world, over time the state will change making meta-information useless over time.

A bigger sandbox

To take advantage of this information system I'd like to have mechanisms like maps and books that players can make to record information, part of an information economy.  A "scout" player can make maps of the area she patrols and sell them other players.  The maps would contain animal tracks or monster camps allowing other players to locate what they need.  A very old map would be of questionable use without other more timely information.  Likewise, players could record history in books, build libraries to store and protect their player-history.  These will be full of fact and fiction like traditional history, adding a depth to the game not found in fixed story games.
Players shouldn't be above the evolution of the game, or rather the player populations aren't immune to nature.  While players are logged in, they control their avatar and can apply their superior AI to enjoying the world, but when they log off, their avatar joins the cellular automata system that is their player community.  It would be great if professions were things automated by the automata of a player.  So a player with a warrior spirit may conscript in the local militia and while offline patrol the town/city for a wage and gain skill in combat while the player is offline.  When the player logs in they will see they are richer, the city is still safe and their skill has improved.  They can then get together with friends and go on an adventure.  When the adventure is over, the avatar returns to duty.  Likewise with the blacksmith or farmer etc.  This way the players can build the society they want.
This also means that a city/town can fail and die.  Perhaps a powerful necromancer has taken to raising the dead and attacking the town, as their resources are depleted and infrastructure destroyed the players will be forced to relocate.  Later when new players come across the powerful undead and defeat the necromancer they find the ruins of the library.  Within some books survive telling the story of the previous players who build the town.  They also find the treasures lost by the city and accumulated by the necromancer.

Big bosses

This system doesn't preclude the introduction of rare but powerful creatures.  The system could spawn powerful but solitary creatures that survive unchallenged until the players get ambitious enough to tackle the problem.  Killing the "dragon" would eliminate the threat forever, unlike other systems where week after week you fight the same canned adventure for a chance at a coveted item.

Gear and Stuff

If it isn't apparent, this system is looking to be a challenge to the player, not just a dedication-check.  The problems go unsolved until anyone figure them out.  New problems eventually replace old ones.  Prosperity is a fun element to the game, the players should feel like they can become rich and powerful, but I never want to have a situation where a players stuff is more important than their skill, cleverness or planning.  Since the game is meant to be autonomous, I can't have an army of developers creating new "Something of Somewhat" items to reward players.  Instead I want a sword to be a sword, the only thing special about it will be the skill that made it and the materials it was made from, neither of these will dramatically change the ability of the player (in mechanics).  This isn't a new way to craft, just something that allows players to hunt for exotic materials and seek out gifted craftsmen to create coveted items.

How to make it work

Saying that a population will function like cellular automatons is easy, making that work in code is harder, making that look good to players is very hard.  Getting the right mix will be a steep curve.  So the wolves eat the rabbits and rabbits eat the farmer's carrots, and the carrots need sunlight, so now I need weather!  At some point I must cut the illusion off.  I figure there will be some logic for crops, but base-prey will just reproduce at some fixed rate, perhaps they will reproduce faster if they find "power food" like carrots, but that's about as deep as I'd care to go.  Then how does a wolf interact as a population, do they move like a swarm controlled by one mind, or are they each a unique AI?  I suspect for computation, a tree falling when no one is around will not make a sound.  Likewise, populations without players to witness will play out in a high-level simulation and only render to individuals when players are in the zone.  In the presents of players each population will spawn entities modeled off the "genes" of the population.  Part of those genes will be the simple rules that build complex behavior like a school of fish or a flock of birds.  A wolf in a pack may hunt but it stay within sensory range of the alpha, when it detects prey it alerts the pack, likewise when a wolf detects that another wolf has prey it will break hunting and begin pursuit.  A wolf cut off from sensory range of the pack will wander until it dies of hunger or reunites with the pack.  When attacked alone a wolf will call for help and escape, if attacked in the pack they will attack.  (I won't bother with the details of combat just yet)
Intelligent creatures will be more difficult to design AI and make believable, In other games, I never could appreciate how a hallway full of defenders would simply wait their turn to be slaughtered when they had superior numbers and defending their home!  Perhaps life in dungeons and castles leads to acute near-nearsightedness and hard of hearing.  Likewise you wouldn't expect a castle full of orcs to give up their defensive advantage and flood out the gates to attack the short-straws of an invading army.
A good way out of this problem is to limit the world to sub-intelligent creatures, and let the players wage war and invasion.  Without a common enemy any factions would be more likely to stir up trouble.  There could still be common cause in the epic creatures labeled above, but they could still be AI governed by automaton rules.  The bonus is that once the players learn the automaton's behavior, they will defeat it and the "formula" is now obsolete, allowing for new discovery with the next epic creature.

AI

I throw a lot of magic about with this "AI" control of everything.  I am a bit of a hobbyist in software and neural networks.  In fact this whole project comes from the first goal,  I want a better game, and the second, I want to use AI to make a better game.  It is a great place to experiment, you a fully simulated world, building "robot" bodies for the AI is as simple as copy-paste.