First simulations

Work in ProgressMust draw appropriate background...

Flight

My first graphic game, Flight was a concept-proof program. During a Systems Programming course, Dr. Drummond's T.A. suggested a practical exercise: implementing a multi-user, distributed space-combat game. Each (human) player should use a different workstation and pilot a simulated spaceship in 3D space. Students should write the networking stuff while one of us would code the graphics front-end. Since I feared our workstations would not run fast enough for steady animation I first wrote simple 3D routines in Xlib and a test flight "simulation". Unfortunately the exercise was never actually proposed and the code was scraped.  I don't even have snapshots.

TeamSim

TeamSim was developed as a concept proof, presenting features of the OMNI system and the Astra user interface library, both developed at A-HAND Labs.

The OMNI system extends UNIX system calls allowing processes to access remote resources and start processes across a network. TeamSim can use OMNI services to create instances in different workstations so players interact in the same virtual environment. OMNI preceded the ASAP Project.

Astra is a library for C and C++ programs creating user interfaces in both graphical and plain text environments with the same source code. It was also used in Undelete for Unix.
 

Jet approaching runway, 1KB Tank, 6KB
Using OMNI, all running instances of a TeamSim session run symmetrically, each one broadcasting player information to every other. OMNI support means less than 300 lines of TeamSim code are devoted to communication. Players could pilot different crafts like jets and helicopters (really simplistic flight models) and a tank.

Helo & tank, 5.5KB

TeamSim was awarded 2nd prize in VII Brazilian Symposium on Software Engineering's software contest, 1995.

TeamSim's 3D graphic routines supported only polygonal objects, with no lighting and almost no mapped textures. Collision detection was just hinted (buildings intercepted bullet paths, but not a tank's advance). Despite these simplifications, the program truly achieved its goal to show off OMNI abilities. After that, work started in Netspace, a space-combat game.


Home Contents www.progonos.com/furuti

Copyright © 1996, 1997 Carlos A. Furuti