# KyokaEngine_1
**Repository Path**: alonebinge/kyoka_1
## Basic Information
- **Project Name**: KyokaEngine_1
- **Description**: A toy 3D game engine using Vulkan.
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: vulkan
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2025-07-10
- **Last Updated**: 2025-07-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Kyoka
| 注:部分动图及文档需要登陆后才能查看,后续会将项目迁移到github。
Kyoka is a lightweight 3D game engine developed in C++, featuring basic subsystems such as rendering, physics, and scripting. It is primarily used for learning graphics programming, engine architecture, design patterns, and rapid idea validation.

PBR Mateiral

Skeletal Anination
(Scene:Comicaroid, Character:BlueArchive, Action:嘉塔真纪)
## Features
**Implemented** (find more details in [⭐features](https://gitee.com/liztu/kyoka/blob/vulkan/Development/docs/features_CN.md))
* Gameplay system
* ECS, grouping game objects by using parent-child hierarchies.
* create component with scripts (mono,c#)
* Reflection via code generation
* 3D renderer based on Vulkan
* multiple render passes
* batched rendering
* dual paraboloid shadow mapping
* support pbr and custom material
* skinned animation
* Integrated physx physics engine
* physical simulation
* ray detection
* Fully featured editor
* hierarchy, insepctor, game view, file browser, logger
* play in editor
* hot reload for scripts
* drawign gizmos
* object picking and highlighting
* undo & redo
* Performance analysis
* code analysis with easy profile
* graphics analysis with renderdoc
**To implement**
* Artificial Intelligence
* Navigation Mesh
* Behaviour tree
* Partical
* Animation
* Audio system
* Multiplayer
*
...
## How to build
**Kyoka** currently supports only Windows. Premake is used to generate automatic build files for Visual Studio.
**Requirement**
> - Pyhon == 3.x
> - Visual Stuio >= 2017
> - VulkanSDK == 1.3.268.0
PLease configure the Vulkan path to the environment variable VULKAN_SDK, for example:
```
VULKAN_SDK => path/VulkanSDK/1.3.268.0
```
### 1.Clone the repository recursively.
```shell
git clone --recursive https://gitee.com/liztu/kyoka
cd kyoka
```
### 2. Configure the dependencies:
> - PhysxSDK== 5.3.1
> - Assimp == 5.2.5
> - easy_profiler
Please download the dependencies from https://pan.baidu.com/s/1sfe99fZ8s2TUspSkG9JvKw?pwd=7sjc and config them following `README.md`.
### 3. Build
1. Run `Win-GenProjects.bat` in `scripts` folder to generate the Visual Studio project.
2. Gen reflection code:
```shell
python Metaparser/gen_meta.py
```
3. Build `Editor`.
### 4. Others
* Running the loc_counter.py script under the script folder can count the lines of code. (2.8w+)