Gaia Game Engine
Gaia is a game engine targeting easing the production of large-scale ready 2D MMORPGs. This application is being modeled after existing MMORPGs. I figure, if you want it done, do it right. The engine is planned to contain a user friendly development suite, fully implemented scripting features allowing custom server-side and client-side event handling, and an extension manager to assist you in installing game add-ons with ease. Along with the release of the game engine will come a publication providing an in-depth explanation of how I designed this engine. This publication will be readable throughout the entire development of this game engine. The article will allow anyone to check how far I am in the development of Gaia.
This publication, as a work in progress, may be found found on my one drive:
The game engine will NOT be full open source. Source code will be available by license. A premium version of the software will also be available in the far future.
MySQL Database [In Development]:
(Structure in development, UML is a work in progress)
NodeJS REST Service [In Planning]:
Development Suite [Not Started]:
The Gaia Engine Development Suite features the resources to game developers and designers to modify the in-game world, manage in game quests, items and NPCs, install extensions and remotely publish game client and server updates. The suite also enables a developer to manage multiple servers and a single client under a single managed project. This allows you to design multiple game servers designated to different jobs. For example, I may have a main world server hosting my game, and two mini game servers all hosting different game worlds all dedicated to the same game. When ready to deploy, the suite delivers content to the Game Client's Update Service to dispatch to all users running the client. It also schedules server updates, switching the designated game server(s) in to maintenance mode, disconnecting all active users so the Game Server may be patched and updated. The development suite will commit any changes to your game objects to the REST Service, updating your world and its content, at the database level. The development suite supports Side Scrolling, Tile Based, and Pixel Based games.
Extension manager[Not Started]:
Game Client [Not Started]:
The Game Client is first of two application outputs of the Development Suite. The client requests game data from the REST Service and caches what it finds necessary. This takes strain off the game server, by making a separate application work as a data relay instead. The client is written in C++ using QT as a graphical user front-end interface and Boost::Asio as its networking library. Game files on the client are encrypted and secured where a new encryption key is generated each new game version release.
Supports: Apple OSX, Windows(7, 8, 10), and Linux Debian (and based distros)
Game Server [In Planning]:
The game server is written in C++ using Boost::Asio as its networking library. It is a console application which only officially supports Linux Debian Based Distros (Ubuntu, Linux Mint, Etc). The reason for this is because there are many excellent free debian linux distos available on practically any VPS host. Windows 10 also now supports embedded Linux Subsystems For Windows. Allowing you to develop on a local testing suite on Windows. It features a full logging system and data caching system.