{"id":29041868,"url":"https://github.com/vpekdas/unity-junior-user-interfaces-prototype-5","last_synced_at":"2026-04-16T11:02:09.445Z","repository":{"id":300234924,"uuid":"1005622019","full_name":"Vpekdas/unity-junior-user-interfaces-prototype-5","owner":"Vpekdas","description":"Two Unity mini-games with UI, audio, swipe input and gameplay polish challenges.","archived":false,"fork":false,"pushed_at":"2025-06-24T13:19:53.000Z","size":30781,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-18T07:29:58.911Z","etag":null,"topics":["unity","unity-learning"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Vpekdas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-20T14:24:22.000Z","updated_at":"2025-06-24T13:19:57.000Z","dependencies_parsed_at":"2025-06-24T13:56:00.287Z","dependency_job_id":null,"html_url":"https://github.com/Vpekdas/unity-junior-user-interfaces-prototype-5","commit_stats":null,"previous_names":["vpekdas/unity-junior-prototype-5","vpekdas/unity-junior-user-interfaces-prototype-5"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Vpekdas/unity-junior-user-interfaces-prototype-5","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-user-interfaces-prototype-5","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-user-interfaces-prototype-5/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-user-interfaces-prototype-5/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-user-interfaces-prototype-5/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vpekdas","download_url":"https://codeload.github.com/Vpekdas/unity-junior-user-interfaces-prototype-5/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vpekdas%2Funity-junior-user-interfaces-prototype-5/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31882886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T09:23:21.276Z","status":"ssl_error","status_checked_at":"2026-04-16T09:23:15.028Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["unity","unity-learning"],"created_at":"2025-06-26T15:03:01.162Z","updated_at":"2026-04-16T11:02:09.426Z","avatar_url":"https://github.com/Vpekdas.png","language":"C#","readme":"# unity-junior-user-interfaces-prototype-5\n\n## Screenshots\n\nhttps://github.com/user-attachments/assets/8d31cd72-c651-43f0-bde8-66cc16106b22\n\n## Table of Contents\n1. [Description](#description)\n2. [Installation](#installation)\n3. [Run](#run)\n4. [Credits](#credits)\n5. [Contributing](#contributing)\n6. [License](#license)\n\n## Description\n\nThis prototype is part of the Junior Programmer Pathway from Unity Learn. Its purpose is to teach the fundamentals of gameplay mechanics through scripting in C#.\nEach prototype includes:\n- A Learning section that guides you through building core features step by step.\n- A Challenge section where you're given a broken or incomplete project to fix and extend, testing your understanding and problem-solving skills.\n\n### Purpose\n\nThe objective of this prototype is to create two simple games:\n\n- **Crates Ninja** : Slash crates with your mouse as they fly across the screen—but watch out for the skulls! Hitting one will cost you.\n- **Whack-a-Food** : Click on the food items as quickly as possible as they pop up! The faster you are, the higher your score.\n\n#### Bonus Features (Crates Ninja) :\n\n- Create a \"Lives\" UI element that counts down by 1 when an object leaves the bottom of the screen and triggers Game Over when Lives reaches 0.\n- Add background music and a UI Slider element to adjust the volume.\n- During gameplay, allow the user to press a key to toggle between pausing and resuming the game, where a pause screen comes up while the game is paused. \n- Program click-and-swipe functionality instead of clicking, generating a trail where the mouse has been dragged. This does make the game easier, so you might also want to increase the gameplay difficulty on all levels if you implement this.\n\n#### Fixing problems (Whack-a-Food) : \n\n- The difficulty buttons look messy -\u003e Center the text on the buttons horizontally and vertically.\n- The food is being destroyed too soon -\u003e The food should only be destroyed when the player clicks on it, not when the mouse touches it.\n- The Score is being replaced by the word “score” -\u003e It should always say, “Score: __“ with the value displayed after “Score:”.\n- When you lose, there’s no way to Restart -\u003e Make the Restart button appear on the game over screen.\n- The difficulty buttons don’t change the difficulty -\u003e The spawnRate is always way too fast. When you click Easy, the spawnRate should be slower - if you click Hard, the spawnRate should be faster.\n- The game can go on forever -\u003e Add a “Time: __” display that counts down from 60 in whole numbers (i.e. 59, 58, 57, etc) and triggers the game over sequence when it reaches 0.\n\n## Controls\n\n**Crates Ninja**\n| **Key** | **Action**    |\n|:-------:|---------------|\n| `Escape`| Pause the Game|\n| `Q`     |Quit the game  |\n\nClick and drag your mouse to slash through the crates.\n\n**Whack-a-Food**\n| **Key** | **Action**    |\n|:-------:|---------------|\n| `Q`     |Quit the game  |\n\nSimply click on the food items as they appear.\n\n### Technologies used\n\n- **Unity** – Version 6000.0.47f1\n- **C#** – Used for gameplay scripting\n  \n### Challenges and Future Features\n\nOne of the biggest challenges in this project was implementing the slashing trail effect in Crates Ninja. I discovered Unity's Trail Renderer, which was a great help. The next step was figuring out how to accurately track the mouse's start and end positions in order to draw the trail effectively.\n\nAnother key step was converting the screen position of the mouse to world coordinates.\n\n## Installation\n\nYou can download pre-built releases for your supported operating system from the GitHub Releases page. Available builds include:\n- macOS\n- Windows\n- Linux\n\n## Run\n\nTo run the program, simply double-click the executable file for your operating system.\n\n### MacOS\n\nUnzip and open the .app file.\n\n### Windows\n\nUnzip and double-click the .exe file.\n\n### Linux\n\n```bash\nchmod +x Prototype_5_Linux.x86_64\n./Prototype_5_Linux.x86_64\n```\n\n### Web\n\nPlay on [browser](https://vpekdas.github.io/unity-junior-user-interfaces-prototype-5)\n\n## Credits\n\nThis project is based on the Unity **Junior Programmer Pathway** by Unity Learn.\nMany thanks to the instructors for their excellent step-by-step video tutorials and guidance.\n\n## Contributing\n\nTo report issues, please create an issue here:  [issue tracker](https://github.com/Vpekdas/unity-junior-user-interfaces-prototype-5/issues).\n\nIf you'd like to contribute, please follow the steps outlined in [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpekdas%2Funity-junior-user-interfaces-prototype-5","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvpekdas%2Funity-junior-user-interfaces-prototype-5","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpekdas%2Funity-junior-user-interfaces-prototype-5/lists"}