{"id":22374654,"url":"https://github.com/blueokiris/x-craft","last_synced_at":"2025-03-26T17:32:54.062Z","repository":{"id":213435624,"uuid":"734094966","full_name":"blueOkiris/x-craft","owner":"blueOkiris","description":"Craft your dream 2D gaming experiences with the X-Craft engine.","archived":false,"fork":false,"pushed_at":"2024-01-03T17:55:32.000Z","size":3017,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T22:49:04.550Z","etag":null,"topics":["2d","cpp","craft","engine","game","source","x"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blueOkiris.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}},"created_at":"2023-12-20T21:20:43.000Z","updated_at":"2023-12-21T18:24:42.000Z","dependencies_parsed_at":"2023-12-21T01:48:16.946Z","dependency_job_id":"12d53a2f-2b17-4ebc-99c5-4c6c0535be9d","html_url":"https://github.com/blueOkiris/x-craft","commit_stats":null,"previous_names":["blueokiris/x-craft"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blueOkiris%2Fx-craft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blueOkiris%2Fx-craft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blueOkiris%2Fx-craft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blueOkiris%2Fx-craft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blueOkiris","download_url":"https://codeload.github.com/blueOkiris/x-craft/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245702112,"owners_count":20658544,"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":["2d","cpp","craft","engine","game","source","x"],"created_at":"2024-12-04T21:18:07.446Z","updated_at":"2025-03-26T17:32:54.033Z","avatar_url":"https://github.com/blueOkiris.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# X-Craft\n\n## Description\n\nCraft your dream 2D gaming experiences with the X-Craft engine.\n\nSemi-inspired by the systems of the GameMaker engine but fully source-code based (C++), the X-Craft engine hopes to be the ideal engine for indie game devs coming from a programming background.\n\nNo longer do you need to figure out how to integrate your abstractions in your engine of choice; build them in regular code and integrate it with the engine by default!\n\n## Building a Game\n\nRequirements:\n\n- SDL, SDL_image, SDL_ttf, and SDL_mixer\n- gcc\n- make\n- Probably Linux system\n  + May work on other \\*nix or even Windows/Mac if set up correctly\n  + Only Linux systems are officially supported tho\n\nNix users can create a valid shell via `nix-shell`\n\n1. Fork project. You're probably not going to touch the things in the `(src|include)/engine/` folders, but you will mess with everything else\n2. Add your images and audio to the proper folders\n3. Load your images and audio into the proper global hashmaps a la examples in `main.cpp`\n4. Create your custom GameObjects in the `(src|include)/gameobjs/` folders to define behavior for your game (see `Player.h/cpp` and `Brick.h/cpp` for examples)\n   - This is also where you define sprites for animation frames\n5. Create rooms to hold instances of GameObjects in the `(src|include)/rooms/` folders (see `Room0.h/cpp` for examples)\n6. Replace `x-craft` with the name of your game in the `Makefile` and in `src/engine/globals.cpp`\n7. Run `make` to build your binary\n\nCheck out the `x-snake` branch for an example of how to make a game in the engine.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblueokiris%2Fx-craft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblueokiris%2Fx-craft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblueokiris%2Fx-craft/lists"}