Lab 1: Introduction to Unity
Theme : ???
Overview
In this lab, you will create your first game in Unity.
Development Setup
First, download and install Unity Hub for your operating system. Within Unity Hub, you will be able to install different versions of Unity. I strongly reocmmend that you use the 2021.3 LTS version and stick with it for the remainder of the semester. If you and your coding partners are using different versions of Unity, it will be difficult to collaborate. Also, the install is considerable in size, and you should avoid having multiple versions.
Note: Be sure to select the WebGL development options when installing Unity.
Next, download and install Visual Studio Code for your operating system. We will use VSC for our coding this semester.
Finally, follow the following tutorial to make sure you can edit your Unity scripts using Visual Studio Code.
GitHub Practice
Collaborating through GitHub can take some time to gain familiarity and learn best practices. We will start each lab with a standard way to practice using Github to share files.
First, choose one team member (A) to create a repository. Be sure to include the .gitignore for Unity, and add the other team member (B) as a collaborator under the Settings tab.
Next, both A and B should Clone this repository on their local machines.
B will now open Unity and make a new game, which should be saved in your cloned directory. B next adds a 2D Circle to the scene, and saves the game. B will now Stage, Commit, and Push their code to Github.
Now, A should Pull from Github, and will be able to open the game in Unity on their machine,
seeing the Circle.
A next adds a 2D Rectangle to the scene, give it a RigidBody component, and saves the game.
A will now Stage, Commit, and Push their code to Github.
Finally, B will Pull from Github to make sure they can see the falling Rectangle.
You should use this pattern of collaboration to work together in creating your game.
Task
Now, design a game using the tools we have learned so far about Unity, namely
- creating 2D GameObjects with Sprites
- assigning Scripts to GameObjects
- using Physics with RigidBody2D and Collisions2D
- translating Mouse Input.
Your game does not need to be complex, but should be interesting for the user
to play and require some skill.
Your game needs to incorporate at least one of the theme words listed above.
Important: Each team member needs to make substantial contributions to the game through the use of Github and checking in code. You should be making
small edits and updates throughout your work.
Evaluation
Write an evaluation in the README.md document in your repository, which details
- the name of your game
- the intent of your game
- narrative structure
- mechanics
- aesthetics
- joys and struggles while writing this game
- a listing of the attributions for your game assets (art, sounds, etc),
- a paragraph discussing the contributions of each team member to the final game.
How to Hand In
- Make sure your CanvasScaler has been set to Scale With Screen Size.
- Be sure to set the compression to Disabled in the Player Settings.
- Export your game as an HTML5 game using the Build Setting option under the File menu.
- One of your team members should create an account on itch.io.
- Zip the exported directory from Unity, and upload this to itch.io.
- Include a cover image of the game.
- Set the visibility to Public (prefered) or Restricted.
- Share with me the URL to your game on itch.io, and your Github repository.
Once the games have been submitted, I will create a link for you to view them all.Within a week after the lab due date, you must play at least two other games submitted by your classmates. Write at least two sentences: one highlighting a strength of the game in meeting the lab requirements, and one with suggestions for improvement.
Grading Specifications
A Complete lab will
- be interesting to the user and require some skill
- incorporate at least one of the theme words listed above
- use all of the listed Task requirements
- include a complete evaluation document
- be correctly posted on itch.io with cover image
- contain significant and regular contributions on Github from your account
- demonstrate two constructive comments on peer submissions
A Partially Complete lab will
- incorporate at least one of the theme words listed above
- use most of the listed Task requirements
- include an evaluation document
- be posted on itch.io
- contain multiple contributions on Github from your account