Search Unity

Teaching 9th graders Unity in 15 hours

Discussion in 'Community Learning & Teaching' started by Kethis, Mar 24, 2010.

  1. Kethis


    Sep 10, 2009
    Hello, I work for a local science museum called SciQuest and one of the most awesome parts of my job here is that I get to teach video game development (practice and theory) to kids. I am recreating/expanding our game programming camps, and need help design a game I can guide 8-9th graders through the creation of in 15 hours. Below are all the yummy details:

    There are three camps (each 5 days, 3 hours a day, 12 children a camp) called Gamer's Lab 1, 2, and 3. In Gamer's Lab 1 (GL1) we use Game Maker Lite to make two simple games (a "click on this, dont click on this" game and a remake of the arcade classic 1945). It is geared towards 6-7th graders and with very few prereqs (your average 7th grader can jump in).

    GL2 targets 7-8th graders, has GL1 as it's prerequisite, and is about "advanced game concepts". Last year was the first year we offered GL2, and the students made a 2 player (split screen) competitive tank game in Game Maker Lite. I want to remake GL2 as a bridge to GL3 (which is a new camp).

    I will have them stick with Game Maker Lite but am likely to rewrite the class to go in a different direction this year. I want to focus heavily on scripting (and thus how to comprehend error messages and documentation). Completing a playable game during each camp is a necessity of the program.

    GL3 is the final Gamer's Lab camp, and is debuting later this year. It will be in Unity, their first introduction to 3d (unless they have taken the 3d modeling camp I teach, which devotes ~6 hours to creating video game terrains in Unity). At this point the children (8-9th graders) are typically keenly interested and capable (there is one camp of GL3 compared to the 15 or so GL1 camps per year).

    My goal for the end of GL3 is to have the children able to go out and independently, or in small teams, plan, design, implement, and distribute simple games (there is actually a closely related secondary goal, see footnote). As with anything like this that I teach, there is also a heavy focus on how to be a mature member of the online community, how to troubleshoot, and how to keep the drive necessary to follow such a daunting task to completion (planning, time management, basic life skills all meant to give them a jump start).

    My primary dilemma at the moment is determining what type of game I can have them make in 15 hours. Seemingly, a first person shooter is the simplest, most familiar, easiest to implement game type, and able to produce a playable product in our time constraints. However, any game we make must be nonviolent.

    To reconcile this I have decided to make a game based off a water park I visited as a child (Point Mallard). There is a jungle gym type area with a constant 1-2 inches of water on the ground. There are sprinklers, and stationary 'water gun turrets' in the play structures. Children run around with water guns trying to get each other wet. In the game version, they will be able to do all of this, and find/earn water balloons as well. Reloading is done by crouching down and simply refilling the reservoir from the water on the ground.

    Of course many/most/all of the assets for this games would be premade for the class, and I would discuss how to go about finding suitable assets for them to use in their own projects (since teaching animation etc is outside my purview or capabilities).

    Please, anyone's input on how you would approach teaching this material would be very useful to me.

    Thank you in advance.

    As a secondary goal, I would like at least some of my students to be immediately employable. There is a local entrepreneur associated with SciQuest (as a benefactor) who occasionally hires students of mine (as young as 15) to help him make a game he is developing in Unity (he also has a successful education/laboratory simulation business based in Unity). I don't know exactly what it is his younger employees do to earn their $7/hr keep, but I do know that it is a golden opportunity for an aspiring 15 year old Alabamian.

    23 year old, competent programmer (very good on theory, relatively little experience). Familiar with Unity, am capable of making simple games and am currently attempting (with a few friends) to create a 'market worthy' game focusing on turn-based tactics.
  2. andeeeee


    Jul 19, 2005
    A few thoughts...

    The success of this plan will have a lot to do with the gameplay mechanics, which you will need to choose carefully to avoid the more complex theoretical or technical stuff. There are quite a few common game elements that would seem trivial but might actually be quite subtle. For example, the motion of the game camera is often almost imperceptible to the player, yet it can require complex techniques to make sure the camera doesn't "get in the way" of the action.

    I think having two or more players on the same computer is a great way to go because it creates a plausible game concept without requiring any AI. You might consider using a split screen system where every player's view is visible in a rectangle onscreen at the same time. This looks quite impressive, but is very easy to set up and will let you use a simple per-player camera system rather than a boring static camera or one that has to move to keep everyone in view.

    As regards the progress of the project, it is probably a good idea to plan it so that the students end up with a simple but meaningful game as quickly as possible. You can then develop additional game mechanics to build on the original game. For example, you might start off with a simple game with one player collecting all the water balloons in the shortest time. Then, two or more players competing to see who can collect all the balloons of their colour first. Then, they can throw balloons they've collected to attack other players. Then, they are armed with a water gun, etc. This kind of project is much easier to plan and to adapt to an individual student's level of ability.

    Unity's prefab system is your friend when it comes to packaging complex assets in a "batteries included" type of way. Although the component based system is very powerful, it can be a bit tedious and fiddly to have to keep using GetComponent to access scripts, etc, and you might get bogged down in the details of a script defining a class type. If you provide functions on prefabs that can be accessed with SendMessage, you probably be able to avoid most of the messy details while retaining a sense that the students' code is really controlling something rather than just moving readymade objects around.
  3. caitlyn


    Jun 20, 2008
    If it's not too late, check out the Tornado Twins' worm game tutorial, if worked into a lesson plan, it's enough for 15 hours and hits the basics without demanding an understanding of too much programming skill.