Tag Info

New answers tagged

1

Your problem is that you are trying to make the server more authoritative than it needs to be.. the client needs to start the motion as soon as the button is pressed so there is no perceived lag, while the server is pretty much just replicating packets for other players, maybe with some sanity checking for trying to warp through walls and such if the server ...


1

In order to get a server list, you will need a central matchmaking server to which all game-servers connect and announce that they are online and to which all game-clients connect to obtain the list of currently online servers. How many servers are you going to have? For comparison, I remember that during the high-times of the original Counter Strike, the ...


0

For simple matchmaking only, you can create an ASP.Net or PHP website that the players login to (via your game app) and push a notification when they create a server. The problem is securing the server to make sure only your players are accessing critical services like advertising a host or requesting the available host list. There are also services like ...


1

The way I see it there are effectively 2 ways to handle this. every "command" a user intends to issue is stacked up in a local list then sent to the "server" at the end of each turn who then forwards on the lists from other players to ensure the data is replicated to all players. Every time a player issues a command to be added to the list of things for ...


3

The overall problem by using any text-based solution is that they are highly unreliable and naive implementations are often prone to data integrity issues. This is where david's suggestion to use a database becomes important. Databases offer you the ability to write entries to a table without worries about concurrent operations from other connections. ...


2

You might want to consider logging to a database, such as MySQL or one of the various "nosql" plain old tables. (If your user base is "massive", there's paths to scaling with more servers or outside services like Amazon or Azure...) In one table, you can have a row for each log entry, and a column with things like the time, the player, the action (log on, ...


1

It depends a lot of how your game actually works, but in most games it is not necessary to send all positions of all objects after every frame. In most cases, most of the information will either not change right now or will be changing in very predictable ways (like an object moving in a straight line). It is often a lot more bandwidth-economic to only ...


2

From my knowledge using the Serializable language feature for realtime game networking thats running at 40+ FPS is very bad. I would send data in a plain binary stream for example Ive got to send the following variable in a class... (String) player name, (Integer) player health, (Integer) player model id, (Integer) player x, (Integer) player y I would ...


0

To your 3rd question, yes, you could preload the necessary models and just update positions and whenever a new players connects, load the extra info (you could do this asynchronously so as to prevent lag spikes). You could also calculate movement cycles (animations) on the client or on the server and then send the player's current animation 'step' to the ...


5

From a performance standpoint, having data in memory is orders of magnitudes faster than having it in a database. There are two reasons to put data into a database instead of storing it in memory: You have more data than fits into memory You want to make sure no data is lost in case of a (intentional or unintentional) server shutdown As you already said, ...


1

It's called NAT punchthrough. Today costs of dedicated servers are so low (and advantages of having it are so much better) almost nobody uses it. When you're behind NAT your router will forward packets from outside to you only if you initiated communication first, so router has mapped that outside IP and random port to your computer. Solution: basically ...


1

Short answer: use a model for first-person view and another model for third-person. Reasons: In first-person view, you need to show a very detailed hand and weapon, since the first-player will always have a close-up view. Also, the animation should be very realistic. In third-view models, details may be not so critical. A good animation for one point of ...


0

Starting to log crash dumps are a good start, but it might not tell you the whole story. Your users have a diversity of hardware/network connections and may use the game in ways you may not have imagined. The crash dumps may tell you WHAT the error was, but not what the conditions on the clients or even your server were at the time the crash dump occur. To ...


2

How many first-person shooters do you know where the player can see their legs when looking down? Most games use completely different models for other characters and for the player-character when in first-person view. In first person view, the player-character usually doesn't have a body, except for the arms and the currently held item, which are always ...



Top 50 recent answers are included