Online FPS Game writing
Theorizing about a client-server-client first person shooter seems easy enough. I keep running into questions tho which could only be answered by testings a full design. Instead of writing a few failures based on my possibly flawed theories I decided to take a crack at finding some info on it. See I figure I should know whats involved past the simply network connection stage which I can do just fine.
Anyone got any handy books?
Online documents?
Tips?
Even a UML design from another networked FPS game?
Thanks,
Halsafar
Not my area, but by curiosity, what is your scope? Are we talking about UT "online", BF "online" or Planetside "online"?
I recall hearing about this book, Programming a Multiplayer FPS with DirectX. Check it out. It might help.
Or, check out these two:
Developer's Guide to Multiplayer Games
Multiplayer Game Programming
Or, check out these two:
Developer's Guide to Multiplayer Games
Multiplayer Game Programming
If UT and BF = Unreal Tournament and Battlefield then I understand your question.
Prolly close to a BF style online shooter.
I'm looking more for the technical side of it. I'm sure there is something almost all FPS games have in common when it comes to there online components. Maybe there is some tricks I should know about before development begins so I can incorporate it into my design. Seeing all the possible problems and/or methods of accomplishing such a task would be nice; account for things I can't think of. Also to avoid having to redesign the network components several times due to maybe some obvious sitations that I accidently over-looked.
Example:
See even the frame for the network components seem a bit hard to choose. I can have clients communicating with clients, but more plausable would be to have clients commune to server which directs each client, but then how does the server keep the clients in sync? Does it have to?
(No need to answer that, its just some of the questions I'm posing and have no way to answer)
I will check out those books, thanks.
Prolly close to a BF style online shooter.
I'm looking more for the technical side of it. I'm sure there is something almost all FPS games have in common when it comes to there online components. Maybe there is some tricks I should know about before development begins so I can incorporate it into my design. Seeing all the possible problems and/or methods of accomplishing such a task would be nice; account for things I can't think of. Also to avoid having to redesign the network components several times due to maybe some obvious sitations that I accidently over-looked.
Example:
See even the frame for the network components seem a bit hard to choose. I can have clients communicating with clients, but more plausable would be to have clients commune to server which directs each client, but then how does the server keep the clients in sync? Does it have to?
(No need to answer that, its just some of the questions I'm posing and have no way to answer)
I will check out those books, thanks.
Yes, I was talking about those games. They imply different choice depending on the scope. For example, chat messages handling are not really a problem in a fast-paced, few players game like UT, while it is a problem in a team-oriented, large number of players like BF (as illustrated by the chat delay problems of BF and BF vietnam...). I can gives you some pointers:
Mostly, you are trying to balance goals that can seem opposite:
-You want everything computed server-side
but
-You want to minimize the bandwith of the system and
-You want to minimize the player-to-server delay
Usually, having clients communicating between themselves is not a good idea. That means a lot of socket to maintain on each client, and I dont see where it would be useful except private chat between two or few clients, which doesnt happen a lot.
For the sync thing, the only real state is the server state. So you must keep your clients synched to the server. If they are synched to the server, they will also be with each others.
Like most fields, networking is something best learned by trial and error.
Why dont you draw an initial networking scheme and post it for people to comment?
Mostly, you are trying to balance goals that can seem opposite:
-You want everything computed server-side
but
-You want to minimize the bandwith of the system and
-You want to minimize the player-to-server delay
Usually, having clients communicating between themselves is not a good idea. That means a lot of socket to maintain on each client, and I dont see where it would be useful except private chat between two or few clients, which doesnt happen a lot.
For the sync thing, the only real state is the server state. So you must keep your clients synched to the server. If they are synched to the server, they will also be with each others.
Like most fields, networking is something best learned by trial and error.
Why dont you draw an initial networking scheme and post it for people to comment?
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement