Massively multiplayer?

Blitz3D Forums/Blitz3D Programming/Massively multiplayer?

poopla(Posted 2004) [#1]
Well... nothing to specific in this question. I was just curious about how you people know/think it should be handled in the networking department. I'm toying with some of this to see what I can manage and would love some input, thanks.


Michael Reitzenstein(Posted 2004) [#2]
I think that MMORPG net code is a hard task indeed... Dividing everything into 'zones' would probably be the first step?


Michael Reitzenstein(Posted 2004) [#3]
Oops, double post.


poopla(Posted 2004) [#4]
Your an idiot and god hates you.

Michaels feeble attempts to frame me fail again.


Klaas(Posted 2004) [#5]
The server could calculate the distances to the player.
When the servers submits information about the positions of the players he could calculate the distance between them and send those packages only to players in range (visibility).
Maybe some informations could have far ranges (shouting) others low (whispering).
This would work more dynamicly then zones ... cause each edge of a zone would be a wall of silence !
If there should be a very large amount of players ... those zones should be different servers and some sort of jumpgate between (well, just as an representation).


poopla(Posted 2004) [#6]
Good idea Klaas


SabataRH(Posted 2004) [#7]
Depends on what your wanting to do in the long run. Text based server (echo server). Graphics based server? (real time server).

Both methods have a diffrent approach and neither are simple. Text based servers could be coded onto a single server which in turn would run the world dynamically.

Graphics servers (the prefered method) would take considerably more power to operate then a text based server. As the server would have to maintain player controls, npc controls, monster AI and controls, enviromental shifts, logins, signups, chat, inventory, quests and the list continues for miles.

Breaking a system, like this, up into several 'shards' is ideal. Although this will require additional server computers - each running a specific section of the game. The servers would be networked into each other and act as an overlaying shard.

Make no mistake about it, even the simpliest of mmo-servers can be the most complicated of gaming software..

If you like challenges, long to anger and love seeing your results onscreen then a project like this is for you.


poopla(Posted 2004) [#8]
Thanks for the input. Anyone care to comment on handling player data, logins, etc etc. I've got ideas for it, but as always, different views help the creative/problem solving process.


poopla(Posted 2004) [#9]
For anyone who actually cares WHY I'm trying to do something MM, it's simply an attempt to create a world of my own :).

On a side note, I don't know what is considered as optimal packet sizes and send frequencies.... anyone care to enlighten me?


Al Mackey(Posted 2004) [#10]
I don't have much network game programming experience, but an important thing is to have the server be able to doublecheck any action that the client tells it a player is doing. There was one MMORPG that didn't have any checks at all that was released professionally, and the client/server protocol was hacked within a matter of days after release.


poopla(Posted 2004) [#11]
Lol, good to know, I'll keep that in mind.


RetroBooster(Posted 2004) [#12]
I wont bother to go posting pages and pages of wisdom here, Instead I'll have a chat about it, should be a lot more helpfull as I can't decide on a correct client-server architecture, packet frequency, packet size, database type, data persistancy, network/gameworld subzoning and distributed server architecture, based simply on the term Massively Multiplayer... ;)

(Should anyone be wondering what some of the things I'm talking about are, feel free to ask, I have experience on a commercial MMORPG)


LostCargo(Posted 2004) [#13]
i think it sort of depends on the game. if your 'worlds' are divided up by servers, the server can manage the environment. ie checking to see if people have walked through walls etc. and control game rules
in everquest (at least when i was playing it) each area was a different server, so walking through a tunnel would end you up on another server basicly. However that means that the environment is not constant. there are a few ways of doing the architecture. it gets kinda sticky.

however if you run a game that has limits on how many people can be in specific environments, ie space stations. Then you only allow as many ships to dock as the server can handle. you just state that the 'space station docks are full', and that the user should 'wait till someone leaves'.

Sometimes the game rules can work to yoru advantage.


MagicalTux(Posted 2004) [#14]
I'm currently working on a MMORPG. The server is written in some language and will run on some linux boxes.

The client is coded with both Blitz3D and Blitz+. Data transmitted to the game server will use both TCP (for important informations like used items, etc..) and UDP (for data like movements, etc.. which are sent quite often. If we have some packet loss it's not really important).

The players, monsters, etc.. are on a 2D grid, but the render uses 3D mode and allow to move the camera around the player. Players and monsters (and NPCs) are planned to be sprites since it's faster to design than 3D models but I'll try to be able to use both things.

I'm still not sure to keep using both UDP and TCP, but right now it's not my problem : I'm missing people to make sprites and 3D objects for this game, that's my main problem right now. Anyway if you want some extra infos, feel free to go on the URL in my signature ;)

Anyway if you want to help, remember that this game will be *free* and since it will be free, I can't pay you (I'm already planning to pay servers, etc..).