Week 3: Jan 24
Jan 24 | Location: CMCI Studio Shop
Agenda
- Discussion
- Unity Review
- Project organization
- Managing GameObjects and Prefabs
- Navigation and interface
- Package Manager
- Visual Studio vs VS Code
- Visual Studio works fine for most people getting started with coding in C# and with Unity. You likely installed it when installing Unity.
- Unity Development with VS Code - Start here. This contains the instructions to setup VS Code as your default Unity editor. Watch the walkthrough video below to see how to setup on macOS.
- Tutorial: How to setup VS Code for Unity with Autocomplete on macOS
- Roll-a-Ball Review
- Questions?
- Creating a build of your Unity game or project
- Why create a build? A build (.app or .exe) can be shared and run on another computer.
- Review build settings and player settings
- Building for WebGL (This is what you do in tutorial. Mona learning resources (below) require WebGL builds.)
- Building for mobile - Ex. Roll-a-Ball for Mobile
- Tutorial: How to Create a Build
- In the wild - Metaverse, Multiverse, Mirrorworld
- Break - 10 mins
- C# Coding Resources
- Unity Work Session
- Brainstorm Roll-a-Ball v2.0 ideas
- Discuss possible directions to take this project
- How to use the Unity Input System
- How to use XBox and PS4 game controllers
In the Wild
Each week I will share industry news relevant to the topics and themes of this course. We may or may not discuss every thing here each week in class but it's worth spending time learning about the state of things. Tech is always moving. Be sure to spend time outside of class doing some research on related topics that interest you.
- AR Will Spark the Next Big Tech Platform—Call It Mirrorworld by Kevin Kelly
- What’s All the Hype About the Metaverse?
- What Is the Metaverse, Exactly?
- Mona - A new company enabling the creation of "spaces". They refer to this as "the open metaverse". Look over their guides about how to get started.
- Monaverse - An open project/call for works by Mona. Submissions allowed Jan 1st - Jan. 27th.
- Decentraland - A decentralized virtual world and market place.
- Meta (Facebook) - Watch the keynote to see where Zuck is headed.
- Goodbye Uncanny Valley - A great overview of computer graphics, rendering technologies, and a spectrum of works exploring the future of creative CG.
- Nanome uses VR to build molecules and reality check AI recommendations
Assignment 2: Roll-a-Ball v2.0
This week you will be iterating on the Roll-a-Ball tutorial in Unity. Assuming you worked through and understand each part of the tutorial game, your task is to create a game that expands upon the gameplay. Below are some other possible ways to extend the example.
- Make multiple levels with different challenges.
- Do something interesting with color.
- Change up the game board. Make it interesting.
- Change the attributes of collectibles based on player activity. ie. Collect a certain number of objects, change the color of others.
- Add a time limit before game over.
- Add agents or enemies that get in the way.
- Add obstacles.
- Do something interesting with triggers or colliders. ie. Activate another part of the level when you pass through an entryway or part of the level.
- Add high and low score leader board. Show by completion times.
- Make the player (ball) jump or give it other abilities.
- Make a maze
- Change collectibles in some way that makes the game more challenging. ie. one type adds a point, another type subtracts a point.
- Add sound fx
Resources
- Roll-a-Ball: Building the Game - Look at the Submission Gallery near the bottom of this lesson in the tutorial for some inspiration.
Unity Input System
- Input System Documentation
- Tutorial: Unity: How to Add Move and Jump Actions to Roll-a-Ball game with the Input System
- Tutorial: How to use NEW Input System Package! (Unity Tutorial - Keyboard, Mouse, Touch, Gamepad)
- Tutorial: How to use Unity's Input System
- Tutorial: New Unity Input System: Getting Started - Good reference article from 2020 explaining the basics of the Input System.
- How to Pair XBox or PS4 Game Controllers
C# Scripting
- Coding in C# in Unity for beginners
- Creating and Using Scripts
- Unity Scripting API Reference (Tutorial: How to Search the Unity Scripting Reference)
- Tutorial: How to add Quit Script
- The C# Player's Guide (3rd Edition) by RB Whitaker
Github
- Tutorial: How to use Github templates for sharing Unity projects - Follow this tutorial to learn how to share your Unity project files with Github.
Deliverable:
-
In a blog post, describe how your game works and your approach to expanding upon the original Roll-a-Ball tutorial game. Be sure to include any references to supporting resources used (ie. code, assets, tutorials, examples).
- How did you put your own spin on the game?
- What challenges did you encounter and how did you address them?
-
A 2-3 min video showing gameplay. Upload to youtube and embed video in your post.
Submit a link to your blog post on Slack #cmstudio.
Due: Jan 31