{"id":34519428,"url":"https://github.com/iamstrix/winforms-2d-shooter-sandbox","last_synced_at":"2026-04-18T23:04:07.477Z","repository":{"id":327806958,"uuid":"1103086294","full_name":"iamstrix/winforms-2d-shooter-sandbox","owner":"iamstrix","description":"A 2D shooter made in WinForms with self-programmed bullet trajectory calculation. Features sandbox tools and live statistics. Discontinued due to discovery of WinForms' strict integer-based component coordinate system. ","archived":false,"fork":false,"pushed_at":"2025-12-17T20:11:22.000Z","size":65,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-21T07:46:53.119Z","etag":null,"topics":["csharp","visual-studio","winforms"],"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/iamstrix.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":"2025-11-24T12:11:34.000Z","updated_at":"2025-12-17T20:11:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/iamstrix/winforms-2d-shooter-sandbox","commit_stats":null,"previous_names":["iamstrix/winforms-2d-shooter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iamstrix/winforms-2d-shooter-sandbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamstrix%2Fwinforms-2d-shooter-sandbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamstrix%2Fwinforms-2d-shooter-sandbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamstrix%2Fwinforms-2d-shooter-sandbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamstrix%2Fwinforms-2d-shooter-sandbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamstrix","download_url":"https://codeload.github.com/iamstrix/winforms-2d-shooter-sandbox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamstrix%2Fwinforms-2d-shooter-sandbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31987885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"ssl_error","status_checked_at":"2026-04-18T20:23:29.375Z","response_time":103,"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":["csharp","visual-studio","winforms"],"created_at":"2025-12-24T04:35:45.191Z","updated_at":"2026-04-18T23:04:07.468Z","avatar_url":"https://github.com/iamstrix.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discontinued 2D shooter with sandbox tools to apply OOP concepts.\n\nC#, .NET, WinForms, Visual Studio\n\nThroughout development, I realized that WinForms only uses integers for component coordinates, leading to floor division when calculating bullet trajectory, which ultimately ruined the whole thing. Programming the bullet trajectory calculation by myself was the aspect I had the most fun with during this project. The caveat for the trajectory calculation, though is that bullet velocity scales depending on how far the target is from the player, as I could not perform vector normalization given the limitation of WinForms' strict integer data type usage. \n\n\u003cimg width=\"1872\" height=\"950\" alt=\"Screenshot 2025-12-18 033639\" src=\"https://github.com/user-attachments/assets/cf13696f-4fc4-405b-b87d-3886a274d4aa\" /\u003e\n\n*player shooting bullets, with enemies on screen*\n\n\u003cimg width=\"1868\" height=\"951\" alt=\"Screenshot 2025-12-18 033900\" src=\"https://github.com/user-attachments/assets/c7ecd3b6-a17a-49c0-b369-f288d49fcbff\" /\u003e\n\n*player alongside all enemies displayed*\n\nPlayer features: \n- Shoot bullets, click anywhere\n\nEnemy features:\n- Three enemy types\n- Normal\n- Boss\n- Superboss\n\nSandbox tools:\n- Player x, y relocation\n- Adjust bullet speed - random x, y changes to initial velocity\n- Adjust bullet spread variance - scale of x, y variance for each builet\n- Adjust bullet shoot count - how many bullets are shot per click\n- Spawn enemy button\n- Remove all bullets on screen\n- Remove all enemies on screen\n\nStatistics display (upper left and right-most side):\n- Mouse coordinates\n- Player coordinates\n- Last-clicked coordinates\n- Object count\n- Velocity (old testing statistic, can't bother to fix/remove)\n- Bullet bounce limit\n- Enemy count\n- Bullet count\n- Player to current mouse distance for trajectory calculation\n- Calculated trajectory (displays different x, y quotients as the formula for this label uses a different divisor value than the actual bullet trajectories displayed at the right-most portion of the program\n- Bullet trajectory history at the right-most side - shows actual bullet trajectory values\n\nFeature I did not bother fixing:\n\n\u003cimg width=\"237\" height=\"326\" alt=\"image\" src=\"https://github.com/user-attachments/assets/75074104-5e5b-4d83-9e15-39452e966a89\" /\u003e\n\n- Old manual bullet trajectory adjuster, before I programmed my own click-to-shoot trajectory calculation\n\n# Run Without Visual Studio\n1. Open Terminal\n2. Clone repository to a specified file path\n3. cd into file path with the solution file *.\\shooter\\winforms-2d-shooter\\RogueLike1*\n4. run dotnet restore\n5. run dotnet run\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamstrix%2Fwinforms-2d-shooter-sandbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamstrix%2Fwinforms-2d-shooter-sandbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamstrix%2Fwinforms-2d-shooter-sandbox/lists"}