Vulkan 3D Game engine with SplashKit API design in mind
SplashKitX is a 2D/3D Game Engine written in C++ and Vulkan Graphics API. This game engine is pretty much experimental and currently not ready for production yet. Furthermore, this game engine is deeply inspired by Kohi Game Engine and SplashKit
This game engine is purely built by using Vulkan Graphics API. Platform layer for Windows and Linux are built by Win32 API and XCB/Xlib respectively.
Before you ask, I will never use Visual Studio or any kinds of build systems (CMake, Meson, .etc). Visual Studio makes it really hard to migrate to other platforms (not to mention the dynamically linked architecture). As for build systems, they are awesome for cross-platform compilation, but utterly dogwater for Windows. However, using build scripts doesn't require any further installation, you'll just need to run it directly from the command line!
- Clang and Vulkan SDK is required. Git is recommended to clone this project
- For Windows Users: Visual Studio Build Tools(Only if you don't have full Visual Studio Installation)
- For Linux Users:
libx11-dev
,libxkbcommon-x11-dev
andlibx11-xcb-dev
are required - For macOS Users: Currently macOS doesn't have a platform layer yet, but you can use XQuartz to install X11 and XCB dependencies (Trust me, it works on my MacBook).
- Clone the repo
git clone https://github.com/Aragami1408/SplashKitX.git
- Build the engine and run the test program
- Linux/MacOS:
$ cd SplashKitX
$ chmod +x ./build-all.sh && ./build-all.sh
$ cd bin && ./SKXTest
- Windows:
$ cd SplashKitX
$ build-all
$ cd bin
$ SKXTest.exe
I am open to contributions from anyone who wants to improve this project. If you want to contribute, please follow the steps below:
- If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
- Please make sure you check your spelling and grammar.
- Create individual PR for each suggestion.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
SplashKitX Game Engine is licensed by GPLv2. See LICENSE
for more information.