PDA

View Full Version : MMORPG Design Paper



Whoracle
2007-12-19, 11:45 AM
Hello there.

A couple of Months ago me and some friends whipped up a (very rough) first draft of a design premise for an MMORPG. Yesterday whilecleaning my harddrive I found it again and expanded it a wee bit with new ideas I had, and now I would like to hear your opinions/ideas about it.

NOTE: This depicts a form of MMORPG _I_ would like to play, not a form that is in existance today, and I doubt that it will ever come to exist. Even so, if someone thinks this would be feasible and likes to use the ideas herein, please ask my permission beforehand.

Here we go (Danger! Lengthy post inside!):


..::[oMSORPGe]::..

The OpenMassivelySingleplayerOnlineRPG Engine


..:: Preamble ::..

It is our goal to develop a sort of generic MMORPG server and rules for writing a compliant client.
We do not intend to write a complete client whatsoever, neither 2D, 3D, LowEnd nor Highend.
At least not at this time. We just want to do a server and, later, a demonstration client
to test and show if the server works and if a game based on our ideas would work.

Right now, as we have just begun, we are in a brainstorming stage, scraping together ideas and
kind of weaving a mental image of what we really want to do.
Later on we will need some more coders who can tell us which of our ideas are possible, which
are hard to implement and which are pure insanity.

There will be a Website for this project,
once we have enough material for it to be really interesting.



..:: The ideas - Part 1 ::..


1. Instanced or Free For All?

The World will be divided into a multitude of "loading zones" or Cells similar to those used by
'The Elder Scrolls: Morrowind' and 'Oblivion'.

These Zones will be instanced for the assembled group on a P2P-basis.
Basically, everytime you advance 100 metres or so, you walk into a new instance which will be
randomly assigned to your Group. These Instances, however, will not be set in stone, but from
time to time (based on stats such as tracking or search, and if you flagged a player inside the
Cell you are about to enter), you will be assigned a already inhabited Cell, thus imitating
the habit of overseeing someone in a big city or in the woods if you're not activcely searching for them.

The Server gets a signal from the client telling it which 'Family' of Cells
the Player(s) are about to enter (e.g. City X, Cell Y) and if the Player(s) flagged anyone or are using
active tracking or search skills and their levels.

The server then decides randomly, which of the instances of the cell the player(s) will be sent in
(empty or otherwise, based on said information), and transmits the initial state of the Cell and its
inhabitants to the client and establishes a P2P-Conntection between all clients.


2. Cheating

Anti-cheat protection will happen as follows:
your Character(s) will be stored both locally and on the server, whereas the copy on the server
only acts as a backup. Additionally, the server will create a checksum of your character(s) and
check against it on login and logoff and on every cell change, thus erasing the possibility to
modify your characters stats while offline. Also additionally, the server will check against
the last submitted checksum in random intervals that are to happen at least every lets say 2
playing hours. This can mean it is checked after 5 minutes and then 2 hours later, or it can
be checked after 10 minutes and then 5 minutes thereafter, but NEVER more than 2 hours after the
last check, so the possibility to get checked while cheating is quite high without generating a mass
of server traffic. My suggested checksum would be MD5, but if anyone knows of a better, let me know.

To tackle the need to change your character outside these checktimes, let's say after an enemy drops
something, we'll try a different approach. The drops from enemies originate from a template file for
said enemy, so if on the client some enemy drops something, the client sends an "acknowledge" signal
to the server, which then creates the item's MD5. When the player picks the item up, the client sends
another signal to the server (flags the item as "picked up"), and the server adds the MD5 to te last
known character-checksum and checks afterwards.

Experience points have the same procedure, only skipping the "drop-signal" part, as they get
"picked up" automatically.

As of trading between players, there seems to be no need to restrict or check anything, as
both the respective characters have to have a valid checksum on trading, so all there is to
it is sending an actualised checksum of both characters after the trade, comparing the MD5 of
both and validating it
(e.g. Player #1: Last MD5 - Item MD5 + amount of cash MD5 | Player #2: Last MD5 - amount of cash MD5 +Item MD5).

I don't know if this is handled this way already in other MMOs as I don't know their mechanics,
but as of know it seems a prudent way to me. If anyone has a better suggestion, well, go ahead and let me know.


3. Character Parking // NPCisation

Based on the thought of minimizing server traffic, we will allow only a very limited amount of characters
per account (e.g. 2 or 3). As we know this will upset many players out there, so here's the deal:

You will get the possibility to switch ACTIVE characters to NPCs.

So if you want another new character but don't have any slots left, you go ahead and "park" one of
your other Characters. Based on our profession system (as lined out in the next chapter), you create
a NPC Template from your character, purchase the neccessary paraphrenalia and the character gets added
to the game world as an NPC.

This is best explained using an example:

Let's imagine Adalbert, your stalwart Warrior lvl 20.
His profession when the character started was INNKEEPER, and in the course of his happy little online
life he chose to be a fighter. He rampaged through various dungeons in his time, but now you want another character.
The course of action would then be for him to purchase an Inn somewhere (e.g. in his favourite city).
Then you set up his Tavern, perhaps using some kind of minigame (SimTavern, anyone?), hire staff
(NPC or parked SERVANT-Characters for example), buy some furniture, and click submit. A new cell in said city
will be created, with a link to the game world and a nifty sign saying "ADALBERT'S TAVERN" or some such.
Then game will then create some talking patterns from your characters quest journal, creating random sentences.
So, if you once defeated 20 Orcs near Basketon, a litte village near the mountains, your characterNPC will say
perhaps, "Back then, when I was an adventurer, there was this gang of Orcs bullying a nearby village. Ever heard
of "THE BASKETON MASSACRE" (which yould coincidentally be the quest title ;-) ) Well, that was me!"
So now your character is parked, and your new characters and everyone else can visit "ADALBERT'S TAVERN" in
the city, as if it was a regular NPC-led Tavern.
This also creates the possibility of creating sibling characters or arch animosities between your characters.
When parked, however, your characters won't simply stand there, oh no.
Adalbert's stats will change over the course of time. As he is no longer actively using his Warrior-skills,
they will gradually decrease, but his Innkeeping-honed trading- and tavern-brawl-skills will flourish eventually.
After all, he isn't a Warrior anymore. But the Skill-System will be talked over in another chapter.

With the parking comes another problem: What if my character was, for example, Guild Sherrif of his guild
and has to sit judgement over fellow members? Well, in this case, if anyone wants the sherrif to do something,
they can approach the NPCised character and ask for help, and the system will send a message to the player,
who will then be able to resolve matters and temporarily play the parked character again.

If you want to play beautifully, give the character a day worth of time before deparking it. During this
time, sentences like "Oh, sometimes I think I might be adventuring again sometime..." could be uttered by
the character and there will be an option to let "ADALBERT'S TAVERN" be led by a NPC or fellow NPCised
character to whom you lend your Tavern for a time.


4. Loot and Treasure // Drops

It is our intent to create the highest practicable (as opposed to possible, mind you) grade of realism in our game.

Thus, enemies won't follow current MMO traditions by dropping random Items and big amounts of cash.
Each enemy will drop only what he has in his inventory. This means a lot of things:

I - The Enemy will actually USE the "big-ass broadsword of all hell breaks loose +5" you are farming him for, making
him harder to defeat. Skeletons will ONLY drop their weapons and armor, because a skeleton has no place to store anything else.
Money can only be looted from enemies who have a reason to carry any cash, e.g. Bandits.
There is no reason at all for a Soldier of the evil empire X to carry 243 gold in his pocket when on guard duty.
Thus, Money will be made primarily by following your profession, crafting and through quest rewards. While there
may be the occasional Dragon hoard, these will be quite rare. So, all you grinders, forget about farming cash or equipment.

II - The drops will be used.
Imagine you stumble over some Paladin of Zog in the woods of Ishgebibl who has this REALLY shiny armor
you think would fit you just perfect. Well, as you club him to death, his armor will take damage. If
you aren't careful, it will be destroyed when you finally manage to kick him into oblivion. So, choose
your weapon wisely. Leather Armor will not be damaged as much by a Warhammer as by a broadsword.

We are aware that handling loot and money this way will lead at first to a lot of Playerkilling and a flood of Thief Characters.
Which brings us to the next part...

5. Fame and Fortune // How to stop the thieves

Thief characters WILL have an integral part in our game.
If you steal for a living, well, fine, go ahead. But you won't be able to make more than a very moderate living
out of it without attracting notice. This means that the bigger coups you pull, the higher your infamity rating
goes. So, in each and every City, you will have a unique infamityrating, meaning you are wanted on that city's
particular Most Wanted list.
If your infamy climbs high enough, however, word of your misdeeds will spread to all allianced cities, so you might
have to flee to cities of the opposite faction. When arriving at the peak of Infamy, a scripted event will occur,
in which the city police will catch your character. The bar for this is so high that you have to steal valuables
and kill lower PCs a dozen a time to trigger this event, after which your character will be either parked in prison
by force (stat decrease as a way of punishment...) or, for second timers or something, the character in question will
be permanently erased (death sentence...).
While we're at it, let's tackel the topic of DEATH.


6. Death and the healing // PvP and PC death

Death will be hard. Really. Chances are good for your character to die permanently, IF you die. While there may be the
occasional healer posessing "Raise Dead" spells, these will be the exception, not the rule. Of course we will have to
balance gameplay to a point where you don't die at the hands of every rat in the sewers, but reaching too far in terms
of enemy level will provide certain death. Full stop.

This has some impact on PvP and Playerkilling, of course.
To counteract this, the following rules will apply:

I - Characters are balanced, so if you take on a character of your level or somewhere near it, chances
are good for you to die, too, making the risk too great for a lvl 60 PC to go and kill PCs randomly.

II - If you kill lowerlevel PCs, which prove no opponents, you will have a counter of PC kills. If this
gets above, say, three or so, another triggered event will occur, this time involving an official assassin
to kill you, or in case of grouped PC Killers, the Imperial Army or some such. And your characters' Death
will be PERMANENT. ALWAYS AND EVERYTIME. So the risk of getting your lvl 60 Warrior with over 100 hours of
gameplay to his name killed doesn't warrant the reward of the 10 coppers some lowly PC will have with him.
It is simply not worth it. Plus, if you kill the low PC, chances are at least there that he will be respawned,
while you certainly won't be. Additionally, it takes a LOT more time to get a new char back to lvl 60 for you
than it takes for him to take his char back to level 5.

III - Exceptions from this rule are duels and raids/war. When flagged as in war with some factions, killing
PCs from that faction doesn't count as PK. And in duels, well, you get the picture... Duels will have the
additional spice of certain death for the looser if the chosen duel mode is "To The Death". After all, duels
to the death shouldn't be fought lightly. You REALLY put your characters life at stake. And when a lvl 5 warrior
accepts aduel invitation for a To The Death Duel by a lvl 60 warrior, well, to put it blunt, if he's THAT stupid,
he deserves getting killed permanently.

IV - We considered the case of, lets say, a 100-person-PKgroup, for which nearly no one will prove a threat. Well,
either they get killed by "official" assassins one by one, or, when they are grouped together, the scripted
event will involve LITERALLY the whole army of Kingdom Zog set on killing them.


7. More Fame and Fortune // The Economy

There is a set amount of cash in the game world. If someone hoards too much money without spending it,
thus unbalancing the economy, the player must reckon with the possibility of his wealth becoming common
knowledge, thus getting robbed by PC and NPC thieves alike, so the cash will once again flow.

For crafting-related market unbalancing, well, EVERY item one can craft will be available through
some (sometimes very remote...) NPC with a set price. Thus crafters have to set their prices in relation
to the NPC, counteracting price explosion through twinks and alts. of course you can up the price to some
degree, as most players will be unwilling to venture to mount doom to get a ring for just one gold piece less.
Players who don't care for the search for lower price NPCs can be ripped off by crafters however. But this
doesn't affect the rest, so if you would like some decent equip for your character, you won't have to pay
10000 g instead of the 1000 g it's really worth.


8. Dumb as bread // Attributes

The mental attributes of your character will heavily impact on your playing experience. Not only will
the NPC dialogue options for a PC with an Intelligence rating of 1 out of 100 be limited to "Bork!" or
"Auuuuurgh!" (Fallout series, anyone?), but we will introduce a filter in your chat that randomly deletes
every second word or so, making you type "Hello! My name is Richard the Great! How Are you?" and sending
for example your valiant Warrior's "Hello! Name Richard Great! You?" to the chat channels.
Dumb characters' inventory will show "A Lot of Gold and some Silver" instead of "100 G / 5 S", since your
character can hardly count. This makes for you paying too much for items, but hey, you weren't compelled
to min/max your Strength and Intelligence...
Instead of the option to "Pay him 70 G" you will only have the option of "Give a lot of Gold" and, if the
(random) amount of cash wasn't enough, you get to choose "Give more gold" until you cross the limit. If you
choose to retreat from this sale after giving any amount of cash, chances are you don't get the whole back,
since you can't count.

This is the extreme case, but it shows nicely what we want to do.


9. Work for a living // Jobs and Quests

PCs in the game will have two classes:
a) A PROFESSION such as Innkeeper, Servant, Guard, Tavern Wench, Bard, Farmer or the like
and
b) a CLASS such as Sorceror, Warrior, Scout, Healer etc.

This we do to discern between JOBS and QUESTS both in game mechanic and linguistic terms.

A Job is a quest for your profession, which will earn your character money. A Blacksmith may be asked to forge 20
Longswords and receive 200g in reward. The Characters do this for a living, as Quests don't allow for too much of
a living in most cases. When parking your PC, he will earn money from various Jobs in the downtime. The reason for
this isas follows:
If your PC arrives at the city of Zogafter an (ingame) weeks travel, in which he vanquished the evil necromancer
XYZ, he will have finished his Quest to kill XYZ, but be in dire need of money for foodand repairs and the like.
So he walks to the Tavern asking for a Job serving tables for a few days to get his bank balance back up.
Job rewards are:
- Money
- Goods
- Experience for skills used while on the Job (Profession Skills most likely)
Jobs are what most Quests in contemporary MMORPGs are.

A Quest on the other hand is a Job you take on because of some reason OTHER than money mostly.
Be the reward fame, fortune, revenge, the feeling of having helped someone or simply because you were
blackmailed/otherwise forced into the quest, you don't get money for it.
Quests are usually longer and involve more Story than Jobs.
Quest rewards are:
- (a little) money
- Experience for used skills
- Fame
- Access to further parts of storylines
- Access to new parts of the game land
- Loot


10. A tale to be told // Storyquests

In addition to the basic Jobs and Quests, there will be Character, Group and Guild Storyquests.

A character quest is a questline that is generated upon character generation by some means of
semi-randomness (see below) and that is unique to your character. His personal destiny if you will.

A group quest is the same as a character quest, only for fixed groups. Upon creating a group (as opposed
to a band, see 11. Groups, Bands and Guilds), the group will get an (perhaps intertwining with respective character quests)
questline generated like the character quest. A story for your current group, a reason for them to stay together.
Some of these quests will be geared towards the group as a whole (quest choice based on what characters are in the group and group size/level),
while others may be geared towards individual characters. Example: Your group thief is to steal
a magical tome from someone while the rest of the group try to keep the enemies busy. The quest
is then geard to the thief, while the rest of the group merely assist him.

Guild quests


11. Groups, Parties and Guilds

We use the terms GROUP and GUILD in different ways than other MMORPGs and introduce the term of "Parties".
A Partie is what regular MMORPGs call a GROUP, or if it's a really BIG Band, it would be a guild, so no changes here.
Parties form on the fly are groups to regular MMORPGs, a bunch of players trying to solve a specific quest.

Groups are registered like Guilds in other MMORPGs, only on a smaller scale.
If some Adventurers find they work together ok, and if they want to stay together, they register a group. Upon registration, the group
gets assigned a questline. Another possibility are HOOKQUESTS, quests that provide a hook for a campaign, and if enough players
have it, they can decide to go through it as a group.

Guilds in MSORPG are simply what they were in medieval europe: a conglomerate of craftsmen/professions.
Examples are the Stonemasons Guild, the Warriors Guild, etc. Eventually Guilds will receive questlines like groups.

Standard-MMORPG-Guilds are called "Societies" in this context.

[... to be continued]

[i]Copyright by Whoracle 2007


Alas, THAT was long... any further information will be posted externally in a text file found here:

http://home.arcor.de/msorpg/files/oMSORPGe%20Concept.txt

Ashtar
2007-12-20, 05:25 AM
I don't know if you want the short or the long answer, but here's the short version:

Writing an MMO is an exercise of extremely defensive programming. Two golden rules for the programming are:
1) Assume absolutly ANY data entrusted to the client is visible to the user.
2) Assume any client side processing can be manipulated.

I would leave out your "hashing" mumbo-jumbo from the document, it doesn't give any information on the MMO design and it just confuses your document. Data integrity and communication security should be a chapter in your document, not simply dropped here and there. And I suggest you read up a little on Hashing functions, because it's not a magic bullet that solves all problems.

Secondly, while I understand your desire to have permanent death for characters in an MMO, I think that this design decision would cause great harm to your game.
Why do we return time and time again to play on the MMO, spending money each month to play? We return because of the investment in our characters and because of the characters we play with. In a medium to high character turnover environment, you lose the continuity.
Who would play the game after losing permanently his first three or four characters he lovingly created and spent three or four months on?

I've got more to say, but I don't want to look like I'm evilly demolishing / bashing all you said. It's a great mental exercise to spec a MMO, good luck!

PS - Very nice idea to use P2P between players, but I really wouldn't. Having a P2P connection gives the client access to the other players IP address. Let's say we duel "To the death", well at the start of the duel, I obtain his IP and launch a denial of service attack, flooding his line with incorrect packets. He gets massive lag and dies. Who's next?

Zukhramm
2007-12-20, 05:59 AM
Secondly, while I understand your desire to have permanent death for characters in an MMO, I think that this design decision would cause great harm to your game.
Why do we return time and time again to play on the MMO, spending money each month to play? We return because of the investment in our characters and because of the characters we play with. In a medium to high character turnover environment, you lose the continuity.
Who would play the game after losing permanently his first three or four characters he lovingly created and spent three or four months on?

I think that, just because that's how all MMORPGs are right now, new ones with different reasons for playing are not impossible.

Whoracle
2007-12-20, 02:56 PM
[...]stuff[...]


I have given the death thingy quite a lot of thought actually, both while typing it down and after your post.
And I have one point to counter the idea of people getting frustrated by permanent character deaths:
Diablo II on Hell difficulty.

That said, I think i have overdone the death statement. it may have come over as too harsh. I don't mean that every character is going to die permanent on every hiccup. Just that permanent deaths ARE possible and that resurrection will not be as frequent as it is in contemporary MMORPGs. Ressurecting will be expansive and not so easy to do. What we have in mind exactly will be posted during the next few hours (days at the most.)

To further depict the whole concept/idea behind this game:
We imagine a more P'n'P-RPG Attitude to both groups ingame and to the game as a whole. Less Hack and Slay, more actual possibilities of Roleplaying, including (dare I say it?) more simulation than action to it, and, to some degree, maybe even a THE SIMS-like approach.

So much for now, more later when my hands and back have stopped aching from all the climbing today... physical exercise simply can't be healthy, no matter what the rest of the world thinks ;)

Istari
2007-12-24, 11:40 AM
Permenat death is a ok idea but I agree with the other posters there has to be some way to rez youre character that isnt super difficult, plus some areas should be places where you cant die but are very difficult to get through or something else such as having a battle between armies and the killed players are taken captive and have to escape or something. Player character preists or clerics shouldnt be able to rez otherwise almost everybody would play them in oreder to farm money from killed characters.

Rutee
2007-12-24, 09:23 PM
Diablo II on Hell difficulty.

There's a gulf between what people will accept when playing for free, and what people will accept when paying, though.

Is this intended as a thought exercise, or a serious attempt in MMO creation? I can more properly respond when I know that much. Or, more precisely, do you want a viable MMO in a business sense, or do you want to create one without any care to its sustainability, just knowing that you have created your vision?

Triaxx
2007-12-25, 06:24 AM
Sacred (http://www.sacred-game.com) has free online play, with an option of Softcore (Character Death, but with a meter that resets every time you die as an incentive to live)/Hardcore (Where character death is permanent.)

Whoracle
2007-12-25, 07:26 AM
There's a gulf between what people will accept when playing for free, and what people will accept when paying, though.

Is this intended as a thought exercise, or a serious attempt in MMO creation? I can more properly respond when I know that much. Or, more precisely, do you want a viable MMO in a business sense, or do you want to create one without any care to its sustainability, just knowing that you have created your vision?

Basically, this is an attempt to design an MMO that would work in a business sense, but goes another way than current ones. If it will work is rather unclear, however.

But we want to create this design (along with maybe some tech-demos for it, to prove it would work) and we hope for someone to make our game (when its finished, at leas. somwhere in '15 or so? :) ).

_____________________________________
pardon any non-understandable sentences, I'm a bit hungover...

Zukhramm
2007-12-25, 07:42 AM
I think, a permadeath, subscription based, MMORPG would work, if less focus is placed on making the character better though spending time.

Totally Guy
2007-12-27, 07:55 AM
I was, for a short time, on the development staff of an MMORPG. I wasn't very good at it. But the guy in charge of the one worked with posted a guide of the lessons he'd learned from beginning his MMORPG.

Eternal Lands Article (http://www.devmaster.net/articles/mmorpg-postmortem/part1.php)

It might be an appropriate article as his game is rather economy heavy with players that might not ever see combat to pursue their crafting careers.

Zukhramm
2007-12-27, 01:22 PM
That was a really interesting read, thank you!

Indon
2007-12-27, 01:34 PM
I think your idea about randomly blanking out words for low-int characters may not be such a good one.

Triaxx
2007-12-27, 03:23 PM
Yeah, that would get really boring, really fast.