Lab 1: Introduction to Unity

Theme : Diamond Cat Rocket

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.

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.

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 and a screenshot of the game.
  • Set the visibility to Restricted or Public (prefered).
  • Share with me the URL to your game on itch.io, and your Github repository.

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
  • contain significant and regular contributions on Github from your account

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