A multithreaded, multiplayer-focused game engine
This is a mirror of the codebase stored on my private git server. It does not include the assets required for the engine to actually run. It is uploaded here to be a showcase of the code for the engine, not a complete product.
- First File To Run
- Core Runtime Code
- Native Library
- Assets Bundled With Release
- Documentation Source Files
- Runtime scripting in Typescript
- Eventually-synchronized networking
- Service-and-signals system
- Forward+ rendering
- Per-actor multi-pipeline support
- Transvoxel (networked) implementation
- Anime-inspired shading
- Instanced grass (up to 2 million blades at 60 fps)
- Complex fluid dynamics simulation
- Explicit memory management for high-frequency objects (fluid chunks)
- Web-inspired ui framework
- Supports loading HTML and CSS files that define ui elements
- Scripting engine hooks typescript into ui events
- Advanced terrain system (transvoxel, multi-textured)
- Blocks implementation
- Fluid simulation
- Behavior Trees implementation
- Floating-origin collision engine
- Dynamic terrain chunk collision management
- Jenkins
- Docker
- NetArranger
- High Level Netcode Gen (haven't uploaded to github yet)
- Remotery
- RenderDoc
- VisualVM
- Eclipse Mission Control
- Memory Analyzer
- Install
- From choco install
- Run build.sh
The build will be in <Project Directory>/build
Several build profiles are defined in maven to support different functions
- fast - Only runs the fast unit tests
- integration - Runs the integration tests
- integrationDebug - Runs the integration tests with the memory-debug jar linked
The documentation uses Doxygen to build.
On windows, it's recommended to use Doxywizard to build the documentation.
To build
- Open the file
<Project Directory>/docs/Doxyfile - Navigate to the
Runtab - Click
Run doxygen - Click
Show HTML output