The Asteroid template
The video tutorials
- part 1 – project anatomy, Unity intro, game object, components, assets, prefabs
- part 2 – scripting in Unity, controls, instantiation, components
- part 3 – randomization, end condition, screen and camera, sound
Watch the 3 videos in their entirety (they are about 3 hours total) and familiarize with the code by incorporating as many of the following features:
- Tweak the ship controls to make them more “tight” and less prone to inertia like in this implementation
- Make it so you can shoot by holding the button down but limit the rate of bullets so it doesn’t get too easy
- The game currently has a bug: the asteroids only split once instead of going through big, medium, and small sizes. Fix it (it just needs one inspector tweak).
- Reskin the game by replacing graphics, font, animations, effects, and sounds. Come up with a visually consistent style/theme, eg: claymation, insects, pencil drawn etc…
- Implement a different kind of bullet that changes the asteroids clearing dynamic
- Implement a shield triggered by the “down” input that makes the ship invulnerable and able to destroy asteroids on contact. The shield has an energy that runs out in 2 seconds and takes about 20 seconds to recharge completely. Add a bar on the interface that visualizes the shield energy.
- Make the game two player, either competitive or cooperative, by tweaking input mapping, spawn points, and end conditions.
- Add a flying saucer like in this implementation
- If you already have a gameplay variant that is easy to prototype, do it (you may want to create a copy of the project to be able to present the features above)
Delivery: see if you can build it for WebGL and upload it somewhere so it can be played from the browser. Otherwise make a build that runs on your computer.
Unity Version Control with Plastic SCM
Watch this video:
One person per team should be in charge of setting up the repository:
- Sign up here to Plastic, linking it to your unity account.
- Plastic SCM has free tier that should work for us: free if it’s free below 5GB and up to 3 people teams but unfortunately you’ll have to insert a credit card for each team. Let me know if you encounter expenses.
- Due to recent acquisitions the interface is a mess with a lot of redundant and beta stuff so be patient.
- You have to create a plastic cloud organization from the dashboard – go to dev ops > plastic SCM > organizations
(or from the Plastic control panel)
- Go to members and groups add your team members by looking up the email associated to their unity account.
- Download the Asteroid template from github https://github.com/molleindustria/asteroids-unity
To download: code > download zip > unzip
- Open it from the Unity hub
- If you don’t see a Plastic SCM icon on the Unity interface go Window > package manager.
Select Unity Registry > search version control and click install
Click on the Plastic icon to open the panel and follow the step by step process to link it to your account and create a repository. Make sure you create a workspace that matches your Plastic organization name like alteroids@organizationname@cloud
- If the repository has been created from the Plastic panel select all the files and do your first check in (commit), uploading all the files of the project
Every other member of the team should be able to contribute to the repository:
- Create a Unity member and make sure the team leader added you to the Plastic organization
- Open the unity hub, make sure you have the same version as the team leader installed, open remote project (arrow next to open in the hub) you should see the repository.
- Open the repository, it may take a while because it has to download GB of data and install the Plastic package.
- Try to do some minor changes, check them in and receive incoming changes from your team mates.