{"id":42165715,"url":"https://github.com/pedramcode/raygame","last_synced_at":"2026-01-26T21:01:01.446Z","repository":{"id":172231224,"uuid":"649018712","full_name":"pedramcode/raygame","owner":"pedramcode","description":"Raylib game attempt :)","archived":false,"fork":false,"pushed_at":"2023-06-04T14:26:41.000Z","size":527,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-06-04T15:24:22.649Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pedramcode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-06-03T14:15:58.000Z","updated_at":"2023-06-04T15:24:22.649Z","dependencies_parsed_at":"2026-01-26T21:00:23.457Z","dependency_job_id":null,"html_url":"https://github.com/pedramcode/raygame","commit_stats":null,"previous_names":["pedramcode/raygame"],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/pedramcode/raygame","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedramcode%2Fraygame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedramcode%2Fraygame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedramcode%2Fraygame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedramcode%2Fraygame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pedramcode","download_url":"https://codeload.github.com/pedramcode/raygame/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pedramcode%2Fraygame/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28788064,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T13:55:28.044Z","status":"ssl_error","status_checked_at":"2026-01-26T13:55:26.068Z","response_time":59,"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":[],"created_at":"2026-01-26T21:00:27.538Z","updated_at":"2026-01-26T21:01:01.394Z","avatar_url":"https://github.com/pedramcode.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Raygame\n\nThis is an attempt to making a game, and game engine for that game (LOL) using C language (Raylib)\n\n## Architecture\nI'm proud of this arch I came up with :D\n\n### State manager\nIt's a crucial part of any game engine. It's simply means what user sees and interacts to. Play state, Menu state, Pause state, etc. State manager handles all this states and transitions between them.\n\nBecause I wrote this game/game engine using C language, I have to forget about OOP. So I managed to handle states and they behaviors separately in a neat way, using making advantage of how structures and function pointers stores in RAM (and a bit of MACRO magic :D ).\n\n### ECS\nIt's the main architecture of data flow and behavior management of game engine. **Entity-Component-System** is an architectural pattern that is very suitable (And I mean that wholeheartedly) for game engines. \n\n### Resource management\nResource manager uses a HashTable to store and retrieve objects to and from memory.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedramcode%2Fraygame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpedramcode%2Fraygame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpedramcode%2Fraygame/lists"}