Monday, September 30, 2013

The Technology of Panumbra

From:  http://web.archive.org/web/19980204020839/http://www.shareplay.com/technology.htm



Technology

Warning:  this page is for techies!  Basic programming and software design knowledge is required!

The Panumbra engine is a client/server system, where the vast majority of the processing happens on the server.  The client is a small Java applet, which simply displays and transmits information.  Everything is validated on the server,   people cannot hack the client to cheat.

We built our own underlying software infrastructure, what we call the architecture.   The architecture involves things like TCP/IP messaging between client and server,   user logins, error handling, dynamic process creation etc.  The Panumbra server is just one application running on the top of the architecture.  (Currently the only one.)

Panumbra was built to be a massively multiplayer game.  We used two key technologies to achieve that:  object oriented
analysis/design/implementation from Rational Rose;  and the distributed object standard CORBA, implemented by Orbix.

Our design philosophy is object-oriented.  We use Rational Rose from Rational Software to create use cases, object diagrams and detailed design of objects, attributes and operations.  We generate C++ and Java code from the Rational Rose model, and use that as a starting point for programming.

CORBA enables us to distribute our objects on many servers.  We structured our server so that we can simply add more servers if we run up against their limits.  We designed our server so that there are no bottlenecks to real-time play.  We used   Orbix from  IONA Technologies, which is the object request broker software implementing the CORBA standard.

The game server relies heavily on the database.  The database contains all information about the game itself, including maps, skills, races, templates, characters, monsters, items etc.   Our game designer simply creates data in the database - there are no scripts.  All that data is stored in our Microsoft SQL Server database.  The data editors are programmed in Visual Basic.
The Panumbra server is programmed using Microsoft Visual C++, the client uses   Symantec Visual Cafe.   The server is distributed across a pool of Windows NT servers.
orbixwise.jpg (16202 bytes)

Home ] Play Demo ] Panumbra Info ] Newsletter ] Story ] Features ] Developer's Corner ] Players' Guide ] Players' Corner ]
Contents ©1997 Manton Communications Corp., all rights reserved.

No comments:

Post a Comment