Jump to content

View more

Image of the Day

Inventory ! Va falloir trouver une autre couleur pour le cadre D: #AzTroScreenshot #screenshotsaturday https://t.co/PvxhGL7cOH
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

Some questions about making multiplayer game

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 Plutonium   Members   


Posted 12 October 2013 - 02:55 AM

Hello, everyone. And I'm again here. Maybe needed come earlier... But... :)
In my mind for some time is mind about multiplayer model. How all logics compiles? How distribute your info to other players? 
I want something like "Little Fighter 2" multiplayer. As I good remember, there you start game and other players just type server (yours IP) and connects. What goes after that? Other players running, and how they send to all other? Via server or directly?
For now I was possible to make game for 2 players (server and client), but there was only movement. No more actions. Then went to make better engine code, and forget about network support, so now need re-make it. And closest model, what I want is from LF2. So maybe somebody could say how it works? :)
And there is list of small questions:
1. How identify clients? On connection every player send their IP (and/or mac)? But testing on same PC would be very hard...
2. On new player connection, he must get all current game info. So server on getting new client, send all other clients info to him?
3. How make server to be client? Now I made that on starting game, he tries to connect to my ip. If can't, then he becomes server. But maybe other approach could be used? Starting server, it goes as some sort of service, which will be in other thread? 
4. How send info between players? As I understand, best would be via server. Player sends to server, and server resend to other player.
5. How handle new object creation or old destruction? client3 shoot bullet, that killed monster. How to do it??
6. I have founded somewhere that clients could just send just what buttons they pressed. So every client goes very light (only input and displaying), but server must do with all calculations, so he will be pretty heavy. It's good approach to making multiplayer game? I thinking about 4 players support...
7. All NPC/mobs logic must be on one pc? Server? Or all clients have their owns, and just on killing sends info to other players about that? But this question is something like 5 and 6 together :)

#2 hplus0603   Moderators   


Posted 12 October 2013 - 09:05 PM

1. A connection is identified by the remote IP address and port. Each new process on the same PC uses a new ephemeral port for the client side of a connection. Hence, each client is unique.

2. Yes, all game information that cannot be sent as install data must be sent from a server.

3. If client can't connect to server, how would server know that the client wants to connect, and where to connect to?

4. Yes, using a logical star topology for your networking is most common.

5. Object creation is entirely up to your network protocol. It is common to send inputs ("player shoots gun") to the server, and the server deals with all object creation, deletion, scoring, etc. Other things may need to happen on clients to hide latency.

6. Yes, an input-only networking protocol is fairly common. Simulation of 4 players should not be a problem for a computer sold in the last 10 years, unless your simulation is something very special.

7. If everybody need to see the same thing, then at a minimum, all players need to know about the same NPCs. Easiest is to put that all on the server.

enum Bool { True, False, FileNotFound };

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.