{"id":16651932,"url":"https://github.com/syegulalp/blobs","last_synced_at":"2026-05-25T15:02:56.888Z","repository":{"id":212574897,"uuid":"731828719","full_name":"syegulalp/blobs","owner":"syegulalp","description":"A simple example of a twin-stick shooter game with many entities, written in Python","archived":false,"fork":false,"pushed_at":"2023-12-16T22:41:24.000Z","size":256,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T08:46:52.222Z","etag":null,"topics":["pyglet","python","video-game"],"latest_commit_sha":null,"homepage":"","language":"Python","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/syegulalp.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}},"created_at":"2023-12-15T01:24:16.000Z","updated_at":"2023-12-15T01:25:43.000Z","dependencies_parsed_at":"2023-12-15T03:13:17.734Z","dependency_job_id":"c0d748d2-a394-4045-b1d4-92283d73037f","html_url":"https://github.com/syegulalp/blobs","commit_stats":null,"previous_names":["syegulalp/blobs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syegulalp%2Fblobs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syegulalp%2Fblobs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syegulalp%2Fblobs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syegulalp%2Fblobs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syegulalp","download_url":"https://codeload.github.com/syegulalp/blobs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243248110,"owners_count":20260748,"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":["pyglet","python","video-game"],"created_at":"2024-10-12T09:27:03.156Z","updated_at":"2025-12-25T15:34:25.306Z","avatar_url":"https://github.com/syegulalp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is a simple example of how to use Pyglet to create a \"twin-stick shooter\" -style game.\r\n\r\n![](screenshot.jpg)\r\n\r\nYou move the blue human with the arrow keys, and fire bullets with the `WASD` key cluster.\r\n\r\nA simple space partitioning algorithm is used to detect collisions between all of the enemies and each other, as well as yourself. This way hundreds of enemies can be on screen at once with relatively little performance impact.\r\n\r\nThis example will continue to be updated over time, but you are free to use it as a basis for your own games.\r\n\r\n## Setup\r\n\r\nCreate a virtual environment, and `pip install` the contents of the archive.\r\n\r\nUse `blobs.exe` to launch a windowed version of the game, and `blobs_c.exe` to launch one with a console for debugging information.\r\n\r\n\r\n## Creating a standalone executable (Win32 only)\r\n\r\nI've designed this project to be redistributable as a Windows .exe with my `pydeploy` project. To that end, this project can be used as the basis for a redistributable game.\r\n\r\n1. `pip install git+https://github.com/syegulalp/pydeploy` in the venv where you installed the game. (You will need `git` for this to work. You can also make a local copy of that repo and `pip install` from that.)\r\n2. Run `pydeploy .` to create a `deploy_\u003cpython version\u003e` subdirectory. The subdir will contain a `.zip` archive of the game, along with a `dist` subdirectory that contains the contents of the achive.\r\n\r\n## License\r\n\r\nMIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyegulalp%2Fblobs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyegulalp%2Fblobs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyegulalp%2Fblobs/lists"}