Skip to content

Williscool13/WillEngineV2

Repository files navigation

WillEngineV2

This is my second attempt at my own 3d game engine.

Table of Contents

Prerequisites

  • Git
  • CMake (3.x or later)
  • A C++ compiler (e.g., GCC, Clang, MSVC)
  • VulkanSDK (1.3.x)
  • SDL2
    • SDL2.dll is available in this repository

Getting Started

This engine only supports Windows at the moment and all instructions and setup will only be outlined for Windows.

  1. Clone the repository:

    git clone https://github.com/Williscool13/WillEngineV2.git
  2. Navigate to the project directory:

    cd WillEngineV2
  3. Initialize and update submodules:

    git submodule init
    git submodule update

Build Instructions

  1. Open CMake GUI
  2. Set the source code directory to the root of the WillEngineV2 project
  3. Choose a build directory (e.g., build or cmake-build-debug)
  4. Click "Configure" and select your preferred generator
  5. Click "Generate"
  6. Open the generated project in your IDE or build it from the command line

Setting Up Symlinks

After building the project, you need to set up symlinks for the shaders and assets directories to avoid creating unnecessary copies. For simplicity, you may simply copy the entire shaders and assets folder instead.

Open a Command Prompt as administrator in your build directory and run:

mklink /D shaders ..\shaders
mklink /D assets ..\assets

Note: Adjust the paths if your folder structure differs.

Troubleshooting

SDL2.dll Not Found

If you're prompted for an SDL2.dll, copy the SDL2.dll from this repository into the working directory of your built project.

assert(m_init) failed in VulkanBootstrap.h in Line 132

This error is often caused by vkb failing to find a suitable GPU to use. It could be that your GPUs do not support Vulkan 1.3 or the use of some vulkan extensions (in this case Descriptor Buffers). You can verify this by checking what extensions your GPU supports at https://vulkan.gpuinfo.org/.

Unfortunately there isn't much that can be done if you get this error.

Additional Notes

  • Make sure you have the necessary permissions to create symlinks on your system.

Contact Me

If you have any troubles with the code or would like to discuss game engine/rendering architecture, please feel free to contact me at [email protected].

About

My second attempt at a game engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published