Chapters * Title * Contents * Introduction * Place * System * Design * Using * Future * Bibliography
Sections
* System * Flow * Ending * Architecture * Map * Production * Ready_Auction * Auction * Buying * Auction_Details * Boycotts * Pollution * Law
Architecture and Implementation
MarketPlace is implemented in two pieces: a client program which presents the MarketPlace world to players on their personal
computers and a server program which acts as a point of coordination. Players view and manipulate the world through the client,
which sends the resulting commands to the server. The server may then send update commands to the other clients to keep them in
sync. For instance, when players build factories their moves are sent to all the client programs so other players can react to
the moves. The clients may also forward undo messages that cancel previously sent moves. The server matches up the undo message
with the move to be canceled and forwards an appropriate undo message to all of the clients.
Both the client and the server are implemented for the Macintosh upon a beta version of Smalltalk Agents, a flexible
object-oriented language and development environment designed to support the rapid prototyping of applications.
The server and clients communicate via TCP/IP. Clients can thus be scattered across any TCP/IP compliant network, the most
important example of which being the Internet. MarketPlace implements its own object streaming protocol on top of TCP/IP to
facilitate the movement of structured data between the clients and the server.
Greg Kimberly/gregkimb@gak.com