Skip to content

MohitSethi99/ArcGameEngine

Repository files navigation

Arc Game Engine

Build Status Quality Gate Status Bugs Code Smells Reliability Rating

Platform GitHub Size

ARC

About

Arc Engine is an in-development game engine written in C++.

I develop it in my spare time as a personal project, so expect frequent periods of time with no activity in this repository.

Set up

  • Clone Arc Game Engine using git. Make sure you do a --recursive clone!
git clone --recursive https://github.com/MohitSethi99/ArcGameEngine.git
  • Arc Game Engine is built in a Windows environment, using Visual Studio 2022.
  • Execute the script scripts/Win-GenProjects.bat to generate the solution and project files.

Current Features

Right now, Arc Game Engine is very bare-bones. Its most remarkable features are:

Feature Description Status
Scene system Scene-based entity management. Scene serialization with YAML. Done ✔️
ECS support Entity Component System approach through entt. Done ✔️
2D Renderer 2D batch renderer supporting OpenGL. Done ✔️
3D Renderer Basic 3D renderer with lighting, IBL and PBR workflow supporting OpenGL. Done ✔️
ImGui support Basic game editor and in-game debug UI using dear imgui. Done ✔️
Shadow Support Soft and Hard shadow support in OpenGL 3D Renderer. Done ✔️
2D Physics 2D Physics using Box2D with Rigidbody, Box and Circle Colliders and joints. Done ✔️
3D Physics Basic 3D Physics using Jolt Physics with Rigidbody, Box and Sphere Colliders. Done ✔️
Scripting Basic scripting in C# using mono. Done ✔️
Audio Basic Sound API with spatialization through miniaudio. Done ✔️

Planned Features

Feature Description Status
C# API C# API for all the components. WIP 💻
Extended 2D Physics Extend 2D physics to support more collider types and API. WIP 💻
Extended 3D Physics Extend 3D physics to support more collider types and API. WIP 💻
Font Extend the Renderer capabilities so it can draw text. WIP 💻
Advanced Audio Advanced Sound API with effects. TODO 📋
Asset manager Basic asset handling API. TODO 📋
Direct3D Extend the Renderer to support D3D12. TODO 📋

Feature Showcase

Arc Game Engine Showcase

Dependencies

Arc Game Engine has the following dependencies:

Projects are generated with Premake 5.

Special Mentions

Huge shout out to: