Cluster 5






COSMOS at UC Santa Cruz
Designed specifically for talented and motivated high school students, the California State Summer School for Mathematics and Science (COSMOS) is a 4-week summer residential program for high school scholars with demonstrated interest and achievement in math and science. 

Cluster 5: Video Game Design
Welcome! We took the 2013 COSMOS Cluster 5 students through an intensive four-week introduction to designing and programming both 2D and 3D videogames. The first week students were taught the concept of player-centric and iterative game design using the MDA (Mechanics, Dynamics, and Aesthetics) framework. They also learned the psychology concept of Flow, and how some games are designed to keep players in the Flow Zone. They applied these design methodologies to create games in three development tools (GameMaker, Processing, and Unity 3D) over four weeks, requiring them to understand the underlying logics that support programming games in a variety of coding environments.

Learning GameMaker the first week gave them a graphical introduction to event-based programming, as well as working with animated sprites in 2D screen space. To re-skin their games with custom art assets, they were introduced to open-source tools like GIMP for image editing and Audacity for sound editing. The second week they learned how to program 2D games in Processing, an open-source coding environment optimized for interactive media. The students learned object oriented C-based coding techniques such as using variables, arrays, loops, conditionals, and how to work with classes in the Processing IDE. Their first group project was to design a unique variation of a classic 2D space shooter like Asteroids. At the end of the second week the students had fun playtesting the UCSC game SiegeBreakers in the undergraduate game lab, and got to talk to some of the designers.
  
The third week the students learned how to create a 3D adventure game in the Unity game engine. They were able to carry over their GIMP, Audacity, and C-based coding skills to create 3D textures, sound effects, and C# scripts in Unity. They also learned new skills using Blender for 3D models and animation, as well as learning how to program using JavaScript. During the third week, they also had UCSC professor Arnav Jhala come in and guest lecture on the topic of AI in games, taking them through practical exercises in JavaScript and Processing. At the end of the third week the students teamed up to design and develop a unique 3D game in Unity as their final projects. The fourth week students had several guest lecturers from UCSC Games and Playable Media program, showing them a range of research projects going on at the university. They also took a visit to the motion capture studio to see how mocap animation is processed for games.

All the students did an amazing job learning how to create videogames this year. They had fun, but also worked hard, which I think is evident by the games they produced. On this wiki you can download Windows executables for their GameMaker and Processing games, or play their Unity 3D games directly in a Chrome browser. Enjoy!   

 - Topher Maraffi, COSMOS Cluster 5 Instructor, 2013.

PS: Big big THANKS to our Teaching Assistant Lindsey Freeman and our Teaching Fellow Don Freitas for their invaluable help in the classroom.