{"id":22436714,"url":"https://github.com/iceshard-engine/engine","last_synced_at":"2026-03-09T07:32:23.276Z","repository":{"id":36159377,"uuid":"191127270","full_name":"iceshard-engine/engine","owner":"iceshard-engine","description":"A personal game engine project, with development focus towards 2D/2.5D games.","archived":false,"fork":false,"pushed_at":"2026-02-06T12:45:04.000Z","size":4837,"stargazers_count":43,"open_issues_count":21,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-02-06T12:52:20.012Z","etag":null,"topics":["2d-game-engine","cpp20","game-development","game-engine","github-actions","iceshard"],"latest_commit_sha":null,"homepage":"https://www.iceshard.net/engine","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/iceshard-engine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-06-10T08:24:10.000Z","updated_at":"2025-12-14T07:04:47.000Z","dependencies_parsed_at":"2023-01-16T23:45:45.049Z","dependency_job_id":"4fb7aa31-c22c-476b-8680-4d5d2e21fba0","html_url":"https://github.com/iceshard-engine/engine","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/iceshard-engine/engine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iceshard-engine%2Fengine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iceshard-engine%2Fengine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iceshard-engine%2Fengine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iceshard-engine%2Fengine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iceshard-engine","download_url":"https://codeload.github.com/iceshard-engine/engine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iceshard-engine%2Fengine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30287425,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["2d-game-engine","cpp20","game-development","game-engine","github-actions","iceshard"],"created_at":"2024-12-06T00:08:58.760Z","updated_at":"2026-03-09T07:32:23.244Z","avatar_url":"https://github.com/iceshard-engine.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IceShard\n\nA small game engine project with the sole purpose to learn, improve and invent.\nFocusing on the best solution for a given problem while not trying to solve everything.\n\nMore info about the development approach can be found in our [wiki](https://github.com/iceshard-engine/engine/wiki).\n\n## Features\n\nCurrent list of advertisement:\n* Dependency injection based architecture.\n* Support for basic input devices.\n* APIs designed with the 'RAII' principle.\n    * _Exceptions are debug tools and utilities._\n* Inovative resource and asset systems.\n* Data-oriented ECS implementation.\n* Abstracted API for rendering. (Vulkan)\n* Multi-threaded logic and graphics using C++ coroutines.\n\nThid party tools and features:\n* Support for **Tracy** profiler.\n* Optional DevUI API based on **ImGui**. _(ex. disabled in Releaseand Profile builds)_\n* Simple 2D Physics implemented with **Box2D**\n* Loading of common file formats supported with **RapidXML**, **RapidJSON** and **Assimp**.\n* Logging using the **fmt** library.\n* Unit tests written in the **Catch2** framework.\n\n\n### Build status\n\n#### Windows _(Tested)_\n![Code validation result for Windows targets.](https://github.com/iceshard-engine/engine/actions/workflows/build-validate-windows.yaml/badge.svg)\n\n#### Linux _(Tested)_\n![Code validation result for Linux targets.](https://github.com/iceshard-engine/engine/actions/workflows/build-validate-linux.yaml/badge.svg)\n\n#### Android _(Untested)_\n![Code validation result for Android targets.](https://github.com/iceshard-engine/engine/actions/workflows/build-validate-android.yaml/badge.svg)\n\n##### Known issues\n* The x64 binaries do not load properly in emulators\n* The binaries use outdated API Levels and NKD version\n* The binaries are still build with 4 KiB page support instead of required 16 KiB\n\n#### Emscripten _(Tested)_\n![Code validation result for WebAssembly targets.](https://github.com/iceshard-engine/engine/actions/workflows/build-validate-emscripten.yaml/badge.svg)\n\n## Building the engine\n\nA quick overview how to build the engine on your machine.\n\n### Prerequisites\nTo build this engine you will need the following tools and SDKs installed:\n* [Conan Package Manager](https://conan.io/) - Used to manage project dependencies.\n   * This also requires python3 as a dependency.\n* **Windows:**\n   * Visual Studio 2022 _(17.13 or later)_\n   * Windows Kit (10.0.19041.0 or later)\n   * Vulkan SDK _(1.4.313.0 or later)_\n* **Linux:**\n    * Toolchain: Clang-20\n    * Vulkan SDK _(1.4.313.0 or later)_\n* **Android:** _(Outdated)_\n    * Toolchain: NDK-27\n    * AndroidAPI: 29\n* **Web:**\n    * Toolchain: Emscripten-v4.0.9\n* **MacOS:** _(No plans)_\n\n### Configuring Conan\n\nTo properly initialize the workspace, you will need to setup Conan with configurations from the [IceShard-Conan-Config](https://github.com/iceshard-engine/conan-config.git) repository.\nThis contains the Conan clang profiles and remotes that should be used with this project.\n\nThe quickest way to setup Conan for this project is to use the following command:\n\n```\nconan config install https://github.com/iceshard-engine/conan-config.git\n```\n\n### Ice Build Tools\n\nThis project uses its own command line tool named **Ice Build Tools** to provide various utilities that can be used during development.\n\n\n## Contributing\n\nContributions are welcome, however they need to follow the\n[Coding Style](https://github.com/iceshard-engine/coding-style) of the engine and pass the review process.\n\nAdditionally, some contributions might also require additional changes if the implementation does not follow the design principles of this project.\n\nIt is however possible to ask for a separate repository that will and provide new features via modules API. This would only require to follow the aforementioned coding style.\n\n\n## Copyright Information\n\nThe engine is licensed under the [MIT License](LICENSE).\n\nAdditionally, all used third party libraries are mentioned in the [thirdparty/README.md](thirdparty/README.md).\nTheir licenses are available for lookup in [thirdparty/LICENSES.txt](thirdparty/LICENSES.txt)\n\n\n## Acknowledgements\n\nThis project was heavily inspired by several articles, but mostly by the BitSquid development blog.\n\nAdditionally, some parts of the engine were initially based on the **BitSquid Foundation Library** which was discussed here: https://bitsquid.blogspot.com/2012/11/bitsquid-foundation-library.html.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficeshard-engine%2Fengine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficeshard-engine%2Fengine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficeshard-engine%2Fengine/lists"}