AV Engine Documentation
Welcome to the documentation for the AV Engine.
The AV engine is a game engine written in C++ that I’ve been writing in my free time, as part of a larger project. The eventual goal and purpose of the engine is to support an as of yet unreleased game. This documentation aims to serve as a means for me to document how everything works and fits together, as well as how to use the functions of the engine itself.
- Features of the engine include:
Implementation of a streamable open world
Real-time physics
A heavy focus on scripting and data driven content
Abstraction of platform specifics
An Entity Component System
Support for serialisation
A powerful dialog system
As well as this I’ve tried to architect the engine as cleanly as possible, both as a learning experience and to increase its future maintainability. The engine tries to be as data driven as it can, while still trying to be as optimised as possible.
- The engine is intended to support a game with the following features:
3D graphics
A streamable open world
Explorative style RPG
Top down style gameplay where the camera follows the player
Extensibility via scripts and mods
Cross Platform
However, it can be used to create other sorts of projects as well. For instance, 2d games are completely possible using the engine’s 2d features. Furthermore, with its data driven nature, many different kinds of projects can be created using this engine.
- Much of the engine is based on external libraries. These include:
Ogre3D
Bullet Physics
EntityX
Squirrel (Scripting Language)
SDL for desktop windowing
A few smaller utility libraries
Contents: