ArcherEngine
ArcherEngine copied to clipboard
An Open Source 3D game engine.
ArcherEngine
Archer Engine is a Multimedia C++ library for setting up and interfacing with 3D environments. All of the functionality is accessed through C++ functions in archer lib
Use Context
- Windowing
- 3D Scene Loader and transform controls
- OpenGL Render Pipeline
- Basic Texturing, Color Emissions
- Directional, Point, and Spot Lights
- Skeletal Animation Loader & Player
- Sunlight Shadows
- Cameras
- 3D SoundEffects
- Ambient/Music background music
- Run Time scripts C++ Lambdas
Build & Run
docs/readme.md
Unit Tests
TODO
Examples
| SYNTAX | DESCRIPTION |
|---|---|
| ../build/examples/editor/editor_example.exe | Example Game Engine Front End Editor Starting Point |
Example Code
#include <AAEngine/Interface.h>
AA::Interface instance; // global so you can access it in lambda scripting
int main(int argc, char** argv) {
WindowOptions opts;
instance.Init(opts); // Initializes Required Hardware Access
/*
* add camera, lights, models, sounds, animations, controls, lambda scripts, etc
*/
return instance.Run(); // starts the simulation and stays running until Shutdown() or Window.Close()
}
Development
Currently being developed as a continuation of the original project. This new version should build on any OS. Making a game engine library is a huge task and I could use all the help I can get.
Development Schedule
Currently the aim is to put out monthly updates. You can find these in video form on the Code, Tech, and Tutorials YouTube Channel.
Branch Rules
mainshould only be updated via pull requests fromdev. Done once a month, with an accompanied release.devbranch should only be updated via Pull Requests fromother-branches- As for
other-branches, create them from starting pointdevto do work, and merge them intodevwhen complete.
These rules are somewhat loose but we need some structure to allow an understanding of how others might be trying to work on things.