Yet another work-in-progress game and graphic engine project.
Build status
Getting started
Licence
Extern libs
Assets
Misc
Configuration | ||||
---|---|---|---|---|
Debug | ||||
Development | ||||
Release | ||||
Final |
You have two options depending on whether you want to build from source or use the provided executables:
- Run
Editor.exe
to launch the editor. - Run
Game.exe
to start the game.
By default, VGFramework uses the precompiled binaries: Editor.exe
, Game.exe
, and the DLLs located in the bin/
folder.
When you build locally, executable files will be created in your build/
folder.
The program will use these locally built files if they are present; otherwise, it will fallback to the precompiled binaries.
- Sync the depot.
- Install the required SDKs and configure the environment variables.
- Open the
vgframework.sln
solution in Visual Studio 2022 Community IDE. - Build & Run
Debug and Release versions will start with the editor:
Press F5
to enter game mode and F11
to maximize game view and press ESC
to go back Editor mode.
Final versions are compiled without the editor, they will start directly in game mode and maximized.
First run might take a few seconds because files are cooking.
✨ You can keep shift pressed while moving objects to duplicate them.
VS Studio 2022 Community
https://visualstudio.microsoft.com/fr/vs/community/
To compile the solution you will need the following components if they are not already installed:
- MSVC v143 - VS 2022 C++ x64/x86 build tools (latest)
- C++ ATL for latest v143 build tools (x86 & x64)
You will also need if you want to build the ARM64EC versions:
- MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (latest)
- C++ ATL for latest v143 build tools (ARM64/ARM64EC)
Use the 'Configuration' combo to select build configuration:
Config | #define | Runtime | Optimization | Inlining | Edit & Continue | Assert |
---|---|---|---|---|---|---|
Debug | VG_DEBUG |
/MDd | /Od | /Ob0 | Yes | Yes |
Development | VG_DEVELOPMENT |
/MD | /Od | /Ob0 | Yes | Yes |
Release | VG_RELEASE |
/MD | /O2 | /Ob2 | No | Yes |
Final | VG_FINAL |
/MD | /O2 | /Ob2 | No | No |
Use the 'Platform' combo to select target architecture and graphics API:
Also don't forget to set the working directory to $(SolutionDir).
The SDKs are not included with the sources. You need to install them.
Name | Version |
---|---|
Win10 SDK | 10.0.22621.0 |
Vulkan SDK ✨ | 1.3.290.0 |
✨ Only required to build Vulkan version. $(VULKAN_SDK) should point the Vulkan SDK installation dir (e.g., C:\SDK\Vulkan\1.3.290.0
).
The external libraries are included with the sources for convenience. Follow the link for details about the licence used.
Name | Version |
---|---|
D3D12 Memory Allocator | |
D3D12 HDR Sample | |
Dear ImGui | 1.91.2 |
DirectX Shader Compiler | August 2023 |
Dirent | 1.23.2 |
fmt | 10.1.1 |
FXAA | 3.11 |
hlslpp | 3.5.3 4dd067b |
IconFont CppHeaders | |
ImGuiFileDialog | 0.6.7 |
ImGuizmo | 1.83 |
JoltPhysics | 5.0.0 |
meta_enum_lite | |
optick ✨ | 1.3.1 |
px_sched | |
SoLoud | August 2024 |
stb | 2.30 |
tinyXML2 | 10.0.0 |
UFBX | 0.14.3 |
Vulkan Memory Allocator | 3.0.1 |
WinPixEventRuntime | 1.0.231030001 |
✨ You can download the binaries for optick 1.3.1 from https://github.com/bombomby/optick/releases/tag/1.3.1.0
The code in src
folder is licensed under the MIT License. Please refer to LICENCE.md for more details.
External libraries in the extern
folder use permissive licenses. Please refer to the Extern libs section for details about the licenses used.
Most assets are using permissive licenses, while some are restricted to use only within the context of VGFramework development. Please refer to the Assets section for more details about the licenses used.
The assets in the following folders are licensed under the Creative Commons Non-Commercial (CC BY-NC 4.0) License, with the additional restriction that they may only be used within the context of VGFramework development.
Please refer to the ASSETS_LICENSE.md for more details.
Asset folders | Author |
---|---|
data/Meshes/GJ data/Textures/GJ |
JOYxt |
data/Meshes/VGF_Bo data/Textures/VGF_Boy |
JOYxt |
data/Meshes/GrosCovid data/Textures/GrosCovid |
JOYxt |
The following assets are provided under permissive licenses. Please follow the provided links for details about those licenses:
Name | Info |
---|---|
Font-Awesome | 6.x |
Rowdies | |
RubikMonoOne | |
UbuntuMono | 1.0 |
Name | Info |
---|---|
3D Football | prabath-weerapana |
Baseball Bat | sepandjahrominejad |
FootBall american | orsbone |
Katana samurai sword | kizaru |
Luigi | Anthony Yanez |
Traffic Cone | hinndia |
Soccergoal | NorbertVarga |
Name | Info |
---|---|
Free HDR Map 779 | hdri-skies.com |
Name | Info |
---|---|
FX - Swoosh - normal | bolkmar |
Large sword swing | Luis0413 |
Tally Dub | Brotheration Records |
Chainsaw | pblzr |
These tools are not mandatory but can be useful for development.
Name | Info |
---|---|
Radeon Developer Panel | GPU debugging & profiling |
RenderDoc | GPU debugging |