Skip to content

Fully distributed MMORPG framework (no central authority for data, authentication, etc.).

License

Unknown, CC0-1.0 licenses found

Licenses found

Unknown
license.txt
CC0-1.0
copying.txt
Notifications You must be signed in to change notification settings

matthieu-vergne/Distributed-MMORPG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DMMORPG
(Distributed Massively Multiplayer Online Role Playing Game)


I - WHAT IS THIS PROJECT?


This project focuses on the possibility to obtain a completely distributed
MMORPG. By "completely" I mean there is absolutely no centralized server,
including any authority nor database.


II - WHAT IS NOT THIS PROJECT?


In order to make it clear, this project is not an implementation of a basic
MMORPG with a distributed approach. A basic MMORPG implies to have a known world,
well-controled by some administrators, where each player evolves with the help of Non
Player Characters (NPC). This kind of game is not adapted to a completely
distributed architecture, as :

- the identification of the user needs a secured authority giving the rights to
access the game (login+password), that implies to know one (or several)
static server(s) to connect to in order to send/get the data.

- the world is quite fixed (depending of the features developed by the team
managing the game) and implies to always have at least one server running it all
24/7 (or a cluster with each machine a part of the complete world) what is not
to expect from a completely distributed system (where each part can disappear at
any time).

In brief, this is not the kind of game you can tell "Wow, great place with a lot
of mobs to kill ! I will make a team for the next week to go farm there." as this
place can be missing the next week (and possibly never come back).


III - WHAT ARE THE FINAL OBJECTIVES?


At the end, a complete game must "emerge" from the players. If no people run the
client the game is stopped (does not run at all), but from the first launched
client the game must be ready to play. The available world depends on the
connected client, as each one have a part of it. This world always evolve
regarding the connected clients.

As the responsibility of this world is delegated to the users having it, there
can be some problems with not stable clients or players who come rarely (their
part of the world is never available). We can imagine to not allow big parts
of the world in such rare resources (it is also a better choice to save the
resources of the rare client, who does not want to wait a long moment before to
play a bit) or give the possibility to synchronize several clients on a same
part of the world (make redundant data), but this is an advanced study which is
not a priority yet. For the start we can just do with available clients.


IV - WHAT KIND OF MMORPG?


Sincerely this question stay opened, as there is no exact idea to what will be
the features of the game (this project has started on a stubborn reason -make a
100% distributed game- and a personnal desire -make a MMORPG-... I know I am
helpless {'^_^}).

But of course it does not mean there is absolutely no idea. A basic one is to
have an infinite empty space (like our universe) where each player can come
(connect). Some basic elements (molecules ?) can be found randomly moving in
this space, and with them we can build more useful elements if we have the good
recipe (like sand, metal and other raw materials). This is a basic composition
process which can be recursive (use raw materials to make more complex
materials, use them to make tools, ...). We can imagine create until a
complete planet like this. Anyway this is a basic way in order to have a
possible evolution of the world, done by the actions of each player. When a
player disconnects, all the object he has made go with him and disappear from
the universe (well, the reason why is a question of scenario {^_°}).

We can imagine something different than a space context, for example to be in
the sky playing with clouds and flying animals. Any context where we can imagine
a world really flexible, in order to allow the players to take a part of it with
them. This is the principal characteristics which allows to have a completely
distributed world.


V - IS THERE FINANCIAL OBJECTIVES IN THIS PROJECT?


Absolutely not... but if I say it like that you will think there is, no ? {^_°}

Sincerely, as a complete distributed system, there is no possibility to expect
financial incomings if they are not possible for any player. I mean that if I
can expect to earn some money from what I can sell in the game (products or
services), anyone can do. If I expect to earn some money from what I can sell
out of the game (but for it), any one can do it, as there is no difference
between anyone: the principal objective being to have a completely distributed
system, it means to have a completely distributed authority (or no authority if
you prefer), so any one is at the same level and can do the same thing.

My dream is to make a MMO game where the evolution is led by players themselves
(a bit like Morrowind or Oblivion : you decide what you do and you assume your
acts) and for this, I think a distributed game is the best way. The question
now is to know who will dream with me {^_°}.


VI - HOW TO PARTICIPATE?


Currently, I am not looking for anyone in particular, as the requirements are not
yet established. However, who wants to contribute can by several ways:
- post issues to give their ideas ;
- look at the different resources (especially the goal model) and tell in the issues
what they tink about it ;
- fork the project and make their own test of distributed stuff which could be used
in an MMORPG ;
- whatever you think could help this project in going further.

About

Fully distributed MMORPG framework (no central authority for data, authentication, etc.).

Resources

License

Unknown, CC0-1.0 licenses found

Licenses found

Unknown
license.txt
CC0-1.0
copying.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages