Snowboarder Game
About
Ride your snowboard down hills and off ramps in your race to the end of the levels!
This is a small prototype game intended to demonstrate my current Unity skills. After completing GameDev.tv's project taught in section three of their course "Complete C# Unity Game Developer 2D," I added to the game to cement my knowledge before continuing my learning journey. The following is a list of additions I made:
- Added a fade-in/out transition when changing screens.
- Added sound effects for button clicks, sliding on the snow, countdown queues, and bird chirping background noise.
- Added a menu with a title, a continuously playing animation, and start and quit buttons.
- Added a level list with a continuously playing animation, a button for each level, a back-to-menu button, and an info/help tab button.
- Added an info/help tab to explain the objective of the game and player controls.
- Edited the character's 2D sprite in Paint.net.
- Added a second and third level.
- Fixed a bug where the player's movement speed was directly proportional to the speed of the computer. Now, the player's speed is constant, regardless of the speed of the computer.
- Fixed a bug where the player could rotate counter-clockwise anytime, but rotate clockwise only if not already rotating counter-clockwise. Now, the player can rotate both directions anytime.
- Added a three-second countdown timer before starting a level, which pauses player movement.
- Added a stopwatch, which starts at the end of the countdown and stops at the end of the level.
- Added a pause menu that displays when the game was paused with a back-to-level-list button and a menu button. It stops the stopwatch and prevents the player from moving while the menu is up.
- Added a death menu that appears when the player dies, with a menu button. It stops the player's movement and progress.
- Added an end game menu, which displays the final time it took to complete the level, with a menu button. It stops all controls but does not stop character movement.
- Added a project build name.
- Added a project build icon.
- Removed the Unity splash screen.
- Built the project for Windows and WebGL, and uploaded it to itch.io
Adding on to the game was an educational experience. The following is a list of important concepts I learned while implementing additions:
- Learned how to access separate scripts and game objects.
- Learned what the public and private keywords do.
- Learned simple use of coroutines.
- Learned simple creation, rigging, and use of animations.
- Learned how to implement sound effects or background noise into a game.
- Learned how to create my own sprites in Paint.net.
- Learned how to create and use Unity prefabs.
- Learned how to create custom sprites and use them in a project.
- Learned proper UI scaling for all aspect ratios.
- Learned how to declare and use a Vector3 variable.
- Learned how to create circular buttons.
- Learned how to edit multiple scenes at the same time.
- Learned how to activate and deactivate game screens.
- Learned how to change a project build name.
- Learned how to change the game icon.
- Learned how to remove or change the default unity splash screen.
- Learned how to build for Windows and WebGL applications.
I crudely implemented some features to finish the game on time. Taking the time to learn the proper way to implement every addition I made would be outside the scope of this small project. In the future, I plan on adding more levels and properly optimizing the game.
Please give your feedback. Thank you!