The problem was that the player was in open space, flying a very maneuverable craft. The typical view from the player cockpit would normally only display a few objects, and if the player could see many objects, the player would be far away and the view would not necessarily need to be completely accurate. The second alternative sounded like a good possibility. If we took the "relevance" approach to the problem, we would have to modify or remove these features. In addition, the player could use the "targeting computer" to instantly find out the current status of any craft in the world. We even had a real-time map that allowed the player to view all of the craft in the mission simultaneously. In our previous games, players were given a lot of capability to find out what was going on in the game. The first alternative requires the ability to quickly determine which data is "important," and which data is not. The third alternative was to send only the actions taken by each player, and simulate the consequences of those actions on each machine. The second alternative was to only provide the data necessary to accurately display the world. The first alternative, and one we knew was being used successfully by other games, was to send only the most "important" data, and allow the rest of the data to be filled in by some form of prediction. We thought of three possible solutions to the problem. We decided that we did not want the network model to restrict the complexity of the missions, and we knew that there was no way to compress all of the data relevant to each player into the available bandwidth. The first decision we made was the biggest, and would be the source of most of our headaches later on. Given this set of problems, we designed a network model that we hoped would address all of these issues in a satisfactory way. These two constraints were our primary focus when we designed our network model, but they would turn out to be among the easiest problems to solve. We also knew that we would be limited to the bandwidth available from a 28K modem. When we started the project we assumed that we would need to handle latency that varied from 200ms to a full second. The fourth problem, of course, was the Internet itself. Because the Internet does not have a viable multi-casting capability, sending the same message to three destinations requires three times as much bandwidth as sending it to a single destination. A peer-to-peer system avoids the problem, but it poses a significantly more challenging engineering problem, because each player must communicate with several other players, instead of with a single server. And because of the nature of the license we were working with, allowing gamers to set up their own servers was not a viable alternative. The expense of providing servers with sufficient processing power and bandwidth for our expected audience size was considered unreasonably high. Third on our list of problems was that we would not have a dedicated server available we would have to use a peer-to-peer network model. We wanted to give gamers a multi-player experience that was more complex than "deathmatch." This requirement dramatically increases the amount of data that the players need to have in order to play the game. TIE Fighter was to create a multi-player game that had this same level of complexity. We were proud to have fairly large numbers of craft in each mission, which had reasonably complex behaviors. We had always felt that one of the strongest features of our engine was its ability to simulate fairly complex missions. Our second problem was the complexity of the game design. Adding Internet capability to an existing engine is significantly more difficult when the engine was not designed with the Internet in mind. The Internet was definitely not one of the things that we were thinking about when we created the engine for the original X-Wing game. TIE Fighter is the third game in the Star Wars space combat simulator series. I hope the lessons I learned will prove to be valuable to those who read this paper. I will review the problems we faced, the approach we took, and the results we achieved. There were several major problems that we had to be overcome to accomplish this goal, not the least of which was the Internet itself. TIE Fighter project, our goal was to create the first multi-player space combat simulator to be playable over the Internet.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |