Arachnid II Game Engine

The Arachnid II Game Engine is a free, open source, 3D game engine that I developed between 2012 and 2015. The engine is built with C++ and DirectX 11, and contains over 70,000 lines of code! Some features of this engine include deferred rendering, 3D audio rendering, shadow mapping, character animation, terrain rendering, HDR post-processing, binary space partitioning, level editing, and first-person player navigation.

The first public release of the Arachnid II Game Engine will be made available on this website in the near future! However, over the next few months a series of videos demonstrating the technical features and capabilities of the Arachnid II Game Engine will be posted. There's a lot to show, so stay tuned!


Character Animation: The Arachnid II Game Engine features a character animation system that uses the 2016 Autodesk FBX SDK to import meshes and animations stored in the .FBX, .3DS, .DAE, and .OBJ file formats. Arachnid II's shader management system automatically selects an appropriate shader for an imported model based on the textures and materials that are available. For example, if a model includes normal maps and and alpha maps, the engine will automatically select a shader that performs bump mapping and transparency in the pixel shader stage.

Cascaded Shadow Mapping: The Arachnid II Game Engine uses a cascaded shadow mapping technique to render dynamic shadows for directional lights. In this approach, the player's viewing volume is split into a set of non-overlapping sub-frusta. A separate shadow map is rendered for each frustum, and the resolution of each shadow map is decreased based on its distance from the camera.


Level Editing: The levels and environments in the Arachnid II Game Engine are designed with the open source Radiant Level Editor, which is the official level design tool for the id Tech family of game engines. Using this editor, a level designer is able to construct buildings, props, terrains, ladders, stairs, and "trigger volumes" for games using Arachnid II.

Binary Space Partitioning: The Arachnid II Game Engine uses a BSP-Tree to represent the static objects in an environment for efficient collision detection and rendering. The Arachnid II Game Engine currently supports BSP collision detection tests for rays, axis-aligned bounding boxes, spheres, and ellipsoids.

More details and videos of the Arachnid II Game Engine are coming soon!


Details

Tech:

  • C++
  • HLSL
  • Direct3D 11
  • DirectInput
  • XInput
  • XAudio2
  • Autodesk FBX SDK
  • Windows API

Features:

  • Deferred Rendering
  • 3D Audio Rendering
  • Character Animation
  • Cascaded Shadow Mapping
  • Binary Space Partitioning
  • Level Editing
  • BSP Brushes
  • First-Person Players
  • Controller Support

Features (cont'd):

  • Heightmap & Voxel Terrain
  • Parallax Mapping
  • Normal Mapping
  • Tone Mapping / Bloom
  • Resource Management
  • Multi-threading
  • 70,000 Lines of Code
  • And Much More...

Videos


Gallery

An animated skeleton character in the Arachnid II Game Engine. Characters and models in the Arachnid II Game Engine are imported with the 2016 Autodesk FBX SDK

2015

An animated werewolf character in the Arachnid II Game Engine. The character's and object's shadows are achieved with a cascaded shadow mapping tecnique

2015

A simple level that I designed for the Arachnid II Game Engine using Radiant. In this image, the player has climbed into a watchtower above a small camp

2015

Lately I have been working on Arachnid II's heightmap-based terrain rendering system. This image shows the current state of the grass/foliage terrain layer

2015

The Arachnid II Game Engine is currently under development. More images and videos showcasing the engine's features will be released soon

2015