{"id":21252676,"url":"https://github.com/atomicptr/cpp-game-template","last_synced_at":"2025-03-15T05:40:57.096Z","repository":{"id":255347549,"uuid":"846001155","full_name":"atomicptr/cpp-game-template","owner":"atomicptr","description":"A simple C++ game template using Raylib for making games on Linux","archived":false,"fork":false,"pushed_at":"2025-02-23T12:05:02.000Z","size":60,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-07T00:37:43.822Z","etag":null,"topics":["cpp","game-development","hot-reload","raylib","template-project"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"0bsd","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atomicptr.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}},"created_at":"2024-08-22T10:51:30.000Z","updated_at":"2025-02-23T12:05:05.000Z","dependencies_parsed_at":"2024-08-29T12:42:43.266Z","dependency_job_id":"8c149921-72ff-43fa-b0c6-f6b4969a331d","html_url":"https://github.com/atomicptr/cpp-game-template","commit_stats":null,"previous_names":["atomicptr/cpp-game-template"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicptr%2Fcpp-game-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicptr%2Fcpp-game-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicptr%2Fcpp-game-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomicptr%2Fcpp-game-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atomicptr","download_url":"https://codeload.github.com/atomicptr/cpp-game-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243690124,"owners_count":20331726,"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","game-development","hot-reload","raylib","template-project"],"created_at":"2024-11-21T03:48:24.943Z","updated_at":"2025-03-15T05:40:57.089Z","avatar_url":"https://github.com/atomicptr.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C++ Game Template\n\nA simple C++ game template using Raylib for making games on Linux\n\n## Features\n\n- Code hot reloading\n- Web export (emscripten)\n- Windows builds (cross compiling / mingw)\n- CI and CD using Github Actions, creates a Linux, Windows and Web release build on tags\n\n## Requirements\n\n- Devenv\n\nIf not using devenv you need to install these on your own:\n\n- [babashka](https://babashka.org/) - Used for some scripts (required for hot reload)\n- CMake (3.30+)\n- gcc 14+\n- Emscripten (used for web export)\n- mingw (for windows cross compilation)\n\n## How to use\n\n### Just run\n\nJust do\n\n```bash\n$ just run\n```\n\n### Hot reloading\n\nThis will launch a babashka script that checks for changes in src/game and builds a dynamic library which the executable will load and replace some function pointers\n\n```bash\n$ just dev\n```\n\n### Web\n\nThis will start a web server usually at port 8080 (look into the terminal) and compile the game. This will also auto rebuild on changes although you need to reload the website (disable cache, do Ctrl + F5)\n\n```bash\n$ just web\n````\n\n### Building releases\n\nAll release commands start with **xbuild-...** and the builds can be found in **build/xbuild/...**\n\n#### Linux\n\n```bash\n$ just xbuild-linux\n```\n\n#### Windows\n\n```bash\n$ just xbuild-windows\n```\n\n#### Web\n\n```bash\n$ just xbuild-web\n```\n\n## License\n\nBSD 0-Clause\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomicptr%2Fcpp-game-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatomicptr%2Fcpp-game-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomicptr%2Fcpp-game-template/lists"}