Welcome!
background image credit: all-free-download.com
Read through the slides and get started on the W2 self-assessment assignment
Come up with questions, preferably starting with "why"
Feel free to talk to the SAs, and to go sit in the hallway to work
I will chat with you in pairs outside, and ask you for your question
At the end we will do a somewhat silly self-intro
Eiffel Tower image credit: Wikimedia
Unity the application
C# and the Unity API (how you talk to it from code)
Visual Studio, a tool for writing code
Perforce, a tool for managing code
Tools and techniques specific to game development
image credit: Linda Hartley
This part of the curve feels terrible
image credit: Wikimedia
Learning is feeling like you don't know what you're doing and making mistakes.
What are some ways you can make this course harder for yourself?
(link expires in a week)
These tools are an extension of the classroom. Be polite and professional.
Don't understand the homework? Need tech support?
#questions channel
Going to be absent? Have a question about a grade?
DM me on Discord
Please don't email me.
Your name, preferred pronouns, and degree
An example of a game character OR animal you think is cool. You can explain if you want.
"I'm Margaret, I use she/her, and my MFA was in Design and Technology. I like pelicans because they fly in formations."
In the #trivial-and-fun channel, introduce yourself:
Now let's meet
image credit: gamedevacademy.org
See if you can make your Unity window look like this.
Create a cube (or sphere or capsule or cylinder):
GameObject -> 3D Object -> Cube
What changes?
image credit: gigi.nullneuron.net
Press the W key.
Then click on the cube in the Scene and drag it around.
What changes while you are dragging? (There are at least two things on screen that change.)
Now create a Material:
Assets -> Create -> Material
What changes?
Hint: it's not the Scene view or the Inspector. Keep making materials if you need to.
image credit: gamedevacademy.org
Can you figure out what each of these is for?
image credit: noobtuts.com
Create an empty GameObject:
GameObject -> Create Empty
Click on it and look at the Inspector.
Create a Light:
GameObject -> Light -> Directional Light
Click on it and look at the Inspector. What changed?
It's just a container for components.
You can make a GameObject act like a light, a camera, or your favorite game character by adding the right components.
Everything you can see in the Hierarchy or Scene is a GameObject.
Click on your cube again.
You'll see something like this. Can you tell what's going on?
The green shape is the Collider, which is still a box. But the Renderer component was told to render a cylinder.
Transform: where
Mesh Filter: visible shape
Box Collider: physics shape
Mesh Renderer: draws the Mesh
Transform: three sets of three numbers
Mesh Filter: mesh (file)
Box Collider: numbers for gravity etc.
Mesh Renderer: material (file)
Set a phone timer for five minutes. Make a terrible sculpture out of cubes, cylinders, spheres, etc.
A game engine is a piece of software that helps you make games.
Modern engines usually have two parts:
Some engines are specialized. For example, Twine makes it easy to write interactive text stories.
RPGMaker has special tools for making role-playing games, like inventory, maps, and skill trees.
Twine image credit: pixelkin.org, RPGMaker image credit: softpedia.com
Unity is a general purpose engine. It takes care of some common things that many kinds of games need to do, like
Unity and Unreal are general purpose engines. They take care of some common things that many kinds of games need to do, like
The alternative would be writing your own code to
Think of a game and game engine that go poorly together. That is, choose a genre of game and then think of an engine that would make it hard to develop.
A scene is the basic file you are working on in Unity.
.docx
.psd
.unity
A scene contains GameObjects.
Image credit: Nintendo, via gamerevolution.com
GameObjects can "contain" other GameObjects. In Unity terms, one transform can be the parent of another.
GameObjects in turn have components that determine what they do.
So this is one way to think about the hierarchy.
If you want to draw (render) an object onto the screen, it needs a renderer component.
If an object moves or collides with other objects, it needs physics components like colliders and rigidbodies.
Other built-in Unity components can help with networking, animation, AI, audio, and more.
When you write a C# script, it's just one more kind of component.
Why do the GameObjects called "Grnd" and "Cloud" have different components?
Games have to update stuff constantly. Game engines use a loop to update everything in the game world. One time through the loop is called a frame.
Here is a simplified version of Unity's core loop.
Unity can do things like play animations and simulate things colliding without any code.
With code, you can tell Unity to respond to events: move things when the player presses a key, play a sound when two objects collide, and so on.
Unity gives you ways to tie into different parts of its core loop from code and tell it what to do. This is what you're doing when you write code for Unity – hooking into things it's already doing.
We'll talk about the details more in the next class.
On the shared drive
See if you can add, remove, enable, disable, and modify the components of a GameObject. You will probably have to look online to understand enable/disable.
Create and modify a Material
Create a Material, change its Albedo color and apply it to a Cube.
See the assignments page.
Here is the direct link to the
W2 self-assessment
It is not due until next week -- the idea is to give you a goal as you are reading the materials for today.