Advertisement

How would I start a 2d mmorpg

Started by August 25, 2014 12:11 AM
4 comments, last by wodinoneeye 10 years, 2 months ago

I know an mmo takes ages to make and I have that time, I am just wondering how to start programming a server that just sends for example map data to the client, have sprites walk around, nothing fancy. I have done some research on networking and I hope to do this in c/c++

Do you know C++ already?

Have you already made any simple game like tetris or pong?

Have you already made a single-player RPG?

Don't think of these as walls in your way, but stepping stones to build up to what you want to make. It saves time in the long run, because otherwise your MMO code would grow into a unwieldy mess while you are trying to learn and figure things out, and you might get frustrated at the vastly larger amount debugging and re-writing you'd have to do, compared to writing some 'throw-away' stepping-stone games to understand and learn how to write game architectures.

If you already know how to program games, then Beej's Networking Tutorial contains details of networking sockets at a lower level, and RakNet is now opensource and free.

Advertisement

Thanks for the links, and yes I have been doing c++ for a while,i made a small rpg and a few roguelikes. thanks for the networking tutorials :D

I'd suggest going to the forum's FAQ.

Items #0, 1, 3, 8, 28, 29, should all be especially useful. You'll note the links in SotL's post are also in those answers. The rest of the forum FAQ is good too, although some of the links are broken and a few of the answers are dated.

Did you see this?

http://www.enchantedage.com/pymmo

It's Python, but replicating that code in C++ should be simple.
enum Bool { True, False, FileNotFound };

High level -- how it differs from a Solo game (you may have already done this mostly if you had done mutiplayer already )

Server is in the middle, assembles all the commands from the clients and then correlates the actions and their results (including any side effects of different players actions happening in close proximity) and the filters those results to send them to the clients which would be in range to see them.

NPCs behavior (and terrain changes) would be run on the Server.

Network traffic flows in and back out of the Server in the center

So you have to start slicing you solo program into the parts that would be in that center and the parts the client retains (like rendering and validating innputs)

--------------------------------------------[size="1"]Ratings are Opinion, not Fact

This topic is closed to new replies.

Advertisement