Abyssal Engine Technology Features
Are you seeking more information about Abyssal Engine and Tools features? This page covers the features of the technology. If you have a specific question contact us
One of the most important subsystems is represented by the platforms tool chain. These tools are specifically designed to
cover all the necessary artwork creation aspects.
Artwork creation export and import from 3rd party authoring tools
Visual effects creation and testing
Landscape editing and scene preparation
The Abyssal Tools technology supports integration with the most used 3D authoring package: 3D Studio Max.
It supports exporting geometry, both static and animated, from 3DS Max (versions 6, 7, 7.1, 8, 9.0) via a special export plug-in.
Static meshes
Skeletal animations
Visual effects
All of these data elements can be extracted and saved in engine optimized storage formats.
While dealing with large data sets, the exporter permits batch exporting. Simply set your options, indicate the location of MAX data, click the export button and let the exporter do all the work. Entire directory trees are automatically exported by recursively loading the data from each folder.
The Geometry Editor is the tool for editing and viewing the geometric objects used by the engine.
The place of this tool within the workflow is usually between the geometry modeling
software (such as 3ds Max)
and the World Editor or Terrain Editor tool. Its purpose is to assemble and optimize the exported raw
geometry data into more complex geometry structures which can be used later as building blocks in editing new
world configurations.
The Animation Editor is an editor specialized in handling animated entities that are engine specific.
It can be used to assemble animation data, set character specific properties and create particle systems
and other visual effects. All the exported engine animation elements must first pass through the animation editor
so they are properly prepared for the game run-time. The editor has a simple user interface with floating windows for every
animation element and a real-time preview viewport.
The Terrain editor application gathers multiple world building features in one single software tool.
Its main purpose is to synthesize the world terrain model and to assemble data resources
into realm files. The terrain synthesis tools currently implemented in the tool allow for
complex landscape shaping and texturing, therefore the terrain surface can be modeled
entirely in the editor,
without the need to divert workflow to some other modeling tool.
Landscape editing and entity management
Day and night cycles
Procedural terrain geometry and textures generation
Multiplayer & Massively multiplayer (MMORPG) capability.
Lobby system
Object replication system
Secure connections
Robust communication layer
Autopatcher
Remote procedure calls
Voice communication
NAT Punchthrough
Fully customizable and skinnable user interface supporting multiple types of controls
Dynamic loaded music with buffering
3D sound positioning with
Doppler effects
Event based sounds
Resource management (creation, loading and releasing) is an important aspect of a game engine especially for Massive Multiplayer Games which deal with dynamic (in background) loading of data.
The client engine source code is prepared for dynamic loading of huge worlds. The client architecture was designed to accommodate large outdoor and indoor worlds and huge number of players. Client engine source developers need to extend and adapt the existing loading routines to allow seamless background loading of data by programming data managers specific to their application or game.
Engine data structures and critical code are optimized for modern processor architecture
(instruction and data cache friendly formats)
OpenGL 2.1 hardware acceleration with optimizations for NVIDIA Geforce and ATI Radeon
Texture and vertex memory prioritized management (video, AGP and system).
Vertex buffers implemented through Vertex Array Range (NVidia - Geforce),
Vertex Objects (ATI - Radeon) or common ARB path (vertex buffer objects)
Animation optimized with hardware accelerated vertex programs and CPU optimized SSE instructions
Support for audio hardware via Direct Audio (Direct X) and OpenAL. Compressed music in .OGG format
Modular structure with separate libraries for main engine parts
Interface driven C++ code for functionality and data encapsulation
Built-in memory leak detection mechanism
Runtime type checks
Debug tools (bug reports, memory dump triggered at exceptions)
Extensible scripting language
Artist oriented documentation built in the tools with context help, searching and indexing
SDK with comprehensive programming documentation including tutorials, examples and class hierarchies