Skip to content

angstrom-123/Game-Engine-Vulkan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game Engine

This is a work-in-progress 3D game engine. My final goal is to have a starting point for creating games in the future and to learn about engines.

Build and Run

NOTE: Completely untested on ARM and on MacOS.

Bear in mind that this engine is built by me, for me. As such, the build is currently less-than-satisfactory. This may be addressed in a future version of the engine.

Dependencies

Currently there is no auto-install of dependencies. To run this code, you will require:

  • Vulkan SDK (verion >= 1.4)
  • GLFW

These must be installed prior to building or running anything. All other libraries are header-only and included directly in this repo.

Linux

This project is being developed on Linux and this is the intended platform for developers. The build uses clang++ v18.1.3 by default, support for other C++ compilers is likely but not guaranteed. To build the default example, enter the project's root and run:

make

Once built, you can run the example by running:

./bin/release/output

For this to work, you must be in the project's root directory as this is the working directory.

Windows

There is currently no supported way to build natively on Windows. It is possible to cross compile for Windows from Linux using MinGW.

Cross Compile Linux -> Windows

The build uses MinGW's g++ compiler (x86_64-w64-mingw32-g++), support for other compilers is likely but not guaranteed. To build for Windows, run:

make TARGET_OS=windows

Once built, you can run this on Linux using wine:

wine ./winbin/release/output.exe

Alternatively, to run on Windows natively:

  • Clone this entire repository onto your Windows machine. Not everything from it is required, but there is currently no support for distribution builds so you will have to include the source.
  • Copy across the compiled binary (output.exe) and the two dll's (libgcc_s_seh-1.dll, libstdc++-6.dll) from the winbin/release directory in your Linux environment to the same directory on your Windows machine (creating it if it doesn't exist).

You can run the code natively by connecting to the project root and running:

cmd.exe /k .\winbin\release\output.exe

Alternatively, you can run the executable using Windows explorer by moving the aforementioned binary and dll's to the project's root as this is the working directory.

Libraries Used

  • fkYAML
  • GLFW
  • GLM
  • STB (image, truetype)
  • VMA
  • VkBootstrap
  • Vulkan SDK

Screenshots

20260528_03h27m51s_grim

About

WIP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages