Arachnid Game Engine

The Arachnid Game Engine is a 3D game engine built with C++ and DirectX 10. The engine features a level editing system that includes level-of-detail terrain, GPU-based particles, heightfield-based water simulation, first-person players, dynamic fog, and audio emitters. The engine also features environment mapping, blend mapping, normal mapping, detail mapping, and material and shader management.

This project was my first attempt at developing a 3D game engine. The project lasted from February 2012 to June 2012, and during this time period I gained a great deal of knowledge related to graphics and game engine programming. Because of this newly gained knowledge, I eventually decided to cancel the development of this engine and start over from scratch on a new engine. The new engine turned into the Arachnid II Game Engine.


Details

Tech:

  • C++
  • HLSL
  • Direct3D 10
  • DirectInput
  • XInput
  • XAudio2
  • Libvorbis
  • Windows API

Features:

  • Level-of-Detail Terrain
  • Terrain Multi-Texturing
  • GPU-Based Particle Systems
  • Dynamic Fog Particles
  • Water Rendering
  • Frustum Culling
  • Audio Rendering

Features (cont'd):

  • Level Editing
  • Material Management
  • Shader Management
  • First-Person Players
  • 12,000 Lines of Code

Videos


Gallery

The Arachnid Game Engine's terrain and dynamic fog rendering system. The fog particles blend into the terrain to produce soft particles.

2012

Wireframe rendering of the Arachnid Game Engine's level-of-detail terrain system. The technique that is used is referred to as GeoMipmapping.

2012

An outer space level created with the Arachnid Game Engine. In this level, the skybox rotates to create the effect of a rotating planet.

2012

An outdoor wilderness level created with the Arachnid Game Engine. In this level, GPU-based particle systems are used to simulate rain and fire.

2012

Wireframe rendering of the outdoor wilderness level. The level-of-detail of different areas of terrain are chosen such that there is minimal or no "popping".

2012