website/stories/decentralized mmo.html

99 lines
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>