Advertisement

What do I need to know?

Started by March 26, 2016 06:47 PM
7 comments, last by Shyr 8 years, 9 months ago

I want to make a 2D multiplayer online browser game. It's not necessarily a MMO, but it is multiplayer. And online.

To give you an idea of what I want to do, I'll summarize my main objectives briefly (probably in order too):

  • Create an account with an email and a password
  • Customize your avatar with costumes
  • Walk around a 2D tile-based open world map
  • Talk to other players in chat box
  • Add friends
  • Play minigames to earn gold
  • Get leaderboard rank in competitions (solo and party games)
  • Get achievements for doing stuff
  • Get event item prizes for winning contests, which might be seasonal or weekly
  • Buy costumes
  • Buy furniture (for the apartment you get; you can also invite other players to it)
  • Buy pets (pet sim AI)
  • Buy toys (ingame things you play around with or get small benefits from)

It's not combat-focused (compare Harvest Moon, Animal Crossing, pet sims, the Sims)

I'm not really sure where to start or how everything works in networked games. What do I need to know if I want to make this?

Disclaimer: I do have some experience with JavaScript/HTML/CSS/PHP/C++, and various other languages. (Please only share constructive advice/resources.)

Here's the thing. You need to know how to make games. A good first 2 steps would be the following:

  1. Make Pong
  2. Make LAN or Online Pong.

If you are unsure how to do either of those, then now it is not the right time for you to go on the MMO endeavour.

Check out my signature for games to learn how to make, before tackling something as complex as a MMO.

Beginner in Game Development?  Read here. And read here.

 

Advertisement
As implied above, this is a case of, "If you have to ask then you are not ready."

Knowing how to make an online game is the natural result of making many other types of games first and gaining experience. Going to a forum, getting advice, and trying to learn it all at once based on that advice is no replacement for experience.

You'll know when you have enough experience because you won't be asking how to make online games. If it is remotely possible for you to do it, you will already know how to do it. Or have a good understanding with only a few knowledge gaps to fill. Not having no clue how to begin.

Start with other smaller games and grow naturally. Fake growth at an unnatural pace only hurts you.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

I probably should have clarified that I have indeed programmed games before. I am technically a beginner in networking. Not in game development as a whole. Sorry. :D

I've heard of things like WebSockets, NodeJS, TCP, UDP, and such. Could you point me in the right direction on how to use these in a game?

If you've used any of these in personal projects, tips would be much appreciated too. I'm going to investigate that stuff on my own, but I was kind of hoping for a brief explanation of what I should go with and how to use them.

No experience with networking in games, but maybe http://gafferongames.com/networking-for-game-programmers/ is useful. Another blog article from him (fix your timestep is very good at least).

Whoa, thanks Alberth.

Advertisement

Hello,

I'd suggest you to use the Steam SDK, since it can make things way easier, for example the friends system and the email account etc... wont be needed.

Have a look at Steamworks: http://www.steampowered.com/steamworks/

Another resource I always advice is GafferOnGames, as Alberth already pointed out.

Hey, have a look at my Telegram channel about programming: www.telegram.me/theprogrammingart

There is one shortcut that nobody else has mentioned.

You havent yet mentioned your previous programming expertise. If you're sufficiently experienced in web development and javascript, you could make this whole game entirely web based, and probably bypass a lot of the difficulties of making a client that's compatible everywhere, coming up with reliable protocols, etc. It also means that anyone can play it on any platform with a HTML 5 able browser.

Worth considering, if you have the prerequisite knowledge...

Edit: Just re-read your OP and found your disclaimer - consider this as your best route into getting this game made :)


If you're sufficiently experienced in web development and javascript, you could make this whole game entirely web based, and probably bypass a lot of the difficulties of making a client that's compatible everywhere, coming up with reliable protocols, etc. It also means that anyone can play it on any platform with a HTML 5 able browser.

You really hit the nail on the head there. That's exactly what I'm shooting for. Problem is, I'm not sufficiently experienced in server-side development. So I got the idea to ask here about the things that go on under the hood of our favorite MMOs.

As of now, I think I need a browser-based client (HTML/JS) to actually play the game, a server that receives and sends updated information with a client (PHP? NODEJS? I don't even know), and a database that acts as persistent storage across the board for that data (SQL I guess).

Correct me if I'm wrong. This is how it seems to work.

CLIENT <-----> SERVER <-----> DATABASE

(SHOW DATA) <-----> (TRANSFER DATA) <-----> (STORE DATA)

All that's left is to search for a resource that shows me how to actually do this.

When I was looking into Steam before, Matth, I remember them stating that they only allow standalone games on their platform (so no browser-based games). Unfortunately, that might not pan out for my project.

This topic is closed to new replies.

Advertisement