I am a newbie in gamedev, and I don't know about programmer's problems that can appear during development.

So can you advice me some best practice for starting build new online multi-player game backend?

I just saw reddraft server, and I think Spring library can also do some of its features. What is big difference? Do I need learn more spring or I have to use servers like reddraft or write these tools myself?

I know that I need to learn hard and many - and the question is - what I should to learn now at the beginning?


  • 3
    \$\begingroup\$ Learn 2D gamedev first, like Pong. Then Tetris or something. Then maybe a Mario clone. Then try coding a game server. If you're planning on doing this in 3D, add a number of 3D games to the above. I would give it at least a year, if not a couple before you're far enough for this (assuming you're a proficient programmer to start). \$\endgroup\$ – The Communist Duck Jan 4 '11 at 16:40
  • 1
    \$\begingroup\$ Best advice I can give you is to make something small first, as mentioned like pong or tetris. Any type of card game (developing a card interface then trying to support more and more card game types actually helps in learning how to architect some of things and the like). \$\endgroup\$ – James Jan 5 '11 at 21:06

I know this is disheartening, but I'd recommend getting a bit of single-player development experience before coding a multiplayer game. Multiplayer development has all of the issues of single-player, plus a hundred more. Doing a single-player game will let you learn some of the programming problems that can appear. When you no longer consider yourself a gamedev newbie, go for multiplayer.

| improve this answer | |
  • 1
    \$\begingroup\$ a little chime in here.. There is complication to networking, but if you can develop a generic enough input interface, then it should not matter where the 'commands' come from.. Keyboard, Mouse.. network packet.. Just a little thought to keep in mind, but yeah, get a single player version working first so you are only debugging one aspect of a program at a time. \$\endgroup\$ – James Jan 5 '11 at 21:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.