PROJECT: Omega 2000 PROBLEM: How to implement a multi-user, networked game in which players can program their own tanks and/or manually control a tank in a simulated battlefield. OVERVIEW: Omega is an old PC game in which players could program the AI for a tank, then pit their creation against other programmed tanks in a simulated battlefield. Omega 2000 is an expansion of this idea which includes a 3D view of the battlefield and networking to allow multiple players to manually take control of tanks in the field. Tanks will be programmed in C with special functions to allow for gathering of data about the environment (i.e. battlefield) as well as control of the tank. The language will also include basic console I/O functions to allow the user to program a tank which, in essence, will be manually controled. During simulation, each tank will be assigned a group, and the language will include functions to allow tanks to communicate with other tanks (if any) in their group. The environment will be displayed in 3D as a first-person view from a user-specified tank. USERS: Target audience is people who enjoy programming and competitive games. FEATURES: - users will be able to program the AI for tanks - programming language is C with special functions to - allow data gathering specific to the game - control the tank - manipulate basic console I/O - allow tanks to communicate with others in its team - compiler/translator to convert AI programs into a form suited for the project's battlefield simulator - compiler/translator will report any syntax errors it encounters - integrated development environment to [3] - compose and compile tank AIs [3.1] - basic debugging [3.2] - users will be able to test the fitness of their creations using a simulator - simulator executes compiled AI for each tank in a fair manner - one instruction per tank is executed per cycle - simulated battlefield has - mutable obstacles [2] - trees -> clear when shot or run over [2.1] - house -> rubble when shot [2.2] - wall -> rubble when shot [2.3] - varying terrain which affect the tank [1] - water (not traversable) [1.1] - road (increased speed) [1.2] - simulation displayed in first-person perspective of a user specified tank (whose console I/O is activated) - simulator will include networking code to allow multiple users to provide console I/O to different tanks in the simulation PRIORITIES: All items with []'s designate optional features whose priority is given in the brackets (with higher numbers indicating lower priorities). All items without priority numbers indicated in []'s are essential features of the project and MUST be implemented -- in essence, they are priority 0 on the priority scale.