By Jeff Chastine and Jon A. Preston
Our universities, Clayton State University and Southern Polytechnic State University, are teaming with students who think computing and game development are the coolest majors on campus, and we agree. One of the difficulties we face is letting students jump into the deep end and work on games without having them drown in the details of programming implementation. Within the degree programs at our two universities, we adopt a very gaming and hands-on approach from the very first term — something students appreciate.
For computing (non-game specific) majors, gaming is an engaging way to learn core topics; however, developing games can be overwhelming to those with little to no programming skills. To empower students and allow them to focus on implementing their designs and ideas, we use Unity as a platform to learn basic introductory programming concepts. Unity provides sufficient scaffolding that enables students to develop simple 3-D games without requiring them to be familiar with the underlying complexities of interactive computer graphics. Modern 3-D engines such as Unity allow students to use complex models, transforms and animations. Through scripting, even novice students can explore and apply simple concepts (e.g., variable declaration/manipulation) as well as more complex ideas, such as data structures and object-oriented programming.
The courses also integrate asset generation. Students are expected to model simple 3-D objects using Blender, record their voices using Audacity and create background music using ACID, a loop-based music sequencing program. We’ve adopted these tools because they are free (or inexpensive), and students can load them on their personal computers, allowing them to work around the clock when our labs are closed. Students are expected to generate, import and use their own content in a Unity game. Such an approach enables students to be involved in a small-scale project — from design to completion — and exposes students early on to the content pipeline. During informal discussions with students after they completed the courses, they mention that not only does this leave them feeling empowered, but it also fundamentally changes the way they view video games — seeing the process holistically from the very first course in our degrees.
Later in the gaming major at SPSU, we delve deeper into game development and have students work with Unity, UDK and GECK. With more programming experience behind them, we can expose students to these multiple platforms and let them see the similarities and differences between engines and scripting languages — all while still insulating them from many of the painful details of lower-level engine coding. Student teams have developed some impressive projects that highlight their design and game development skills and have had time to play-balance levels and test for the emergence of the dynamics within their games. This is something that wouldn’t be possible if they spent the entire term building a game from the ground up.
We believe it is important to provide students with approachable experiences for their game development, and tools like Unity, UDK and GECK provide a great solution when budgets are stretched thin. We also allow students to develop non-digital board games (a very important approach) and, later in their studies, build games using their own custom codes.
For the novice and maturing students, the engines we’ve adopted give them just enough help early in their studies. We hope you’re having similar experiences, and if you would like more details, e-mail email@example.com. Happy gaming!