Game Design and Development Major

Posted on October 29th, 2012 by David Elliot

I created and graduated with an Independent Major called “Game Design and Development” from the Arts and Architecture department. My goal in creating the major was to learn as much as I could about the various facets of game development — from the design and art to the more technical aspects of programming. While the Design | Media Arts department offers courses in languages like processing and javascript, it isn’t rigorous in its exercises. This is evident in the lack of of strong programmers in the department, in the same way that the CS department lacks students with strong visual development skill.

For me, the major was a success. While I missed out on a few classes I really would have liked to take because I divided myself between several departments, I learned enough across the board to feel confident in my abilities to learn independently if I ever find that I need to know something more. However, I can’t recommend this path for anyone who just wants to make games.

The courses I chose involved a lot of math and computer science courses that not everyone might be comfortable with. Before committing to the major, I had taken Mathematics 31B to 33B and Computer Science 31, competing with Math, Engineering, Computer Science, and other South campus majors, as you’d be doing in the more difficult upper division courses. After doing very well in these courses, I was certain I could succeed in any other technical courses I might choose for my curriculum. So to reiterate — it’s very important to make sure that one feels they’re confident and capable of competing in South Campus classes by taking several before following through with this kind independent major.

The following are the courses the that I included in my custom curriculum and which ones I found to be the most beneficial



  • 152B – Interactive Media 2 (Arduino Hardware class)
  • 156 series – 3D Modelling
  • 157 series – Gaming (focus on Game Design and how to make something fun)
  • 161A – Creative Internet
  • 199 – Directed Research


  • 115A – Linear Algebra (Lower division class would probably suffice)
  • 180 – Combinatorics

Computer Science:

  • 161 – Artificial Intelligence
  • 174A – Intro to Computer Graphics

Theater Film and Television

  • Animation A and B courses

Courses that were not offered at convenient times:
CS174B,C – Computer Graphics / Animation Courses


From the design the department, the 3D Modeling course was very helpful in that it taught how to create 3D objects using the Maya software, which can be imported into a game engine. Overall it’s good for learning the tools to create art assets so games have something more complicated and interesting than cubes for graphics. You also learn about some of the more complicated topics involved with 3D modelling, such as normal mapping, UV mapping, animation, and others.

The gaming courses, of course, were very relevant. They focused on how to make a fun interaction and make something that was enjoyable to play. The second gaming class goes over how to use the Unity 3D game engine to make games.

The Interactive Media Arduino class was interesting, but less important when it comes to developing typical games. However, we’ve had some people use the Arduino to create custom controllers or unique interactions, so it depends on what you want to do. I’m not sure if this course will be offered again, though.

Creative Internet 161A was a filler course because I couldn’t get a more relevant one, and the 199 Directed Research I used for personal game development.


From the CS department, the most beneficial class was the CS174A intro to graphics OpenGL class. After the class I understood most cheats used in creating detailed real-time graphics in games. While it might be unlikely that someone will have to program for graphics at such a low level, understanding how this worked made using higher level 3D engines, like Unity, easier. This class is a must if building your own 3D engine, though.

The CS161 AI class focused less on directly game-related topics than I expected. It was a fascinating class, but some of the computer learning topics were less relevant. The portion that focused on different search techniques could be used for character or game ai, path finding, and other related applications, though.

I wish I had been able to take the remaining 174B and C classes to round out my understanding of programming for graphics. I also should have taken a class that covered multicore/threaded programming, though all of these can be learned independently outside of classes.


Linear algebra 115A has been pretty important when it comes to 3D programming, as well as graphics programming. There’s a lot of applications for it in general.

Combinatorics 180 could be important as well. There’s a lot that can be abstracted into graphs, such as path finding waypoints. The graphs, if I recall correctly, were also covered to an extent in the CS161 AI class, so the more important topics in this course may be covered elsewhere, but I know this is important for programming in general.

If these classes are overly technical or complex, the Design | Media Arts major can still offer a relatively diverse range of skills, especially if one goes out of their way to take some of the less rigorous programming classes from the Mathematics department, such as the PIC series. This curriculum is really for those who want to know about all facets of the game development process, both technical and artistic. However, if someone is interested solely in the artistic or technical portions, then the D|MA or CS departments alone can offer an adequate experience.

Being an independent major also means you have priority in no department. I had to get professor permission for every class, even in the design department. This, of course, made enrolling in classes very stressful, as I often didn’t know what I was taking until the end of second week every quarter. What this also means, though, is that enrolling in other department’s classes doesn’t get much easier. If you have a solid idea of which classes you want to take, I think it is possible to take the classes that I mentioned, prereqs included, by remaining in the design department if you start very early, though creating a major frees up some units for other classes.

If you’re still interested in making a major, the process involves naming it, finding a professor to endorse you, and writing a paper justifying your decision to make an independent major. To graduate, you have to turn in a final project or paper that combines what you learned throughout your classes as an independent major.

– Garrett Johnson

Posted in BlogComments Off on Game Design and Development Major

Daily Bruin interviews Garrett Johnson

Posted on October 29th, 2012 by David Elliot

This summer the Daily Bruin did an interview on Garrett Johnson to find out more about his independent major in game design. You can read about it here: Fourth-year Garrett Johnson will graduate with an independent degree in game design and development

If you’re interested in doing something like this Garrett has done a write up on his experience detailing the courses he took on our website here:

Posted in Blog, pressComments Off on Daily Bruin interviews Garrett Johnson

Game Lab field trip to Chung King Restaurant

Posted on October 26th, 2012 by David Elliot

I just got back from a lunch time field trip to Chung King Restaurant with eleven of my fellow Game Lab people. It’s quite a trek from UCLA all the way out to San Gabriel but if you like Schezwan food it’s worth it. Most recommended dishes:

  • Kung Pow Shrimp
  • Mapo Tofu
  • Special Flavored Porkchop

Posted in BlogComments Off on Game Lab field trip to Chung King Restaurant

Melrose Trading Post LARP Day 2

Posted on October 16th, 2012 by David Elliot

Aaaah! MTPL:D2 or, Melrose Trading Post Larp: Day 2 was a smashing success! We changed up the story a bit and introduced our newest member, Terrence.

Terrence is an orphaned red monkey who was born without bones. But what he lacks skeletally, he makes up for cardiacally! Which is to say, he’s got a lot of heart. Despite his condition, Terrence spent most of his life and energy crafting pompoms and other works of art during his years at the orphanage. So touched we were by his indomitable spirit, we gave Terrence a day out to experience the world. The Melrose Trading Post was the perfect venue to introduce our little monkey to society.

After setting up his booth, Terrence set out to fulfill his bucket list. With the help of Trading Post patrons, Terrence was able to make art, hear his first joke, and even defeat a dragon! By way of thanks, each helper received a handcrafted pompom. A great time was had by all.

Thanks to Mastadon Mesa for rescuing Terrence from that orphanage. And an extra special thanks to all the H.I.P.S.T.E.R.S who supported us in Helping Inexperienced Poor Sad Terrence Effortlessly Reintegrate into Society – it was a blast!

Posted in BlogComments Off on Melrose Trading Post LARP Day 2

Melrose Trading Post LARP Day 1

Posted on October 9th, 2012 by David Elliot

We made it through our first day at the Melrose Trading Post. We’ve learned a few things from it and plan to make improvements based on what we have learned for next Sunday. Our boot was looking pretty sweet but it was missing some much needed signage. I think we just barely made the bar in the costumery department but the patrons have set that pretty high so we might need to kick it up a notch to make ourselves really noticed next Sunday. What we were most lacking though was the theatrical energy. I hope to recruit some students from the Theater department this week to compensate for that deficiency. Also we broke one of the fundamental pillars of LARP design: “All Are Participants” We really thought it would be a good idea to break this rule but in hindsight I think maybe we must first master the rules before we break them.

Posted in BlogComments Off on Melrose Trading Post LARP Day 1

Arcade Backpack @ Indiecade

Posted on October 9th, 2012 by David Elliot

Here’s some pics of our Arcade Backpack at Indiecade this past weekend…

Posted in BlogComments Off on Arcade Backpack @ Indiecade

Eddo Stern and Mark Essen speaking at Indiecade

Posted on October 5th, 2012 by David Elliot

IndieCade //Form + Code: Games Edition

Using last year’s successful IndieCade panel “Form + Code” as a springboard, Andy Nealen convenes a group of developers from the world of artgames to talk about projects where code and form are inextricably linked. Join us for a richly interactive session of audience questions and comments, and a discussion that ranges from procedural generation of content to the expressivity of finely-tuned control mechanics and the aesthetics of gameplay.

Speakers: Jason Rohrer  •  Mark Essen  •  Eddo Stern
Moderator: Andy Nealen

When: Saturday October 6th 3-4 pm

Where: Foshay Conference Hall , Culver City

Posted in BlogComments Off on Eddo Stern and Mark Essen speaking at Indiecade

Creative Coding for Mobile Devices Workshop

Posted on October 5th, 2012 by David Elliot

If you’re on UCLA Campus October 8, 2012, 6:00 pm and want to learn how to build sensor based Android and apps using processing be sure to check out this workshop:

Creative Coding for Mobile Devices Workshop with Daniel Sauter Build Sensor Based Android and Apps Using Processing

From the event page:

This workshop is an introduction to Processing for Android, and specifically the creative potential of the hardware features built into Android devices shipped today.

We’ll create a series of projects using motion and position sensors, the touch screen panel, geolocation and compass, front and back cameras, WiFi networking, peer-to-peer networking using Bluetooth and WiFi Direct, databases, and 3D scenes on the Android. The workshop will utilize Processing 2.0b, Android SDK, and the Ketai Library for Processing. A basic understanding of programming and access to an Android device are recommended.

Daniel Sauter is an artist who creates interactive installations and site-specific interventions dealing with the cultural and social implications of emerging technologies. He is an Associate Professor of New Media Arts at the University of Illinois at Chicago, School of Art and Design, organizer of the Mobile Processing Conference in Chicago, and author of Rapid Android Development: Build Rich, Sensor-Based Applications with Processing (Pragmatic, 2012).

Posted in BlogComments Off on Creative Coding for Mobile Devices Workshop

LARP Design Workshop Day 1

Posted on October 3rd, 2012 by David Elliot

Day 1 of the LARP Design Workshop turned out a smashing success. Twenty UCLA students turned out to make costumes, design characters, play make-believe and eat sugary junk food. A good time was had by all. Below are some snapshots from the night. Day two of the event will be held this Thursday October 4th from 6pm – 9pm. More info is found here:

Posted in BlogComments Off on LARP Design Workshop Day 1