This is the details website for the Intro To Unity Micro. Almost every link on this site navigates to a page on guidebook.hdyar.com, a continuously updated learning resource used by multiple courses.
A1 section: Sep 13, Sep 20, and Sep 27. 12:00pm-4:00pm HL106C.
A2 section: Oct 26, Nov 2, and Nov 9. 12:30pm-4:30pm HL106C.
Before Class, Week 1, Assignment 1, Week 2, Assignment 2, Week 3, Final Project.
Intro To Unity course is designed for students with little to no experience working with game engines as entry point into the field of game development. Students will learn the basics of the Unity3D engine, and to creatively and effectively build their own simple games.
This course will cover topics such as navigating and using the engine, basic game programming in C#, user interface development and introductory game design principles. Students will be assessed based on the functionality of their games and will receive further feedback on their implementation, execution and creativity.
Missing 1 class can be made up (email professor for information), but missing 2 (out of 3) classes will result in an automatic failure.
Each link is to a review of the specific topic on the guidebook website.
Much of week one, including the code for the in-class portion of the project, is available in part 1 and part 2 of the The Intro Lectures.
After week one, before week 2, complete assignment 1: Become an Expert on 1 thing, and design a level for roll-a-ball.
Much of week two is reviewed part 3 and part 4 of the The Intro Lectures.
After week two, before week three, do the assignment "Implement a Mechanic".
2 Part assignment after week 1, before week 2. Will be reviewed in class, there is nothing to submit.
1. Make a level for your roll-a-ball game. Open the project, practice moving around the scene view, practice making cubes, making groups with parent/child relationships, and stretching/moving things around.
2. Research and become an expert on one "thing". Implement it into your project if possible. Start in the manual, and pick something that seems interesting to you.
Here is a link to a variation of this assignment I give in another class I teach. The bottom of the webpage has a list of possible things to research: https://imm103.hdyar.com/assignments/unity-playground/
This assignment should take about an hour to complete.
Your assignment for before-week-3 is "implement a mechanic", which can be thought of "try to start your game". Fresh unity project, probably, and try to make one little piece of your game work. For many of your ideas, this is likely to be player movement.
In this process, you should focus on the one part of your game idea that feels either the most immediate (blocking other things from getting done) or unknown (involving research that will take an unknown amount of time). For a shooting game, perhaps that's figuring out the instantiation, and dealing with the movement/camera stuff after.
Github code repositories may be useful to reference:
These are both basically just piles of example scripts of various mechanics that are all commented.
Remember, it's okay to fail at this assignment. Coming to class with the knowledge of what questions to ask will be very helpful for week 3, where we have time set aside to answer these very questions.
Your final project is to make a game, and make a working build of that game for windows or WebGL and hosted online somewhere. The project must be uploaded to the box.cmu.edu folder you have been given access to, and is due before midnight on the due date (TBD).
The game must be playable in the form of a finished build (see below), and you must include a readme file (see below).
Do not treat this as so big a project that it deserves as much time as given, I just assume you only work on it on weekends. It's a fun project! I hope you find it an enjoyable chance to learn new technical processes while being creative, in a low-stakes environment.
The game should have 2 working mechanics, but will probably have more (mechanic = gameplay features/systems. "movement" is a mechanic, "score" is a mechanic, "death" is a mechanic).