Welcome! Day1, Lesson 1
Camp Rules Have fun Don’t interfere with other people’s fun Don’t let yourself get frustrated… …if you are, ask for help. Don’t interfere with other people’s fun No making fun of others Tell me if I can change the course. This is the first time I’ve done this – many mistakes ahead! Don’t get food on my keyboards
About US Me (Jason): Casey Finlay Game Programming @ SSU for 10 years Avid gamer (single-player only!) Love teaching about / making games Nothing commercial Casey … Finlay
About you… Tell us your name What school you go to Either: One of your favorite games. What you want to be when you “grow up”
My goal for the camp Get you interested in making games Get you interested in programming Expose you to cutting edge (free) tools for making games Fun! Things I considered: “Raw” Programming Python C/C++ Unreal Unity
atlas [Give out logins] Save only to: Sharing files Z: Desktop MyDocuments (not C: ) Sharing files Better: SVN, Perforce, Git, etc. For us: Flash Drives
Reference: Unity’s roll-a-ball tutorial Unity introduction Reference: Unity’s roll-a-ball tutorial
interface Start it up! Hierarchy: a Scene Graph Parent-child relationships Project: collection of assets Inspector: View / create components Edit component properties Scene / Game view: the current scene Warning: don’t do big things in game mode! Render mode Lighting mode
View manipulation Hand-tool selected (Q to enable, W to switch to move): Left-drag to pan Right-drag to rotate Any: ‘F’: Frame selected object (or double-click name) Right-click + WASD + QE Scroll-wheel to zoom Click on axes “cones” to switch to 2d view Click on central box to toggle perspective / ortho
Object manipulation [Add a 3d cube] W, E, R toggle translate, rotate, scale Local / Global button Numeric values [Break for 10 minutes]
Scripting overview What’s it for? Basic process Without: static objects that do nothing – boo! Determine what a game object does and when it does it. Examples: Handle collisions Start background music when level starts Update a gui when points are earned. … A taste of “real” programming. Basic process Create a new script asset (text file) Attach to one or more game objects Add / edit functionality to / in script Test in Unity Go back to step 3 until finished.
Scripting overview [Create a C# script and edit] Documentation: Highlight item, then… Visual Studio: Ctrl + Alt + M, then Ctrl + H MonoDevelop: Ctrl + ‘ Example: Make a player object controlled by input axes Make a pickup prefab and trigger removal on hits.
Next step Lunch! After lunch: Look at 3d modelling in Blender Create something more interesting than cubes and spheres!
Blender introduction Day1, Lesson 2
What is it? A free tool that contains 3d modelling tools Texturing / sculpting tools Rendering tools Video editing tools Game-Engine Not (yet) used as much in game development as: Autodesk Maya ($1500 / year / seat) Autodesk 3ds Max ($1500 / year / seat) Autodesk Mudbox ($120 / year / seat) (see the pattern <cough> monopoly <cough>)
Part I: Interface You’ll either hate it or love it… View Navigation [Overview of panes, re-configuring] Mdrag = Tumble Mdrag + Shift = Pan ScrollWheel = zoom Numpad: 5: toggle ortho / perspective 1: Front 3: Right 7: Top 9: Back 2 / 8 / 4 / 6: rotate by increments .: frame selected
Part II: selecting and transforming [Positioning 3d cursor] [creating primitives] [transforming visually and numerically] [joining]
Part III: edit-mode [Switching modes] [Selecting parts] [Extrude, duplicate] [Knife] [Merging vertices] [Face create]
Part IV: Materials Solid-color materials
Part V: Export to Unity Just save it in your assets folder…with a few tweaks: rotate such that +x is to the right, +y is up, and +z is towards you. Object => Transform => Apply Transformation Export as .blend file: Save / copy blend file into Assets folder In Unity, remove any rotation. Try editing it after your first import.
Part VI: Make something Spaceship Sword House Tree Gun Jetpack Stick-figure …