The NAOS Engine™ is a highly scalable, client/server game engine, designed to support a very large MMORPG. Continuously developed and refined for our own game, Vendetta Online, the engine has been proven through years of usage and expansion (public Alpha in May of 2002, retail game launch in 2004, and up to present-day). Our client supports Windows, WinRT/Metro, Mac, Linux, iOS and Android™, with rendering drivers for DirectX (11 and 9), OpenGL and OpenGL ES 2.0. The server is intended for distributed use across a cluster running FreeBSD or Linux, and has been experimentally implemented on Amazon EC2. We are currently in the process of making this engine available as a licensed middleware product.Points in Brief
- Source-based license, five figure (US Dollar) total outlay for complete license of all components. Alternatively, each component (server, client, updater) may also be licensed separately at reduced total cost.
- Update Server in C++, TCP network protocol, optimized patching, very proven in wide usage. Supports maintainance of patch releases across many concurrent ports. Update client supports automated failover to multiple Update-clusters in the event of failure. Update Client is also a crash reporter, will detect and submit client tracebacks across all client platforms. Posts via HTTP to custom bug tracking/sorting server.
- Game Server in C++, Lua, Erlang. Runs distributed across cluster based on FreeBSD or Linux. Scalable: Sector Daemons, controlling areas of game-world geography, are only run when needed (by player activity), distributed across N-machine cluster based on monitored per-machine CPU/memory load. Erlang-based Kourier subsystem maintains persistent lightweight threads for hundreds of thousands of NPCs as they transition across running/non-running game spatial bounaries. Erlang distributes elegantly, allows thread hibernation to further reduce overhead.
- Game Client written in C++ and Lua. Build targets for Windows (XP to 8), MacOS X (Universal), Linux/32, Linux/64. Big and little endian, 64bit clean. Designed for portability, all hardware and platform-specific APIs are abstracted into separate drivers. Available drivers include DirectX, OpenGL, OpenGL ES 2.0, Windows Wav-out, Windows DirectSound, Windows Vista/7 WASAPI, Mac Core Audio, Android Java audio, Android touch input, etc. Many other drivers possible to develop and drop in. OBB and primitive collision detection, polygon soup physics. Shader support, progressive/discrete LOD, advanced particle system. Very efficient, compressed UDP game protocol, with MTU path discovery. Compressed data file format for client-side game assets (can be encrypted). Spatial partitioning with Octree or Sweep & Prune. Fully featured UI system (all Lua), scroll regions, tree/list controls, drag-and-drop, etc. Optional hooks for the TeamSpeak 3 SDK, allowing for integrated voice chat across all current platforms.
- Administration, Billing, Etc. Completely custom Lua/FastCGI website application, highly scalable by maximizing static content, distributing dynamic. Has received many sudden traffic influxes with little impact on load. Built-in messageboard and customer support applications. Custom automatic bug tracking of Lua errors, client crashes, etc. Billing system with secure, heavily tested implementations of APIs for PayPal, PayByCash, and credit cards (First Data). XMPP (jabber) functionality also available for administrative or expanded-player-usage (phone/mobile) applications. Custom mailing-list implementation for newsletters and the like, tags for username and unsubscribe links, automatic bounce removal, etc.
The NAOS Platform™, a second-generation offering, will also include a cloud based server solution, allowing the MMO developer to focus their efforts on gameplay rather than systems, network and facilities engineering. A sliding scale of cost that increases with the usage/revenue of the title, after launch, is intended to make the Platform more accessible to startup MMO companies.