Netrek

From Wikipedia, the free encyclopedia

Netrek.
Netrek.

Netrek is an Internet game for up to 16 players. It is free to play, written mostly in open source software, is cross platform, and can be classed as a hybrid multi-directional shooter and real time strategy game. The goal of the game is to capture all the opposing team's planets. It combines "twitch" style action-game dogfighting with extensive team play and strategy.

The game is loosely based on the Star Trek universe. Players can belong to one of four teams: The Federation, Romulans, Klingons, and Orions.

Netrek pioneered the use of many technologies and design features that later found their way into commercial network games, including:

  • The efficient use of fast but unreliable UDP packets as well as reliable but slower TCP streams. It was probably the first game to use both types of Internet Protocol packets.
  • A robust client-server model that reduces the data exchange to 'need to know' information, limiting both the required bandwidth and the opportunities for players to cheat by obtaining more knowledge of the game world than their opponents.
  • Persistent account information where players can create a "character", and log in and gain ranks over multiple games.
  • Game mechanics designed to reduce the ability of assisted or robot player aimbots (referred to as borgs) to gain a significant advantage over a human player.
  • An anti-cheating mechanism using an RSA-based public key cryptography authentication system that also attempts (with limited success) to detect and prevent man in the middle attacks.
  • Multiple game variants played by the same client, with the server telling the client what game features are supported.
  • The use of Metaservers, servers designed to help clients locate available game servers

The client and server code contains many design features that may be of interest to amateur or professional network games developers.

Contents

[edit] Game Basics

The following describes Bronco Netrek; other variations of the game exist, but Bronco is the most prevalent form.

The game play area ("galaxy") of Netrek is two dimensional, being a large square. The galaxy has forty planets, and in a new galaxy, each of the four races or teams is assigned one of four quarters of the galaxy, containing ten planets. One planet will be their homeworld, two will be agricultural worlds, and some planets will have fuel depots or repair facilities. The names and positions of the planets are always the same, however the distribution of fuel, agricultural, and repair resources differs.

Each player chooses one of several types of starship to command. A player's screen contains several areas. There is a tactical display, showing their ship and close-by ships and planets, and a galactic display, showing the entire galaxy. There is also a dashboard showing the status of various ships systems, and several messaging areas for communicating with the server and other players.

Game play is normally between only two teams, the other two quarters of the galaxy being known as "Thirdspace". When two teams each have at least four players, the server enters "Tournament Mode", or "T-Mode", in which planets can be bombed and captured. When the server is not in T-Mode, players dogfight or chat while waiting for more players to show up.

Planets slowly generate armies, which may be beamed up by players. How many armies a player's ship can carry depends on what type of ship it is and how many other ships it has destroyed. Enemy planets may be taken over (or retaken) by beaming down armies onto them. One enemy army is destroyed for each army beamed down, so to take over a planet with 4 armies, one needs to drop at least 5. A planet with 0 armies is considered to be neutral and does nothing until a player puts an army on it to claim it.

Planets can be bombed to kill off armies, but cannot be bombed if the army count is 4 or less. No planet can have armies beamed up if there are 4 or fewer armies on it, so a world with 5 armies would allow one army to be picked up.

A player can obtain kills either by killing an enemy ship or by bombing enemy armies. Enemy ships can be destroyed using two main weapons systems: phasers and photon torpedoes. Phasers are instantaneous beam weapons which cannot be dodged, while torpedoes take time to travel to the target and thus can be dodged. Other shipboard combat systems include shields, and tractor and presser beams. When a ship is destroyed, the player chooses a new ship and reappears next to their team's homeworld.

The player's kill count resets back to 0 each time their ship is destroyed, requiring them to obtain more kills before they can carry armies and capture planets. Consequently, people with 2 or more kills are often targeted for ogging (a kind of kamikaze attack) just to remove the threat of them carrying armies.

Once one team has only two planets remaining, a twenty minute count down timer for their automatic surrender begins. Getting a third planet will freeze the counter, while getting a fourth planet will remove the threat of automatic surrender. When a team loses due to the timer, it is known as "timercide". If one team manages to capture all of the planets, capturing the last two before the timer runs out, it is known as "genocide" and is a more highly regarded victory. Once one team owns all the worlds of another team, either by genocide or by grabbing the last two worlds after a surrender, there is a victory parade and a new galaxy is generated.

Pickup games can be as short as ten or fifteen minutes, but are normally much longer; at least an hour and often much longer. Players join and leave the game as they wish, so a player may join for an hour or two, leave for an hour, and come back at the tail end of the same game, possibly even playing on the opposite team as the one they started on.

"Clue Games" are games between experienced players. These are timed, usually for an hour with a half hour of overtime, and a scoring system is used to determine victory. This system is used for league games, games where a team challenges all comers (team vs. world), and scheduled clue games for those who want to play the game at a high level (in which case teams are chosen at the beginning of the game).

[edit] Ship Types

Players control various types of ships:

  • Scout. The scout is the fastest ship in the game, which makes it good for bombing out-of-the-way enemy planets. Since the scout can only hold 2 armies, it is only suitable for taking enemy planets in limited situations. The maximum speed of an SC (Scout) is warp 12.
  • Destroyer. A fast ship, strong enough and agile enough to make it a popular dogfighter, mostly amongst new players, but not as fast as a scout. The Destroyer can carry up to 5 armies, which is the smallest number which would be needed to reliably capture a bombed planet. Most top players feel the Destroyer is too weak to be of much use in normal game situations, thus in league play it is flown only in a few specialized situations. The maximum speed of a DD (Destroyer) is warp 10.
  • Assault Ship. The assault ship is a dedicated army carrier. It can hold a lot more than a Destroyer and is a great deal stronger, but is poorly equipped for dogfighting. The Assault Ship is a ship of choice for capturing well-defended planets, however, due to its toughness. Also, every other ship in the game can carry 2 armies per kill, while the assault ship can carry 3 armies per kill. The maximum speed of an AS (Assault Ship) is warp 8.
  • Cruiser. A good front line ship, stronger but slower than a destroyer, but still with enough maneuverability to dodge a lot of torpedoes. The cruiser is generally the most popular ship for both dogfighting and capturing planets. It is also the default ship. The maximum speed of a CA (Cruiser) is warp 9.
  • Battleship. More powerful than a cruiser, but slow and sluggish. The battleship's speed makes it unsuitable for the defense of a wide zone, but it is quite good at defending a single point, like an important frontline planet or the team's starbase. The maximum speed of a BB (Battleship) is warp 8.
  • Starbase. Vastly more powerful than a battleship and even slower to move around, the Starbase can be the basis for the front line. Your team can only have one, and if it's destroyed, your team must wait 30 minutes before another can be used. Proper starbase piloting is generally considered to be an entirely separate skill from dogfighting. Starbases are also the primary targets of ogging, since attempting to dogfight a starbase generally results in death. A well-executed ogg against an unprepared enemy team's starbase can put it out of the game quickly. The maximum speed of an SB (Starbase) is warp 2; however, Starbases have much stronger tractors and pressors, which can be used to pull and push both enemy and friendly ships, than other ships. The strong tractor/pressor action of a Starbase gives significant extended dodging ability to an experienced Starbase pilot.

[edit] History

Netrek has some notable features derived from the earliest computer games. Like Spacewar!, the first computer game ever, there is a "2D shooter" perspective with ship icons that navigate around the screen and fire torpedoes. As in Alto Trek (1972) there are multiple teams affiliated with races from Star Trek, a local and a long distance view, phasers and photon torpedo weaponry, and shields, as well as a limited amount of energy (or fuel) which can be used. Netrek's most direct ancestor is Empire, written for the PLATO mainframe system.

Netrek originated at the University of California, Berkeley (UCB) at the XCF. In 1986, Chris Guthrie and Ed James began writing Xtrek, a game similar to Empire but which used "thrown" X Window displays. In the Spring of 1988, Xtrek II, later renamed Netrek was written by Scott Silvey and K. Smith, moving from a model which used the X Window system as a transport to the game having its own client-server protocol. In the fall of 1990, UCB alumnus Terence Chang set up a Netrek server, bronco.ece.cmu.edu, at Carnegie Mellon University where he was attending graduate school. In spring 1991, the first inter-scholastic game was played between UCB and CMU, and in January of 1992, the International Netrek League (INL) was formed, so that teams could form and compete with one another (as opposed to pick-up play, in which games are played by whoever connects to a server, and players enter and leave as they wish during the course of the game).

Over time, several major types of Netrek were created as people experimented with different extensions to the game. The most popular form is known as Bronco, named for the server at CMU. Particularly noteworthy are Paradise, which is designed to be more like Star Trek: The Next Generation with a more complex game universe, and Netrek Hockey, which is designed to resemble a hybrid of Netrek and ice hockey. Paradise's lack of success has been partly attributed to the lack of a Windows client; while all other variants of Netrek can be played using the same client program, Paradise has added features which require a more complicated client program.

[edit] Netrek today

Netrek play peaked in the middle to late 1990s, with several leagues existing for different forms of the game as well as for different regions, and several pickup games always active (24 hours per day, seven days per week). Between 2002 and 2006 there was a steady decline in play.

As of early 2007, Netrek has seen a moderate increase in playerbase coupled with a mild renaissance in development. In late 2006, MacTrek, the first native client for the Macintosh was released, and substantial changes are being made to the Windows clients as well as various server enhancements.

The game is currently moving from a 10 frame/second model to a 50 frame/second model. This has provoked much discussion, both positive and negative, from long-time players familiar with the 10 frame/second model. This is similar in many ways to the change around 2000 that moved most players from a 5 frame/second model to 10 frames/second, however, implementing 50 frames/second has required much larger changes as the original game engine already ran at 10 frames/second when the prior change was made.


[edit] External links

In other languages