One of the most important things to realize when working with both students and technology is flexibility. And while I have had moments in the past where I have fought change for the comfort of routine, I almost always realize at some point that I have to eventually give in to the demands of the universe. That experience occurred once again just last week.
In Game Art & Design, the use of Game Maker (a free game engine from YoYo Games) has been firmly embedded into the curriculum for years. Game Maker has a low entry point in terms of learning difficulty but is just advanced enough to give students the experience of using programming logic. It is a graphically-oriented style of learning how to make video games which focuses mainly on 2D design. In short, it is more advanced than using Scratch but there is no need to learn a programming language like C++, which can be overwhelming for many students.
Last week, the universe exerted its force for change just as we were starting to use Game Maker. For some students, the program wouldn't finish installing, for other students it ran fine. After spending a number of days thinking about how to solve this problem and putting in several hours to researching various options, then having our tech specialist give it a shot with no luck, I realized we reached what I considered to be the ultimate fate for Game Maker: time to move to a new game engine! I had considered moving to using the Unity game engine a number of times, but always came back to what I was most comfortable using with this age group. But I could no longer resist that pull. Unity has been used for professional 3D game development for years and with version 4.3, they added support for 2D game development.. Knowing that professionals are more likely to use Unity than Game Maker made the decision to switch an easy one. Besides, my students would need to learn how to use Unity for 3D development next year anyway, so why not start them a little earlier?
Deep down, I knew the answer to that question and to be frank, it frightened me. This change meant that my students, most of whom had zero experience in programming or understanding of simple computer logic, would have to become familiar with writing scripts using a real programming language: C#. And, having years of programming experience myself, I know that attention to detail is critical for success. Unfortunately, many students seem to lack the kind of attention to detail that is important for successfully writing a script or program. And that is exactly what scared me: knowing I had to find a solution to teach the students basic programming logic and syntax without overwhelming them.
I found my solution when I learned about a great Beginning C# with Unity online course from the team at Ray Wenderlich. The course is free and contains 24 brief videos covering the basics of programming. It covers everything from the basics of what a variable is and how to set a variable's type to conditional statements, loops, arrays, inheritances and so forth. In other words, it really is a crash course in basic programming logic and technique. Each video explains an important programming technique, discusses the basic C# syntax, provides a guided example within Unity, and provides a related challenge to reinforce the concept. It also does all of this within the Unity game engine, which helps acquaint budding game designers with the interface and techniques without getting distracted by all the cool bells and whistles that the program contains.
So, how will this all work out in the end? We'll have to wait and see. We just started using the tutorials but I have been very impressed up to this point. My students seem to be picking it up well thus far, though there are a few who are experiencing problems as they want to rush through the tutorials and one cannot simply rush coding when they are new to it.
I am a high school Career & Technical Education (CTE) teacher located in Durham, NC with a focus on game art and design. This blog provides a place for reflection on relevant classroom practices.
The views and opinions expressed in this blog are solely those of the author and do not represent those of my employer or anyone else associated with Durham Public Schools.