DimensioneX Multiplayer Engine

Last updated

DimensioneX is an Open Source (GPL) and totally free Multiplayer Engine designed for beginners and for quick development.

Contents

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.

Key Features

Architecture

The engine of DimensioneX is written in Java language, and relies on HTML+JavaScript for the client part.

The server object is actually 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)

Games

Related Research Articles

In computing, an applet is any small application that performs one specific task that runs within the scope of a dedicated widget engine or a larger program, often as a plug-in. The term is frequently used to refer to a Java applet, a program written in the Java programming language that is designed to be placed on a web page. Applets are typical examples of transient and auxiliary applications that do not monopolize the user's attention. Applets are not full-featured application programs, and are intended to be easily accessible.

<span class="mw-page-title-main">Java applet</span> Small application written in Java

Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from a web page, and the applet was then executed within a Java virtual machine (JVM) in a process separate from the web browser itself. A Java applet could appear in a frame of the web page, a new application window, Sun's AppletViewer, or a stand-alone tool for testing applets.

<span class="mw-page-title-main">Java (programming language)</span> Object-oriented programming language

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages.

A massively multiplayer online role-playing game (MMORPG) is a video game that combines aspects of a role-playing video game and a massively multiplayer online game.

VBScript is a deprecated Active Scripting language developed by Microsoft that is modeled on Visual Basic. It allows Microsoft Windows system administrators to generate powerful tools for managing computers without error handling and with subroutines and other advanced programming constructs. It can give the user complete control over many aspects of their computing environment.

<span class="mw-page-title-main">SCUMM</span> Game engine developed by LucasArts

Script Creation Utility for Maniac Mansion (SCUMM) is a video game engine developed at Lucasfilm Games, later renamed LucasArts, to ease development on their graphic adventure game Maniac Mansion (1987). It was subsequently used as the engine for later LucasArts adventure games and Humongous Entertainment games.

Jakarta Server Pages is a collection of technologies that helps software developers create dynamically generated web pages based on HTML, XML, SOAP, or other document types. Released in 1999 by Sun Microsystems, JSP is similar to PHP and ASP, but uses the Java programming language.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An application written using ODBC can be ported to other platforms, both on the client and server side, with few changes to the data access code.

<span class="mw-page-title-main">Web application</span> Application that uses a web browser as a client

A web application is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.

<span class="mw-page-title-main">Adobe ColdFusion</span> Rapid Web app development platform

Adobe ColdFusion is a commercial rapid web-application development computing platform created by J. J. Allaire in 1995. ColdFusion was originally designed to make it easier to connect simple HTML pages to a database. By version 2 (1996) it had become a full platform that included an IDE in addition to a full scripting language.

<i>Multi Theft Auto</i> Grand Theft Auto multiplayer modification

Multi Theft Auto (MTA) is a multiplayer modification for the Microsoft Windows version of Rockstar North games Grand Theft Auto III, Grand Theft Auto: Vice City and Grand Theft Auto: San Andreas that adds online multiplayer functionality. For Grand Theft Auto: San Andreas, the mod also serves as a derivative engine to Rockstar's interpretation of RenderWare.

<span class="mw-page-title-main">OpenLaszlo</span> Discontinued open-source platform

OpenLaszlo is a discontinued open-source platform for the development and delivery of rich web applications. It is released under the Open Source Initiative certified Common Public License (CPL).

A turn-based MMORPG is a type of massively multiplayer online role-playing game that utilizes turn-based game flow, meaning that game actions are partitioned into well-defined and visible parts, called turns. A player of a turn-based game is allowed a period of analysis before committing to a game action, ensuring a separation between the game flow and the thinking process. Many turn-based MMORPGs are text-based, but there are a few games which depict their environments with fully animated graphics, such as Atlantica Online.

ZK is an open-source Ajax Web application framework, written in Java, that enables creation of graphical user interfaces for Web applications with little required programming knowledge.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source server environment that can run on Windows, Linux, Unix, macOS, and more. Node.js is a back-end JavaScript runtime environment, runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.

<span class="mw-page-title-main">Chromium Embedded Framework</span> Free and open-source software framework

The Chromium Embedded Framework (CEF) is an open-source software framework for embedding a Chromium web browser within another application. This enables developers to add web browsing functionality to their application, as well as the ability to use HTML, CSS, and JavaScript to create the application's user interface.

References