A Developer's Introduction to TEN
Developing a game is a little like giving birth to a live rhinoceros: delivery may be difficult, and you don't want to tweak your rhino unless you have a really good reason. Enabling a game to play on the Total Entertainment Network is a tweak worth making. With very little effort, you can add Internet multiplayer excitement to your games, increase sales, and add an online play royalty stream to your revenue.
You'll find TEN a rich environment with resources for both gamers and game developers.
Network Gaming Resources
TEN's aim is to provide the best online gaming experience that technology can support: easy access, low latency, scaleable and reliable service, persistent storage for database support, and dependable security. Although the technology is important, TEN realizes that technology without content is meaningless. Game developers provide the core content of TEN: multiplayer games. TEN provides additional content and forums necessary to create a lively online gaming community where gamers can meet, talk, participate in competitions, check out rankings, read about the latest in gaming developments, and download gaming software.
To make access to TEN as easy as possible, TEN uses the Internet's open standards. TEN uses TCP/IP to transmit data and is accessible to anyone with full Internet access. Gamers can connect to TEN through the gamers' own Internet service providers (ISPs) if they wish, or they can take advantage of TEN's own local-access numbers. TEN-enabled games include a TEN button (provided through a TEN API) so a gamer can connect to TEN with a single mouse click.
TEN's own dial-up numbers provide PPP connections and offer full access to the Internet. Most important, the TEN numbers guarantee high-quality network connections for the most consistent online game play.
Wide-area network game play suffers if the latency of data transmission (the time it takes a packet of information to travel from one machine to another) is too high or too variable. Because game-play quality is one of the most important facets of gaming, TEN goes to great lengths to ensure that latency is as low as possible while still providing nationwide access. TEN is also working with many of the national Internet service providers (ISPs) to deliver the best gaming quality of service to TEN gamers who connect to TEN through those ISPs.
TEN has optimized its own network infrastructure for the fastest transmission speeds and the lowest delays. It provides servers in different regions of the Internet to reduce network hops between machines and to provide a minimum response time. Gamers can choose the server that gives them the best service. To ensure that game data traffic isn't slowed down by other network traffic such as email, ftp, and WWW data, TEN assigns game data a higher priority than other data and delivers it before lower-priority data.
When online gamers play together, their machines must share information with the other machines in the game. In some types of fast-action games, if any one of the connected players has a high-latency connection the game play suffers for all the players. This is true even if the other gamers have low-latency connections.
To avoid degrading game play because of a single bad connection, TEN's software constantly checks the quality of a gamer's connection. When the gamer first requests to join a game, TEN's software -- through an online character named Mr. Bandwidth -- reports connection quality to the gamer. If the quality is too low for the game, the gamer won't be able to join the game.
Mr. Bandwidth's connection-quality enforcement is part of TEN's philosophy for delivering the best gaming experience to TEN gamers. It's restrictive, however, only when necessary. High-latency connections are all right for games that are less latency sensitivesuch as games that are played at a more stately pace. Mr Bandwidth allows high-latency gamers to join these games.
Scaleable and Reliable Service
Game service must be reliable, even when the game network is growing rapidly. A growing network can experience problems -- system down-time, slow service, and connection difficulties -- that occur when the architecture of a service isn't designed for rapid expansion.
TEN's service architecture is designed to be both scaleable and reliable. It provides game servers (the back end) that are distributed throughout different Internet regions, all under the control of a service platform, TEN's network processes that control and run the network. TEN maintains redundant game servers in the back end so that the loss of one server may take down individual game sessions, but won't take down an entire game. As the subscriber base grows, the service platform can dynamically add and handle more servers to continue service without disruption or slowdown. And as more subscribers join TEN, the gaming environment gets that much more exciting.
TEN's service platform handles gamer log-ins and transparently connects gamers to the appropriate game server. It also keeps records of each gamer's log-in time and tracks all the gamer's use of TEN servicesfrom chatting with other gamers to blasting it out with other players within a game. To track accurately, it's vital that TEN's security is bullet-proof. To provide the highest level of security, TEN employs RSA public key technology with military-grade keys. Each gamer must have an appropriate key to connect to a game server.
A Developing Online Gaming Community
TEN is not just a place on the Internet where gamers can meet and play games -- it's a developing online gaming community. TEN's client software, which each gamer must run to connect to TEN, offers game chat, player statistics, halls of fame, the chance to observe games in progress, and other features that let gamers do more together than simply play games.
TEN offers web-based gaming editorial to keep the online gaming community tied into activities and games on TEN. The TEN client software and web areas also support game clubs (such as the upcoming feature "The Havens" in Dark Sun: Crimson Sands) where users can chat in character, post news in a news group, and check out game-related files.
Operations and Customer Support
Although TEN strives for perfection, there are always times -- especially on the Internet -- when perfection isn't possible. That's when it's important to have solid operations and customer support. TEN's operation personnel are on duty 7 days a week, 24 hours a day to handle problems as they arise. The TEN network operations center monitors the entire TEN network, including back end and service platform machines, via SNMP (Simple Network Management Protocol). TEN's technical support for customers is also open for calls 7 days a week, 24 hours a day to help gamers use TEN to get the highest quality game play.
A gaming network and its gamers are dead in the water if there aren't great games to play. That's why TEN is committed to making it as easy as possible to enable a game for TEN play. To help developers enable their games for the multi-player TEN environment, TEN offers a suite of easy-to-use development tools that allow you to concentrate on game design and leave the networking issues to TEN.
TEN's Networking Libraries
TEN offers two different networking libraries for developers: the client library and the server library. The client library links into Windows 95 or MS-DOS game software; it enables a game to connect to a TEN game server, to send and receive data over the net, to act on events from other TEN gamers, and much more. The client library makes network communication transparent to the game or, if you prefer, it can give you as much control over the details of net communication as you want to take.
The server library is available for developers who want to develop their own TEN game servers. (Most games will run on TEN's own game servers, so custom servers aren't often necessary.) The server library enables the server to communicate with the service platform, to connect to games run by gamers, to start and maintain game sessions, and to handle network communications among other things. Like the client library, the server library can make network communication transparent, or it can let you get your hands on as much of the innards of net communication as you want.
Both the client library and the server library are C/C++ libraries that are compiled using a C++ compiler. C programmers can use these C++ libraries because the APIs they support have a C interface. The client library works in either a Windows 95 or an MS-DOS environment; the server library works in either a Sun Solaris or a Windows NT environment (although we strongly recommend the Solaris environment for the best performance).
Other TEN Libraries
TEN also offers two other libraries for developers: the debugging library, which offers debugging tools for use in debugging network gameplay, and the utilities library, which offers functions that, among other things, put data in a format used frequently in T E Network transactions. Both of these libraries are C/C++ libraries that work in a Windows 95, MS-DOS, Sun Solaris, or Windows NT environment.
The TEN APIs
TEN's developer libraries support a set of ten application programming interfaces (APIs). These APIs each provide C/C++ calls and C++ classes in functional groups, each group designed for a different area of TEN game adaptation. As TEN develops additional features, it will introduce new APIs to help you implement those features.
Testing a multiplayer network game requires more resources than testing a single-player game: you need a server, at least two game clients, and the chance to work them together in arduous detail. To help you test on the network (using your own LAN or the Internet), TEN provides a server that will run on any Windows 95 or Windows NT machine. The server provides the same kind of connection that a standard TEN server will provide so you can use it to test your own game clients. The server also provides some debugging tools to track down communication problems. To provide testing on a WAN, TEN provides a second testing network, separate from its consumer network, that you can use to test your game without exposing it to the outside world.
Royalties aren't a developer resource you typically think of when you develop or adapt a game, but it's certainly an important resource once you've finished enabling your game for TEN. When your game is enabled for TEN game play, the TEN service platform keeps track of each gamer's connection time to your game server (or servers) and bills gamers accordingly. You receive royalties based on connect time whether a gamer is actively playing your game or just hanging out and chatting in an arena designated for your game. These royalties provide an after-sale revenue stream for your game; it comes in with no revenue-tracking work on your part. TEN does all the work of recording, billing, and collecting your royalties.
Becoming a TEN Developer
If you're interested in enabling your games to play on TEN, you can register in the developer registration area. Once you're registered, you have access to more information in the TEN Developer's Home Page and can work with TEN's game integration engineers on tweaking your rhino. Just keep that horn pointed over there, please.