Teaching 3D Game Development to Teenagers Using Unity3D (free version)
About KEC and Me –
Kildonan-East Collegiate is a public academic and vocational high school in Winnipeg, Manitoba. We teach a full range of academic subjects, including English, Art, Mathematics, Sciences, Social Sciences, Band and Theatre . We also have a large number of vocational programs Advertising Art, Automotive Repair, Carpentry, Electrical, Photography, Culinary Arts. The courses that use Unity3D are part of our Business and Information Technology department which includes Computer Science
I am a 56 year old grandfather with a Bachelor’s Degree in Fine Art with a major in Painting and Printmaking and a B. Ed. My first experience with computer technology was through my work as a commercial artist starting in 1980, on a Compugraphic typesetting machine, then on a Mac Plus. I became increasingly involved in Computer Graphics, basically self taught and eventually became an Adult educator, then a High School teacher in 2001. I love to learn about new technology, then share what I have learned. Unity3D combined with Cinema 4D is the coolest technology I have ever taught.
Intro to Light Industrial Technology (Digital Media)-Grade Nine 14-15 years of age.
This course involves about 90 hrs of instruction, about 20 hours in Unity3D.
Example Project:Tarnvir’s Game
As described on the main Game Design page, this course introduces students to the process of game development, through the building of games, with a pre-determined structure. At this stage of development, I find it’s essential to take students through the process of building games with structured learning, but each game ‘template’, has a lot of room for the exploration and expression of individual ideas. This is my essential philosophy for teaching any technology. Teach them just enough to allow them to engage in learning the technology on their own, then step back into a support, mentor role.
When students in the Intro to L.I.T. course start into Unity, we use the free version of Unity, because we don’t have the budget for the Pro version and generally at the high school level, it has all we need. I start with building a terrain based scene. I show them how to paint on height data, add a light and splat texture and an FP character controller, and as soon the controller is set up, I let them press play.
That moment when they press play for the first time, always draws out some vocal reaction, ooohs and aaaws so to speak. The students are so used to playing in immersive worlds, they are blown away by the chance to create their own. We then spend several days improving the terrains, painting textures, trees and a few details. We also go onto the Asset store for more Terrain goodies and other freebies.
We then use some of the assets provided by Will Goldstone for his Unity 3.X Game Development Essentials book to set up targets to throw Coconuts at targets. I have modified the scripts so that when they knock down all the targets they can throw a leveled up, longer range “Fireball”, anywhere on the map.
I do not give them the scripts as files, they must type them into Unitron line by line, as I explain what each line does, and fix their own errors.
As they go through the process of typing the scripts I am continuously reminding them what each line is doing, explaining about variable scope, built in functions: Start(),Update(), OnControllerColliderHit(), if , if/else statements (similarity between coding in all development environments we have used)
The students respond well to the process of leveling up the projectile, and I allow them to mod this projectile as long as it still works within the structure of the game.
At this stage students build a maze, based on maze designs found on the internet. When the mazes are built, we add in cube shaped targets, and students create an explosion effect using Shuriken particles. Then we add a MazeTarget script to Instantiate an explosion when the maze targets are struck by fireballs. Once they have an exploding target working they are free to customize it, using different sounds, effects etc.
We finish off the project with a basic GUI system of game title, instructions, win message. By this time we are usually short on time so the GUI is probably the weakest part of the games.
Intro to Information and Communications Technology 2-Grade Nine 14-15 years of age. –
This is a 1/2 credit course designed to introduce students to a broad range of technologies, about 45 hrs of instruction, with about 15 hrs in Unity3D
In this course students are introduced to many ways in which computer can be used including Web Development, Music Production and Game Development. In this course students create a world in Unity, and create the coconut toss game, as one of their explorations.
Digital Film/Interactive Media-Grade 10 15-16 years of age (Can be taken by students from Gr. 10 to grade 12) These are combined 1/2 credit courses of about 45 hrs of instruction each. Interactive Design includes between 15-20 hrs in Unity3D
In Digital Film we do stopmotion and Flash based animation,as well as video production. In Interactive Media we are just starting a Unity Project. This is the first year we have to run a grade ten course. This group will be doing the robot project which was done in Grade 11 3D Modelling. This reflects the ongoing process of integrating Game Development into our IT courses.
3D Modeling-Grade 11 15-17 years of age (Can be taken by students from Gr. 10 to grade 12) This is a 1/2 credit course of about 45 hrs of instruction, about 15 hours with Unity3D
Example Project: http://www.kongregate.com/games/jthomson/ryans-robot-scene
In this course students learn how to create 3D models in Cinema 4D. Some students enter this course having taken Intro to L.I.T.(Digital Media), others take it as a separate option course. Students learn about modelling with primitives, modelling with polygon sculpting, creating materials, lighting etc. The final major project in this course is to create a Robot model in Cinema 4D, rig it with a skeleton system consistent with the expectations of the Unity Mecanim system. Students then import this robot into Unity’s first Mecanim Tutorial and following the process in the video tutorials create an Animator system and add it into their robot. We have to limit our application of the tutorial to basic movement, jumping and waving , since we can’t use animation curves.
My experiences with Mecanim and the tutorial videos have been great. I was able to point 3D Modeling students at the tutorial video, and they were all able to get a robot created, rigged and controlled in Mecanim. They needed quite a bit of instruction when building and rigging the robot, but were able to do the set up in Unity3D largely by referring to the video. This year (2013), one of my students, Ryan was able to take the tutorial further by adding his own states and animations for Idle turns, and throwing. He was able to figure out the states himself, and customized the tutorial script. I was too busy with other students to offer him more than minimal support.All students in the course, including 2 other students who are English as a second language students were also able to follow the tutorial and complete robots, again largely based on following the tutorial video.
Next year, if we have enough students enrolled this course who have the Interactive Design credit, the course will be students planning and creating their own game scene and characters
Multimedia Grade 12
The content of this course is independent exploration of digital media. Students choose to explore 2 or 3 different areas of multimedia, one of which can be Game Development.
The level of exploration in Unity3D is dependent on the students level of experience. The amount of time spent in Unity3D depends on the student.