DimensioneX is an open source and free Multiplayer Engine.
Aimed at producing browser-based multiplayer games and environments in general, it has been around since 1999 and has been used for MMORPG games, research, education and promotional applications.
Written in Java and supporting a number of languages including eastern languages such as Chinese and Russian, DimensioneX has been present on SourceForge.net since its beginning.
The engine of DimensioneX is written in Java language, and relies on HTML+JavaScript for the client part.
The server object is a single Java Servlet that gets instantiated at startup, it reads the world definition from its descriptive DXW file and re-creates it in memory. From then on, the main servlet keeps the word's state in memory and accepts client commands to update the position of characters and items of the managed world.
The clients are assumed to communicate with the main core via the standard HTTP POST protocol. Messages include a number of commands such as: login, logout, view (gets a view of the current room the player is in), move (4 directions plus up and down), pick, drop, and a number of custom commands with up to 2 parameters.
Communication between the client and the server is asynchronous and multiple commands can be sent in parallel. Inside the game core a critical section is implemented using a semaphore to ensure resource and game consistency (e.g. an item cannot be picked up by more than one person).
Inside the DimensioneX world everything happens in real time even though, due to intrinsic nature of web platform used, if nobody is using a game time inside it says "frozen" so that everything happens at the first client contact with server.
The communication method between the server core (Servlet) and the client (normally HTML with JavaScript) makes it possible to implement a client in any architecture, including mobile devices.
The game engine is open source and open to any user's contribution. It has been used and adopted for several human - to computer interaction studies (see: References)