GameKit
The modern game engine written in C++ and Swift where coding is fun ๐
The engine is under heavy development and most features are either missing or incomplete. Do not use this engine for any production project
Introduction
GameKit is a modern lightweight game engine built around Swift. โจ
The primary focus of this project is to bring Swift into the games industry. ๐ฎ
With a heavy focus on code first, leaving behind the usual WYSIWYG approach, GameKit is ideal for any game that mostly deals with procedurally generated levels.
Features
GameKit will be a full-featured game engine on the long run.
Some of the most important features:
- ๐ฉ๐ฟโ๐ป Scripting: Modern Swift Syntax and custom DSL to simplify many concepts
- ๐ชข Performance: Multithreaded ECS architecture for maximum performance
- ๐ง Rendering: Powerful DirectX12 3D renderer for maximum fidelity and performance
- โ๏ธ Physics: Full integration with PhysX 5.1
- ๐ฎ Input: Coverage of almost any device thanks to latest SDL2
- ๐ Sound: Custom platform-agnostic spatail sound system
- ๐ฆ Assets: Modern asset pipeline including cooking, hot swapping and more
- ๐ฎ Futureproof core: No legacy platforms are supported
- ๐ค Small footprint
Requirements
To use the engine, a Swift toolchain starting at 5.7.2 has to be installed on the Computer.
Additionally, Visual Studio Code is recommended for writing game code in Swift.
Note: The engine only runs on Windows 10 and never. This is a temporary restriction and macOS support is desired once the engine reaches a mature state.
Building
Building the engine has the same requirements as using the engine plus additional things.
- A C++20 compiler(Currently only MSVC is supported, as Windows is the only target platform)
- A vcpkg installation
Roadmap
The current roadmap expects all major features to be included in v1.0. Linux support is off the table for now.
Current | v1.0 | v1.1 | |
---|---|---|---|
Rendering | โ | ||
Audio | โ | โ | |
Animations | โ | โ | |
Physics | โ | โ | |
Input | โ | ||
macOS support | โ | โ | โ |
Linux support | โ | โ | โ |
GPU asset loading | โ | โ | โ |
Networking | โ | โณ |
Legend:
- โ Will not be supported in this version
- โ Will be introduced in this version
- โณ To be determined