Code Monkey home page Code Monkey logo

vulkanrtsengine's Introduction

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++20 in Visual Studio 16.10.3 and tested on Windows.

Project uses CMake(3.17.3). 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

vulkanrtsengine's People

Contributors

dwarfius avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.