{"id":20909804,"url":"https://github.com/gusruben/winball","last_synced_at":"2025-08-29T21:39:03.155Z","repository":{"id":259119005,"uuid":"869398493","full_name":"gusruben/winball","owner":"gusruben","description":"A little pinball game made for MS-DOS!","archived":false,"fork":false,"pushed_at":"2024-12-17T02:22:11.000Z","size":6196,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T08:30:39.815Z","etag":null,"topics":["allegro","c","game","hackclub","msdos","msdos-game","pinball","windows"],"latest_commit_sha":null,"homepage":"","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/gusruben.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}},"created_at":"2024-10-08T08:24:10.000Z","updated_at":"2025-02-13T04:57:08.000Z","dependencies_parsed_at":"2025-04-11T08:21:57.175Z","dependency_job_id":"f9bc7af8-e9e1-4ff1-b55d-03169b73eae5","html_url":"https://github.com/gusruben/winball","commit_stats":null,"previous_names":["gusruben/winball"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/gusruben/winball","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusruben%2Fwinball","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusruben%2Fwinball/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusruben%2Fwinball/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusruben%2Fwinball/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gusruben","download_url":"https://codeload.github.com/gusruben/winball/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusruben%2Fwinball/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272766918,"owners_count":24989407,"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","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["allegro","c","game","hackclub","msdos","msdos-game","pinball","windows"],"created_at":"2024-11-18T14:12:55.263Z","updated_at":"2025-08-29T21:39:03.135Z","avatar_url":"https://github.com/gusruben.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    \u003cimg height=\"300\" src=\"https://raw.githubusercontent.com/gusruben/winball/master/.github/title.gif\" alt=\"Winball\"\u003e\n\u003c/h1\u003e\n\n**Winball** is a little pinball game made for MS-DOS using [Allegro](https://liballeg.org/). Winball was made for [Retrospect](https://retrospect.hackclub.com). \n\n\u003e **Messy code alert!** This was my first time using C, beware spaghetti code and bad practices!\n\n## Running\n\nUnless you're planning on running the game on a 35-year-old computer, Winball can be run on any DOS emulator. During development, I used [DOSBox Staging](https://www.dosbox-staging.org/).\n\n### From Releases\n\n1. Download \u0026 extract [the latest ZIP file from releases](https://github.com/gusruben/winball/releases/latest).\n2. Mount the folder in DOSBox (or an equivalent) using `mount C C:\\path\\to\\folder`\n3. Start the game with `run.bat`!\n\n### From Source\n\nThe easiest way to compile Winball with Allegro is likely [DJGPP](https://www.delorie.com/djgpp/), a C/C++ development system for DOS PCs.\n\n1. Download DJGPP from https://www.delorie.com/djgpp/zip-picker.html - Check the box for 'Allegro' under toolkits. Select an HTTP mirror if you don't want to use FTP.\n2. Download the listed zip files, and extract them all into the same folder. Clone Winball next to it.\n3. Mount the parent folder in DOSBOX (or your DOS emulator of choice): `mount C C:\\path\\to\\folder`\n4. Set the environment variables:\n    - `set PATH=C:\\DJGPP\\BIN;%PATH%` (Note: this is the path from inside the DOS emulator, not from your main system)\n    - `set DJGPP=C:\\DJGPP\\DJGPP.ENV`\n5. `cd` to the Winball folder, and compile it with `gcc -o winball.exe main.c -lalleg`\n6. Run `winball.exe`!\n\n## Demo\n\n\u003e Video not working? Try watching it [here](https://github.com/user-attachments/assets/4fc3fa43-2a16-4f3e-a1d3-24e993795fd0).\n\nhttps://github.com/user-attachments/assets/4fc3fa43-2a16-4f3e-a1d3-24e993795fd0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgusruben%2Fwinball","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgusruben%2Fwinball","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgusruben%2Fwinball/lists"}