About this project

Netrek-Web brings the classic 1986 Netrek space combat game to modern web browsers. This implementation uses a Go backend for game logic and server management, paired with a JavaScript frontend for rendering and interaction. The primary advantage is accessibility: players can join games instantly without downloading or installing special clients. The game supports real-time multiplayer combat with up to four teams and forty planets. Players can choose from six distinct ship types, including Scouts, Destroyers, Cruisers, Battleships, Assault ships, and Starbases. Core gameplay mechanics involve movement, orbiting planets, repairing ships, cloaking, firing torpedoes and phasers, managing tractor beams, and deploying armies. The interface provides intuitive mouse controls for firing and navigation, along with keyboard shortcuts for speed, shields, and special abilities. For server owners, deployment is straightforward using Go install commands or Docker containers. The server runs on a configurable port, defaulting to 8080. The project includes a tournament mode for competitive 4v4+ matches and a practice mode where players can battle against AI bots. The bot AI system is modular, handling combat decisions, navigation, and strategic planet captures. The codebase is organized into clear modules for maintainability, separating server handlers, game engine physics, bot AI, and client rendering. Comprehensive test coverage ensures stability in game logic, combat systems, and network handling. This educational implementation respects the original Netrek license and spirit, offering a modern, accessible way to experience this classic genre of space warfare.