Netspace is going to be a multiplayer action game designed as
an exercise in networked applications. It is currently
implemented in plain C using X Window System graphics. Some
auxiliary tools used in development
and not essential for gameplay use other languages like Tcl.
Goals
-
to provide foundations for a future Distributed Cm implementation.That version
should stress Distributed Cm's outstanding features for
distributed, object-based application development.
-
creating a fairly open framework for additions, perhaps as
class exercises.
-
to be very portable, at least among Unixes with X.
-
to use a network in a fun, creative way
Netspace descends from
TeamSim, a demonstration program for the OMNI system for support of distributed
applications, and the Astra user interface library.
Primary changes from TeamSim include:
-
a different environment set in space, not far in the future
-
asymmetrical, client-server architecture
-
much more flexible objects and scenario description
-
improved graphics
Architecture
Netspace's current implementation follows a simple
client-server architecture. All members in a session connect to
a Netspace server. Some possible clients are:
-
Player interface: the most
essential client, used by human players. Performs
graphically-intensive operations in order to present a
convincing three-dimensional play arena
-
Robots: automated objects, usually non-human players
like wingmen and foes for solo play.
-
Big Brother: primarily a debugging interface,
presents a god's view of all clients.
-
Mission Manager: proposes a scripted mission, whose
objectives might be achieved by human players. Should have
the ability to launch robots, both friendly and enemy.
-
Session Recorder: stores human/robots actions during
a session for later replay.
Currently the server just broadcasts messages. I am not sure if
general operations like global collision detection could be
moved into the server, improving performance in a faster host.
As good, credible "artificial intelligence" (hope not
offending AI people) is quite hard to implement for
non-player characters and Netspace is primarily designed for
network play, the only available robot is currently very
plain and used for tests only. Since, like several aspects of
Netspace, its architecture is fairly simple and open, someone
could later add stronger robots.
www.progonos.com/furuti
Copyright © 1996, 1997 Carlos A. Furuti