|
| 1 | +# unity-junior-basic-gameplay-prototype-2 |
| 2 | + |
| 3 | +## Screenshots |
| 4 | + |
| 5 | +https://github.com/user-attachments/assets/9ca339ff-f45a-4c4f-9527-3bd61ed43b1e |
| 6 | + |
| 7 | +https://github.com/user-attachments/assets/fccb4b1c-5a48-4b6a-afde-f4744f5ff58f |
| 8 | + |
| 9 | +## Table of Contents |
| 10 | +1. [Description](#description) |
| 11 | +2. [Installation](#installation) |
| 12 | +3. [Run](#run) |
| 13 | +4. [Credits](#credits) |
| 14 | +5. [Contributing](#contributing) |
| 15 | +6. [License](#license) |
| 16 | + |
| 17 | +## Description |
| 18 | + |
| 19 | +This prototype is part of the Junior Programmer Pathway from Unity Learn. Its purpose is to teach the fundamentals of basic gameplay through scripting in C#. |
| 20 | +Each prototype includes: |
| 21 | +- A Learning section that guides you through building core features step by step. Later, you can complete bonus challenges categorized from easy to expert |
| 22 | +- A Challenge section where you're given a broken or incomplete project to fix and extend, testing your understanding and problem-solving skills. |
| 23 | + |
| 24 | +### Purpose |
| 25 | + |
| 26 | +The objective of this prototype is to create two simple games: |
| 27 | + |
| 28 | +- **Feed the Animal** : A top-down game where animals run across the screen, and your goal is to feed them with pizzas. |
| 29 | +- **Catch the Ball** : Balls fall from the top, and you can summon a dog to run from right to left and catch them. |
| 30 | + |
| 31 | +#### Bonus Features (for Feed the Animal) : |
| 32 | +- Player can move forward/backward within a limited range. |
| 33 | +- Animals also spawn from the left and right; collisions cause a Game Over. |
| 34 | +- Console displays: |
| 35 | + - Lives = 3, Score = 0 at start. |
| 36 | + - Score increases when feeding animals. |
| 37 | +- Each animal has a hunger bar that fills with each feeding. |
| 38 | + - Different animals require different amounts of food to be satisfied. |
| 39 | + |
| 40 | +#### Fixing problems (For Catch the Ball) : |
| 41 | +- Dogs are spawning at the top of the screen -> Make the balls spawn from the top of the screen. |
| 42 | +- The player is spawning green balls instead of dogs -> Make the player spawn dogs . |
| 43 | +- The balls are destroyed if anywhere near the dog -> The balls should only be destroyed when coming into direct contact with a dog. |
| 44 | +- Nothing is being destroyed off screen -> Balls should be destroyed when they leave the bottom of the screen and dogs should be destroyed when they leave the left side of the screen. |
| 45 | +- Only one type of ball is being spawned -> Ball 1, 2, and 3 should be spawned randomly. |
| 46 | +- The spawn interval is always the same -> Make the spawn interval a random value between 3 seconds and 5 seconds. |
| 47 | +- The player can “spam” the spacebar key -> Only allow the player to spawn a new dog after a certain amount of time has passed. |
| 48 | +## Controls |
| 49 | + |
| 50 | +**Feed the Animal** (Player 1) |
| 51 | +| **Key** | **Action** | |
| 52 | +|:-------:|----------------------| |
| 53 | +| `W` or `↑`| Move forward | |
| 54 | +| `S` or `↓`| Move backward | |
| 55 | +| `A` or `←`| Turn left | |
| 56 | +| `D` or `→`| Turn right | |
| 57 | +| `ESCAPE` | Return to menu | |
| 58 | + |
| 59 | +**Catch the Ball** |
| 60 | +| **Key** | **Action** | |
| 61 | +|:-------:|----------------------| |
| 62 | +| `SPACE` | Let the dog run | |
| 63 | +| `ESCAPE` | Return to menu | |
| 64 | + |
| 65 | +### Technologies used |
| 66 | + |
| 67 | +- **Unity** – Version 6000.0.47f1 |
| 68 | +- **C#** – Used for gameplay scripting |
| 69 | + |
| 70 | +### Challenges and Future Features |
| 71 | + |
| 72 | +One of the main challenges in this project was creating and interacting with a health bar. Through this process, I started to understand how the canvas works and, as a result, improved my skills for future prototypes. |
| 73 | + |
| 74 | +## Installation |
| 75 | + |
| 76 | +You can download pre-built releases for your supported operating system from the GitHub Releases page. Available builds include: |
| 77 | +- macOS |
| 78 | +- Windows |
| 79 | +- Linux |
| 80 | + |
| 81 | +## Run |
| 82 | + |
| 83 | +To run the program, simply double-click the executable file for your operating system. |
| 84 | + |
| 85 | +### MacOS |
| 86 | + |
| 87 | +Unzip and open the .app file. |
| 88 | + |
| 89 | +### Windows |
| 90 | + |
| 91 | +Unzip and double-click the .exe file. |
| 92 | + |
| 93 | +### Linux |
| 94 | + |
| 95 | +```bash |
| 96 | +chmod +x Vehicle_game.x86_64 |
| 97 | +./Vehicle_game.x86_64 |
| 98 | +``` |
| 99 | + |
| 100 | +### Web |
| 101 | + |
| 102 | +Play on [browser](https://vpekdas.github.io/unity-junior-player-control-prototype-2/) |
| 103 | + |
| 104 | +## Credits |
| 105 | + |
| 106 | +This project is based on the Unity **Junior Programmer Pathway** by Unity Learn. |
| 107 | +Many thanks to the instructors for their excellent step-by-step video tutorials and guidance. |
| 108 | + |
| 109 | +## Contributing |
| 110 | + |
| 111 | +To report issues, please create an issue here: [issue tracker](https://github.com/Vpekdas/unity-junior-player-control-prototype-1/issues). |
| 112 | + |
| 113 | +If you'd like to contribute, please follow the steps outlined in [CONTRIBUTING.md](CONTRIBUTING.md). |
| 114 | + |
| 115 | +## License |
| 116 | + |
| 117 | +This project is licensed under the [MIT License](LICENSE). |
0 commit comments