quote:
quote:
--------------------------------------------------------------------------------
The only type of game I would use TCP for is RTS or other strategy games, because they don't require super fast reaction time and reliability is a must.
--------------------------------------------------------------------------------
Actually, that is questionable. Suppose the RTS uses a server approach where the actual unit movements are broadcast from a server to the clients (as opposed to synchronized simulation), it doesn't matter if one update from the server gets dropped, since the next update will fix it anyway.
Even if you are using synchronized simulation, I'd think twice about using TCP. It's simply hard to tweak and control (e.g. consider resending timeouts etc.).
If any type of game is suited for TCP, it would be round-based games.
Thats not true at all. RTS games usually involve endpoint based movement (ie: move this unit or this group of units from here to there). Such updates can be only sent once, saving bandwidth by avoiding to constantly send movement updates. RTS games also do not require a very fast latency, so TCP would be fine and actually advisable for RTS games. In such a system, the server also has much less to worry about, it simply checks the validity of client commands and broadcasts them once.
TCP would also be advisable for round based games of course.
I'm using my own UDP based protocol for my FPS game engine, but TCP definitely has a use in game development, its just more suited to specific game styles. Saying that TCP is evil and makes no sense at all for games simply shows a lack of knoweledge of real world networking and game development... There is no universal solution.
Looking for a serious game project?
www.xgameproject.com
[edited by - Max_Payne on December 17, 2003 11:21:01 PM]