![]() ![]() This ends up being the largest challenge of implementing the deterministic lockstep model. Since each game instance is performing an independent simulation, it is of the utmost importance that each game instance remains synchronized with the other game instances. However, given that the game is no longer transmitting unit information over the network, each instance of the game needs to independently apply the commands transmitted by each player. This requires a much more manageable amount of bandwidth than transmitting information about several hundred units. This means that even in an extreme case, the game need only transmit a few commands per second per each player. There’s a subtle but important distinction in this implementation-even a professional RTS player may be able to issue no more than 300 commands per minute. To alleviate this issue, the engineers for Age of Empires decided to synchronize the commands each player issued, rather than synchronizing the units. It would be hard for the synchronization to keep up even if a minimal amount of information is sent per unit. What if a battle toward the end of a game featured the armies of all eight players? In this case, there are going to be several hundred units that are relevant at the same time. Although it is natural to wonder if some sort of relevancy system could reduce the number of units that need to be synchronized, it’s important to consider the worst-case scenario. Using the cap of 50, this means that in a massive eight-player battle, there could be up to 400 units active at a time. The original Age of Empires capped the number of units for each player at 50, whereas in later games the cap was as high as 200. Although the player cap is much smaller (limited to eight simultaneous players in the original game), each player can control a large number of units. ![]() This means that the ghost manager in Tribes rarely has to send information about more than 20 to 30 ghosts at a time.Ĭontrast this with an RTS such as Age of Empires. In Tribes, even though there are up to 128 players, at any particular point in time only a fraction of these players is going to be relevant to a particular client. One of the largest differences between implementing networked multiplayer for an RTS instead of an FPS is the number of relevant units. The other sample game built during the course of this book, RoboCat RTS, implements a deterministic lockstep model. As with Tribes, even though the deterministic lockstep model has existed for many years, it is still commonly used in modern RTS games. It is lockstep because peers use communication to ensure that they remain synchronized throughout the game. A guaranteed deterministic simulation of the game is concurrently performed by each of the peers. ![]() In this model, all the computers are connected to each other, meaning it is peer-to-peer. Age of Empires uses a deterministic lockstep networking model. This means that Age of Empires faced many of the same bandwidth and latency constraints of dial-up Internet access. Multiplayer Game Programming: Architecting Networked GamesĪs with Tribes, the real-time strategy (RTS) game Age of Empires was released in the late 1990s. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |