99 lines
No EOL
5.2 KiB
HTML
99 lines
No EOL
5.2 KiB
HTML
<INJECT>cat $HOME/template/header.html | sed "s/__PAGE TITLE__/Decentralized MMO/"</INJECT>
|
|
<p>
|
|
Folders<br> <INJECT>cd $CURRENT && ls */ -d | sed 's/\///' | python3 $HOME/bscripts/ls_to_a.py</INJECT>
|
|
<br><br>
|
|
Files<br> <INJECT>cd $CURRENT && ls *.html | python3 $HOME/bscripts/ls_to_a.py</INJECT>
|
|
</p>
|
|
|
|
<h1>Decentralized/Federated MMO</h1>
|
|
|
|
<p>
|
|
<INJECT>grep 'h[1-3] id="' $CURRENT/$FILE | awk -F \" '{ print $2 }' | python $HOME/bscripts/internal_links.py</INJECT>
|
|
</p>
|
|
|
|
<div>
|
|
<h2 id="introduction">Introduction</h2>
|
|
<p>
|
|
Back in my childhood I used to play quite the amount of MMORPGs (mostly because they were free, but also because they were online).<br>
|
|
The more time passed, the less MMORPGs I got to play, most of the good options were either shut down
|
|
or got SUCH a power creep I lost interest in them (like MapleStory when they started adding a lot of overpowered classes).
|
|
</p>
|
|
<p>
|
|
As an aspiring game developer, I hope to one day attempt making my own MMORPG, and something which is (sort of) important to me
|
|
is for the game to be decentralized/federated.
|
|
</p>
|
|
<hr/>
|
|
<h2 id="why make a decentralized mmo tho?">Why make a decentralized MMO tho?</h2>
|
|
<p>
|
|
Well, you see, whenever I look for alternatives to big centralized services (like Github or social medias),
|
|
it always seems to me that the best choice is to decentralize and federate it.<br> That way, anyone can create their own instance
|
|
and not miss out on everyone else, allowing both greater control to the individual, while also sharing the costs between those
|
|
who host their own (and those who decide to donate them).<br>
|
|
</p>
|
|
<p>
|
|
Besides, there are some useful advantages to federating a bunch of servers in an MMO which will hopefully become clearer later on.
|
|
</p>
|
|
<hr/>
|
|
<h2 id="the big picture">The Big Picture</h2>
|
|
<p>
|
|
Mainly, there will be 2 different types of servers:
|
|
<ul>
|
|
<li><a href="#hubs">Hubs (or Home servers)</a> - Home servers you can register on and play with everyone else</li>
|
|
<li><a href="#dungeons">Dungeons (or Nodes)</a></li>
|
|
</ul>
|
|
</p>
|
|
<hr/>
|
|
<h2 id="a note going forward">A note going forward</h2>
|
|
<p>
|
|
My idea of decentralized/federated MMO involves quite the amount of trust,
|
|
trust between federating servers (federation will be opt in to allow greater control over gameplay),
|
|
and trusting clients to not lie when they go into a dungeon.
|
|
</p>
|
|
<p>
|
|
Another thing is, while I do wish I could implement this idea into an actual MMORPG, this is merely an idea right now,
|
|
if you want to implement this idea into your game, feel free to do so (and maybe link here as well).
|
|
</p>
|
|
<hr/>
|
|
<h2 id="hubs">Hubs</h2>
|
|
<p>
|
|
Hubs (or Home servers) are the main servers of the network, they are the main authority over your account.
|
|
</p>
|
|
<p>
|
|
Hubs have an overworld with stuff to do (or maybe not), and where you meet other players and can make parties,
|
|
communicate with others, trade and all the usual stuff people do in MMOs (like a dance party).
|
|
</p>
|
|
<p>
|
|
Federation between hubs is a 2 way opt in federation, which means both servers need to accept the federation for the federation to exist
|
|
(probably accept the federation by creating a portal somewhere in the overworld).
|
|
Federated servers also needs to sync any plugins/mods/addons which create new items
|
|
(or anything you can transfer between servers, so a hat needs to by synced but a new boss doesnt need to).
|
|
</p>
|
|
<p>
|
|
Federated servers needs to have trust between them, because federating with 2 servers means said servers are now also federating
|
|
(creating a federation cluster)
|
|
</p>
|
|
<hr/>
|
|
<h2 id="dungeons">Dungeons</h2>
|
|
<p>
|
|
Dungeons (or Nodes/Edges) are sub-servers, they are simply a dungeon/map for a party to explore/play in,
|
|
and should be where most of the game content occur,
|
|
they are hosted by whoever wants to and are technically simply a level (plus some game data in addition, though they are part of the level)
|
|
with an end condition (or fail condition) and a reward.
|
|
</p>
|
|
<p>
|
|
Dungeons dont federate with each other (and technically dont federate at all), but hubs can link/federate (one way) to them and allow their
|
|
players to go into a dungeon and get the rewards from it (or optionally, modify the rewards to better fit the server).
|
|
</p>
|
|
<p>
|
|
Dungeons occur in private instances available only to the exploring party.
|
|
this means that the hub server trusts the players to not lie about the results of the dungeon
|
|
(although for end rewards, the server can roll the dice for them, to allow random loot in dungeons).
|
|
</p>
|
|
<p>
|
|
<h3 id="quick note on dungeons">Quick note on dungeons</h3>
|
|
Although dungeons usually get linked to from hub servers, it is also possible to allow dungeons to be played even if they are not linked,
|
|
thus allowing players to play all dungeons, but it means non-linked dungeons will give no actual reward (or anything at all).
|
|
</p>
|
|
</div>
|
|
|
|
<INJECT>cat $HOME/template/footer.html</INJECT> |