Skip to content

A hobby project of a C++ game engine. Uses OpenGL and C++20

License

Notifications You must be signed in to change notification settings

Dwarfius/VulkanRTSEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Info

This is a hobby project to practice developing a mutltithreaded engine. The engine features:

  • an OpenGL rendering backend (supporting a simple feature set)
  • a resource management system with PNG, JPG, GLTF and OBJ support
  • an ImGUI integration
  • an Animation system
  • Physics driven by Bullet
  • a standalone benchmarking executable using Google Benchmark

It is currently written using C++23 in Visual Studio 17.10.1 and tested on Windows.

Project uses CMake(3.23.0). I'm moving as many dependencies as I can to be auto-fetched by CMake's Fetch Content.

Tank model was found on Unity Asset Store (https://www.assetstore.unity3d.com/en/#!/content/46209) Audio files were found here:

Obsolete - Test Video

A minigame implemented using the engine, where the player has to drive around the tank, shoot down enemy tanks while avoiding getting touched by others. If caught, the game ends, and the amount of destroyed tanks is the final score.

Youtube image

Obsolete - Stress Test

A modification of the game logic to stress test the game engine. The engine constantly spawns new tanks for the 2 teams, orders them to move to the other side. The tanks shoot projectiles which destroy enemy vehicles on contact. As visible from the video, rendering artifacts are present - the TBB implementation needs to be improved to avoid this issue. The game scenario simulates about 2600 objects total for a duration of 1 minute. The spawn rate gradually increases from start, and continues to increase throught the test. The objects stabilize at 2600 mark due to nature of the test - it doesn't matter how many are created, they destroy each other as fast.

Youtube image

License

For license information, see LicenseNotes.md

About

A hobby project of a C++ game engine. Uses OpenGL and C++20

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages