Skip to content

qubka/Fusion

Repository files navigation

Fusion

Fusion is an open-source, cross-platform game engine written in modern C++17 and structured to be fast, simple, and extremely modular. Vulkan is the sole graphics API, Vulkan can be accessed in apps with the provided rendering pipeline. This engine was developed for my Master's final year project at City, Univercity of London.

Watch the video

Implemented features:

  • Multiplatform (Windows, Linux, Android, 32bit and 64bit)
  • Multithreaded command buffers and thread safety
  • Event delegate callbacks with scoped functions
  • Built-in editor application
  • Project's management using serialization
  • Object serialization (JSON and XML using cereal)
  • Data-oriented Entity component system (using entt)
  • Powerful scene manager
  • PhysX physics
  • Vulkan renderer pipelines
  • Abstract input system
  • GLSL to SPIR-V compilation and reflection
  • Model file loading (using Assimp)
  • Image file loading (ktx, kmg, dds, jpg, png, bmp, hdr, psd, tga, gif, pic, pgm, ppm)
  • UI components (using ImGUI)

TODO features:

  • Audio system (flac, mp3, ogg, opus, wave)
  • Embedded (script) system (using Lua)
  • Particle effect systems
  • Post effects pipeline (blur, SSAO, ...)

Screenshots:

  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text
  • alt text

Architecture:

alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text

Installation instructions:

The final build of the game engine, the editor application and the source code are submitted alongside this report. To run the editor application, simply execute the "editor.exe" file located in the "EditorBuild/editor" directory. To run the game engine sample app, simply execute the "sandbox.exe" file located in the "SandboxBuild/game" directory. To upload all submodules for the sourcecode to compile the project. Execute command in the command prompt: "git submodule update --init --recursive"

About

A high performant C++17 Vulkan game engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published