Decentralised MMORPG on the SAFE network

Continuing the discussion from Most wanted APP for the SAFE Network:

I’ve been thinking about posting this for awhile and was going to ask this (in fact I might have posted this on the app thread myself awhile back i don’t know. But @whiteoutmashups has taken an idea I’ve had for a long time and voiced it so I’m going to take my own throughts and turn it into a seperate thread.

What’s the difference between an RPG, a RTS and an FPS? Camera perspective and number of characters. The game Spore demonstrates this somewhat (tho it does it rather crudely in my opinion) as it integrates elements of several different game types. What’s the difference between a sci-fi RPG and a fantasy RPG? Setting and storyline. So what if you could change the setting, storyline and camera perspective were all under the end user’s control? What if the entire interface, hotkeys, layout, appearance, was all under their control, all modular and interchable for them to select, edit and custom create. Now imagine you’re playing a startagy game and issue a command to a unit, say a spaceship orbiting a planet, only instead of an A.I. you’re communicating with another human being who in turn is connected with other human beings. Now it’s the same graphics for the ship the commander sees but from a different camera angle, this time third person. So our RPG playing wing commander gets the message from the RTS commander and flys off with a squad of friends in ships in similar formation and control configuration and go do a bombing run on the surface of the planet. During the attack run one of the ships is shot down so he notifies his commander (or the commander is automatically notified), bails from his ship and switches perspective to FPS and starts looking for single enemy combatants on the planet surface. Later he finds a new ship and climbs in but ends up having to battle some monster inside while en route to a space station. Then opts to take command of said station, change perspective and start issuing commands to the surrounding ships.

Imagine if every character andenvironment could be viewed from 1st or 3rd person viewpoint. Imagine if your entire character was customizable, species, abilities, appearance, history, backstory, equipment, everything. Imagine every object in the game was player created, as @whiteoutmashups suggested, every piece of the environment, every character, every piece of clothing, every weapon, every tool, every sign, every building, every grain of sand, everything.

Now imagine in order to play this game you can do 1 of 2 things. You can pay in safecoin or you can create something for the game. You can write storylines, you can create characters and objects, you can debug code, you can create textures, anything your little heart desires but in order to play you must create something. And every time you do create something you get paid in safecoin. Basically those who create get paid by those who don’t. And you have a choice, if you don’t have the funds you can get creative.

What are variuos level environments in various games save for a textured cube with stuff in it? If that’s all then we simply texture the cube differently and load different stuff.

13 Likes

Dude you’re the MAN!!

That’s EXACTLY what I was thinking!! This is creepy!!

ESPECIALLY the “pay or make something” part, i can’t believe I forgot to say that :stuck_out_tongue:

Although, since it’s decentralized and not seeking profits, i guess nobody would ever have to pay :slight_smile: Yay!!

And I totally feel you about incorporating ALL the gametypes, because I imagined it like:

-open world MMO
-WoW / GTA style but cam can switch to FPS
-all worlds from previous video games have their own planet in this huge space solar system, like a Super Mario planet with all those settings, enemies, coins, weapons and objects
-then when you get bored of leveling up there, you can fly/teleport to the Borderlands planet, etc etc
-(MUST MUST MUST have a James Cameron’s AVATAR planet!!! Especially with the Oculus Rift and other VIRTUAL REALITY mediums coming very soon!!)
-huge (Runescape-style) Grand Exchange with auctions, to buy and sell all the objects from all the different planets/game worlds to other players for a common currency… SAFECOIN!!!

Dude…this is the video game to end all other video games…

People could make their livings off of this!!

5 Likes

And if there was a way to incentivise people to create & submit objects, skins, levels, weapons, grains of sand :P, etc…

Like having them Get paid in Safecoin!!!..

Then the Game would grow at an amazing pace!!! It would create itself… O.o

And voting+rating would have to be a HUGE CENTRAL part of the game…

Like, people would vote on which player submission is best, like which version of the “Simpson’s Springfield” is best, deserves to be in the game, and deserves to win the Safecoin…

Dude I can’t wait!!! I’ve had this thought for soooooooo long…

This is how video games are SUPPOSED to be!!!

(Also your character could walk into an in-game arcade (planet?) and play all the 2D games like Pong, Street Fighter, Super Smash, Pac Man… As a way to incorporate those worlds as well)

7 Likes

How to just get some programmers to build it and do it before some asshole corporation gets ahold of it. And make sure this idea stays open source.

We also need good user friendly editors with increasingly advanced options, also using federated formats. Not everyone is a tech, tho some are, and using federated formats means you could import/export and edit using other programs.

For example on Second Life there are some pretty user friendly options to edit objects, characters and select textures and what not. However you can also import mesh objects you created in Blender. An increasing number of characters and objects are created on SL using this method.

1 Like

Yeah man and even if a corp takes the idea and makes it, WE THE PEOPLE can always still make a much better free-er version that will take over :slight_smile: so no worries there

And yeah that’s a great idea, i also loved using Google Sketchup, it was really easy, and made so many 3D levels, objects, cars and characters on there. Could have a Sketchup plugin as well :slight_smile:

Or even a new 3D drawing creation tool built right onto the game! 0.o

You could tho personally I’d prefer avoiding google as much as possible. i’m tring to phase the privacy leaking bastards out of my life.

1 Like

I feel ya on that!!

Then a new one is needed!

Time to make it even easier, more fun, & more customizable than Sketchup :slight_smile:

I hope some people with some experience in any of this will fall upon this thread!!

Well lets break down what a game is composed of.

Media: Graphics, sound and music.
Interface: UI, Cameras
Logic: Behind the scenes code to make it all work, A.I.
Quests: Missions, tasks, things to find, conditions to meet in order to get stuff.
Written works: Stories, backstory, lore, character profiles, object descriptions, scenery descriptions, spells, skills and weapon lore. etc ettc etc.
Currency: Points, tokens, gold, score, credits, maybe in our case safecoin. Hey can you imagine that? Earning safecoin for playing the game? That would be ******* awesome! I wonder how we could work that out.

Well the premise here is play or create. Well in my experience players tend to create as they play. (I’m using starcraft as example because that’s one of the games I play) But as players play starcraft they CREATE a ton of starcraft maps of all shapes and descriptions. So imagine if you were paid per map? OR say you created this AWESOME character on the mmo. What if you could sell that character as a template, or rent them out to other players. “Hey I want to do this dungeon here or kill that annoying dipshit over there who keeps camping us. Can I just rent out your character for a little bit?” “Yeah okay, that’ll be x amount of safecoin.”

1 Like

I recently tried the new MMORPG game called “ArcheAge” and had a wonderful experience… except for the mass player events.

I’m an experience MMORPG veteran and have played many games with lag before, but this was the worst. I could not enjoy this part of the game and it reminded me of this project. So I thought I would share my story.

My guild was doing a major trade run to an open PVP (Player VS Player) island. The mass player activity caused so much lag, freezing my screen, and disconnecting me. After I reconnected, I was already dead, my trade pack lost and still couldn’t move due to the lag.

Lag is the bane of all MMO games where reaction time is very important. A game network that can eliminate lag/latency issues will achieve a new milestone in MMO history. I think many developers will flock to the SAFE Network for this reason and others mentioned above.

7 Likes

shivers with excitement

But what about the “game to end all games”

Like a MMO with all the worlds, characters, items and quests from all previous games,

And the ability for people to easily create all sorts of content for it at will.

I think a game like that would end the need for creating separate video games,

And would be the last video game ever created :slight_smile:

(must be very future-proof, like be able to be ported to VR Oculus, etc)

1 Like

That is a highly ambitious idea, and I wish we could build it today.

Anything is possible. Its just a matter of time, resources, and solutions.

3 Likes

Heck, if this could be done, the game would make headlines virtually everywhere simply for the fact that it is using a radical new technology to power itself.

A quick Google search shows something loosely based on your concept : http://isotope.sourceforge.net/

Though if you look at it realistically, what features can the SAFE Network provide that will make the game really stand out from others? From my point of view Distributed Computing is the dealmaker here. The player of the game could then rent out X amount of computing power for Y amount of Safecoins and play the game at its highest settings all via the SAFE Network.

The computing power will be sourced from users on the SAFE Network providing their CPU & GPU’s for use, which make the most impact on games. Each frame buffer for the game that needs to be rendered can be sent via the SAFE Network to the users providing the computing power, rendered, and then sent back via the SAFE Network to the player of the game who has rented out the computing power.

The concept is like a faster, more powerful, decentralized version of this : https://www.gaikai.com/

3 Likes

i think this is the big thing i have read so fare!

this should all most be the main focus of maid safe.

many would pay to have game play smooth.
some people drop 10k on a gaming pc to have it seamless.
but they still cant stop serve lag.

and that would really set maidsafe apart from the others
like bf4 has alot of problems and mmorpgs kills the big fights.
When maid safe is big enough. you could offer your network to these big company’s and charge them millions. and all the profits would go to the network/ developers, so they could take over the world!

OR

have the best game in the world and everyone would play it.
i didnt play wow much but when i did it was amazing.
this would take 100s of millions to make and many years.
but it would kill everything else.

It will change all the time because of the masses changing it, kinda like skyrim mods.

that was the problem with wow. it never changed. then it changed for the bad.

thanks for sharing, exciting times ahead.

2 Likes

I hate to be the party-pooper, but I don’t see how a decentralized p2p service will making gaming faster for end users or reduce lag. Network connections in SAFE are running over the same hardware that your normal connections do.

Don’t get me wrong, SAFE is doing cool stuff in other areas (namely privacy), but it’s not magic.

Hardware yes but the SAFE network is organized differently than the original internet and isn’t reliant on central server architecture. Many games use servers to host multiplayer games right? And every player has to download all the resources for each match to play right? The dreaded loading screen of doom. Maps must be loaded, sprites must be loaded, weapons graphics must be loaded, units must be loaded too, etc etc. However on SAFE when you “download” something you aren’t actually downloading the whole file you’re just downloading a map to where the file is, which means things load way faster, and it’s not until you actually want to open the file that you actually need to download it to your computer. So a game based on SAFE would only open resources it’s actually using during gameplay. On top of this instead of transfering through so many ISP links you’re transfering from the closest SAFE node to you so in that it’s more like a LAN connection in that it’s a shorter geographical distance with fewer connections in between. Do you really need to load ALL the graphics for ALL the bad guys or just the ones that are loading on screen right now? Do you need to load ALL the graphics for ALL the guns or just the external details that you’ll see when wandering around and if you open your inventory you can pull those details from the safe network later.

1 Like

Regarding only downloading/rendering things on the screen, this can be done already (and I think it is to some extent).

Regarding # of hops for transferring data, at the end of the day, dynamic in-game data needs to travel between all players (and the links in between). If the problem is bulk transfers of static data (not usually a big problem because the end hosts have these anyways) then yes, but even then many companies already use CDNs and the like to cache static content near clients.

In the end I don’t see how SAFE would help with rendering or latency. In fact, if the game is really decentralized, then it actually introduces a lot of consensus and cheating problems that are absent in a central server architecture. If the game is not decentralized, then I don’t see why putting it on SAFE would be better than just running it directly from a server over the Internet.

Joas is right. A real-time MMORPG cannot smoothly run on top of MaidSafe due to latency. To be viable, you can only have one additional ‘hop’ between two clients (in the centralised architecture this is the trusted server). Direct peer-to-peer of players is a no-no in a competitive game, since the IP addresses of your opponents would be known to you so you could easily DDOS them during critical battles.

Also, like Joas said, the server-nodes need to do far more than just pass player-actions along to other players. They also need to validate those player-actions to detect cheaters, and that validation process ofcourse differs per game. So every server-node would be required to run game-specific server software. Such a thing is currently not supported by MaidSafe.

Which brings us to another point. MMO’s are attractive to game developers because they can’t be pirated (properly). Any client-side DRM can be cracked of course, so the trick of having un-pirateable games is to not give essential parts of the game software to the players, i.e. the trusted server software. If you design a decentralised MMO, your server software needs to be released to the public as well, which means that anyone can copy your MMO and run their own instance of it. This forces you to invent a new business model, since monthly fees or micro-transactions aren’t going to work anymore.

There is also a timing arbitration problem due to latency in a scenario with multiple servers. In single-server architecture, when two players shoot at each other at practically the same moment, the latency of the clients to the server in fact determines who shot first, and thus who dies and who gets to live. The packet containing the “shoot” event of the player with the highest latency will arrive at the server later, and thus that player dies. You can probably see the problem in a decentralised architecture if both players have different server-nodes. It’s likely that both players shot first from the perspective of their corresponding server-node.

I think that no matter how you look at it, in the end one node in the network needs to make the decision on the order of events. If the two players have different server nodes and one of the server nodes is picked as the arbitrator, the player from the other server-node is at an unfair disadvantage since that player’s connection has one more ‘hop’. The most obvious “solution” to this issue would be to force any players that are close enough to each other to interact, to always connect to the same server node. But then the advantage of decentralisation is gone, namely that you could spread the server load over multiple systems, doing away with the ‘many-to-many’ connections that causes centralised servers to suffer from severe server-side lag in battles of hundreds of players.

In a decentralized architecture the holy grail would be to assign every player their own server-node that only functions as that player’s outbound gateway, achieving a ‘one-to-many’ connection. Or at least ‘few-to-many’ if it’s not feasible to assign every player an exclusive server-node. But like I explained, you have a timing arbitration problem and a player-state sync problem due to latency. If anyone can come up with a proper solution for this problem (with a maximum of one ‘hop’ before a player event is registered), I’ll program you a decentralised MMO network platform. :slight_smile:

1 Like

In SAFE how this would work, is each client connects to a group, that group act as the communication to the network (scrubbed the client IP). The other sides are all the same. As for latency we do need to measure that, but I presume it will be very similar for everyone, which may be a nice side issue, as it may flatten the playing field. I am not gamer so don’t expect any insights into games form me, but I can help with the network parts to an extent.

6 Likes

I look forward to see those latency measurements, I’m really curious about that.

Similar latencies are definitely a bonus. Even though real-time games may not be viable, with similar latencies very fast-paced turn-based games would yet be a possibility. With proper client-side graphical animations it could still feel real-time. We’d have to think more in the direction of city-building games rather than first/third person RPG-like games a la World of Warcraft. Server-nodes would still need to run game-specific server-software though.

2 Likes