MMORPG map format questions

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
ariejan
Posts: 28
Joined: Fri Jul 24, 2009 6:14 pm
Location: Eindhoven, Netherlands
Contact:

Post by ariejan »

asparagusx wrote:This is very interesting reading.

What would the proposal be for the server side implementation - use C++ for speed and reliability or use some other development language such as Java?

What about the client? Should this also be a C++ custom app, or should it be browser based e.g. using Java?

If you placed your world inside a MySQL database, you would obviously include ALL the properties of characters etc in e.g. modelling data (SMeshBuffer?) would be stored as a BLOB of some kind?

How do you prevent cheating - every packet that is sent needs to be encrypted to ensure that it sent/received by an actual client and not some kind of hacker device?

What about terrain? Is that also stored in a MySQL table?

Reading all this, does show you what is really involved in developing any kind of successfull system - there is a huge amount to think about. I think people nowadays simply do not appreciate the amount of work/dedication that is really needed to develop anything worthwhile.

Asp
Don't think MySQL! Relational databases are not always the proper tool to store data.

What tools you use is up to you. I personally am leaning towards the following setup:

* Client

C++ / IrrLicht. This allows for speed and portability between os x and windows (which is what I need). If you want to run the game in your browsers, I'm afraid you're bound to Java and the IrrLicht java bindings.

* Server
Java / Project Dark Star. PDS has some very good techniques and is very scalable. Don't think Java is slow. With Java 6 it's approaching C++-like performance. PDS has a C-client SDK which works nice with the C++ client and Irrlicht.

You cannot trust what your client sends to you. There may be hacks, cheats and what not. This means your server should validate everything that comes in. If a player reports he moves ahead 20 units, your server should check if that is valid.

This is a big problem with MMO's. Your server needs to validate *everything*.

About storing your terrain and NPCs etc. I would recommend files. Whether it's XML, plain text or some binary format is not really important. But using MySQL for your terrain makes no sense at all. I know it's a reflex. "I need to store data" - "MySQL!". I've been there ;-)
asparagusx
Posts: 81
Joined: Thu Oct 16, 2008 6:50 am

Post by asparagusx »

Thanks for the info. I am actually not looking at developing a game as such, but rather a 'collaboration' tool, using 3D CAD drawings as the 'object'. Users would be able to 'look' at the drawing and interact with it - I came across this thread, as in my eyes a MMORPG and what I am trying to do is very simliar - messaging, threading, client access, authentication etc.

Any experience with a C++ server side app. PDS does look good, but I would be happier to look at a C++ server component.

Thanks

Asp
Dark_Kilauea
Posts: 368
Joined: Tue Aug 21, 2007 1:43 am
Location: The Middle of Nowhere

Post by Dark_Kilauea »

If you placed your world inside a MySQL database, you would obviously include ALL the properties of characters etc in e.g. modelling data (SMeshBuffer?) would be stored as a BLOB of some kind?
Storing mesh or texture data in the database is a very bad idea. I would advise storing the filenames to said resources in the database however, if you went that way.
rogerborg wrote:Every time someone learns to use a debugger, an angel gets their wings.
Post Reply