{"id":17013694,"url":"https://github.com/craftablescience/chiraengine","last_synced_at":"2025-03-22T16:31:13.958Z","repository":{"id":38307208,"uuid":"383985110","full_name":"craftablescience/ChiraEngine","owner":"craftablescience","description":"A customizable MIT-licensed game engine.","archived":false,"fork":false,"pushed_at":"2023-11-13T06:55:48.000Z","size":98819,"stargazers_count":37,"open_issues_count":29,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T13:44:42.146Z","etag":null,"topics":["cpp","cpp-library","game-development","game-engine","gamedev","opengl"],"latest_commit_sha":null,"homepage":"https://craftablescience.info/ChiraEngine/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/craftablescience.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"craftablescience"}},"created_at":"2021-07-08T03:01:59.000Z","updated_at":"2025-03-02T13:13:20.000Z","dependencies_parsed_at":"2023-02-12T12:15:23.177Z","dependency_job_id":"c0bdaee6-8ffa-4dcf-ac07-ff103e47816e","html_url":"https://github.com/craftablescience/ChiraEngine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftablescience%2FChiraEngine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftablescience%2FChiraEngine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftablescience%2FChiraEngine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftablescience%2FChiraEngine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/craftablescience","download_url":"https://codeload.github.com/craftablescience/ChiraEngine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244986517,"owners_count":20543027,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cpp-library","game-development","game-engine","gamedev","opengl"],"created_at":"2024-10-14T06:13:59.884Z","updated_at":"2025-03-22T16:31:08.948Z","avatar_url":"https://github.com/craftablescience.png","language":"C++","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"400px\" src=\"https://github.com/craftablescience/ChiraEngine/blob/main/branding/github/readme_banner.png?raw=true\" alt=\"Chira Engine\"/\u003e\n\n  [![Codacy Badge](https://api.codacy.com/project/badge/Grade/5c8b0a7eba614cc8bc44d7d54789cf51)](https://app.codacy.com/gh/craftablescience/ChiraEngine?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=craftablescience/ChiraEngine\u0026utm_campaign=Badge_Grade_Settings)\n  ![Workflow Status](https://img.shields.io/github/actions/workflow/status/craftablescience/ChiraEngine/build_engine.yml?branch=main\u0026label=builds%20and%20tests)\n  ![License](https://img.shields.io/github/license/craftablescience/ChiraEngine?label=license)\n  ![Discord](https://img.shields.io/discord/678074864346857482?label=discord\u0026logo=Discord\u0026logoColor=%23FFFFFF)\n\n  A fully customizable (and heavily work-in-progress) MIT-licensed game engine, written in C++20.\n\u003c/div\u003e\n\n## Features\n\nTo summarize the major features:\n- Native Windows, Linux, and macOS support\n- As extensible as possible: register custom logging hooks, resource types and providers, etc.\n- Custom preprocessing of GLSL shaders, with macros and #include directives\n- Cached resource loading and management\n- Data-oriented design, using an ECS framework\n- Supports multiple simultaneous windows\n- Hassle-free Discord Rich Presence and Steamworks API wrappers\n- Inline text localization\n- Console commands to run actions on the fly, with the ability to pass arguments\n- Variables modifiable from the console, with support for caching between sessions\n- Logger built-in with colored text and hooks\n- Multipurpose game editor\n\nThe goal of the engine is to have as much customization as possible, while still maintaining ease of use.\n\n## Supported Platforms\n\n- Windows 7+\n- Linux\n- macOS 11.0+\n\n### Planned:\n\n- Android\n- Web (HTML5)\n\n## Supported Compilers\n\n| Platform | GCC | Clang | MSVC |\n|----------|:---:|:-----:|:----:|\n| Windows  | ✔\\* |  ✔\\*  |  ✔   |\n| Linux    |  ✔  |   ✔   |  -   |\n| macOS    |  ❌  | ✔\\*\\* |  -   |\n\n(\\*) Supported with MinGW. Packaging a build of the application will require you to copy a DLL\nfrom the MinGW bin directory next to the executable. Check the GitHub Actions script to see the path to the DLL.\n\n(\\*\\*) Homebrew LLVM/Clang is required. Some C++ features used in this project are not supported\nby Apple's version of Clang.\n\n## Supported Rendering APIs\n\n| Platform          | OpenGL 4.0 | OpenGL 4.1 | OpenGL 4.3 |  D3D11  | Software |\n|-------------------|:----------:|:----------:|:----------:|:-------:|:--------:|\n| Windows           |     ✔      |     ✔      |     ✔      | Planned |   ✔\\*    |\n| Linux             |     ✔      |     ✔      |     ✔      |    -    |   ✔\\*    |\n| macOS             |     ✔      |     ✔      |     -      |    -    |   ✔\\*    |\n\n(\\*) SDL software renderer implementation is incomplete and will likely never work perfectly with 3D.\nIt exists to make it easier to port to new platforms.\n\n## Bundled Dependencies\n\n- Docs:\n  - [doxygen-awesome-css](https://github.com/jothepro/doxygen-awesome-css)\n- Engine:\n  - [cereal](https://github.com/craftablescience/cereal) v1.3.2\n  - [Dear ImGui](https://github.com/ocornut/imgui) v1.89.5\n  - [Discord RPC](https://github.com/craftablescience/discord-rpc-clean)\n  - [entt](https://github.com/skypjack/entt) v3.11.1\n  - [{fmt}](https://github.com/fmtlib/fmt) v9.1.0\n  - [glad](https://gen.glad.sh/) v2.0.4\n  - [glm](https://github.com/g-truc/glm) v0.9.9\n  - [ImGuiColorTextEdit](https://github.com/BalazsJako/ImGuiColorTextEdit)\n  - [ImGui Filebrowser](https://github.com/AirGuanZ/imgui-filebrowser)\n  - [ImGuizmo](https://github.com/CedricGuillemet/ImGuizmo) v1.89\n  - [LibLoader](https://github.com/craftablescience/LibLoader)\n  - [lua](https://github.com/craftablescience/lua) v5.4.6\n  - [magic_enum](https://github.com/Neargye/magic_enum) v0.8.2\n  - [nlohmann_json](https://github.com/nlohmann/json) v3.11.2\n  - [sdl](https://github.com/libsdl-org/SDL) v2.26.5\n  - [sol2](https://github.com/ThePhD/sol2) v3.3.0\n  - [soloud](https://github.com/craftablescience/soloud)\n  - [stb_image](https://github.com/nothings/stb) v2.27\n  - [stduuid](https://github.com/mariusbancila/stduuid) v1.1\n\n## Development (Windows)\n\n- **CLion**: The project will compile without any prior configuration as long as a compiler is installed,\n  but you will need to install the Windows SDK from the Visual Studio Installer.\n\n- **Visual Studio 2022**: You will need to install the Windows SDK (any version should work) and the CMake\n  integration component. If you do not have any other compilers, you will need MSVC as well.\n\n- If compiling with WSL without using any IDE integrations, skip to the Linux section.\n\n## Development (Linux)\n\nThe project will compile without any prior configuration in your IDE of choice (or the terminal),\nbut you will need to install a few things first. On Debian-based distros, run:\n\n```shell\nsudo apt update \u0026\u0026 sudo apt install cmake build-essential xorg-dev mesa-common-dev mesa-utils\n```\n\nInstalling Ninja is optional but recommended:\n\n```shell\nsudo apt install ninja\n```\n\nYou will also need to install dev versions of sound libraries to support each of these sound backends when compiling.\nIf you are compiling the project for your personal use, you only have to install the one you need:\n\n```shell\nsudo apt install libasound2-dev libpulse-dev libjack-dev\n```\n\nIf you are not using an IDE, the project can be compiled using the following commands:\n\n```shell\ncmake -G \"Unix Makefiles\" -B build -DCMAKE_BUILD_TYPE=Debug -- -j$(nproc)\ncmake --build build\n```\n\n- Replace `\"Unix Makefiles\"` with `\"Ninja\"` if you installed Ninja earlier.\n- Replace `\"Debug\"` with `\"Release\"` if you want to compile a release build.\n\n## Development (macOS)\n\nYou must install LLVM from Homebrew, as the default Apple Clang compilers do not work properly:\n\n```shell\nbrew install llvm\n```\n\nInstalling Ninja is optional but recommended:\n\n```shell\nbrew install ninja\n```\n\nIf you are not using an IDE, the project can be compiled using the following commands:\n\n```shell\ncmake -G \"Unix Makefiles\" -B build -DCMAKE_C_COMPILER=\"/usr/local/opt/llvm/bin/clang\" -DCMAKE_CXX_COMPILER=\"/usr/local/opt/llvm/bin/clang++\" -DCMAKE_BUILD_TYPE=Debug -- -j$(sysctl -n hw.logicalcpu)\ncmake --build build\n```\n\n- Replace `\"Unix Makefiles\"` with `\"Ninja\"` if you installed Ninja earlier.\n- Replace `\"Debug\"` with `\"Release\"` if you want to compile a release build.\n","funding_links":["https://ko-fi.com/craftablescience"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraftablescience%2Fchiraengine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcraftablescience%2Fchiraengine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraftablescience%2Fchiraengine/lists"}