Video Games on Syllabus for Popular Computer Science and Engineering Class
Dust bunnies that want to eat your food. A tentacle monster that is holding you prisoner on a space ship. Rocket pilots who are trying to steal resources away from you. These are some of the foes featured in video games designed—from scratch—by students in Computer Science and Engineering 125.
As part of the course, students create everything from graphics and sound, to networking, to models and animation, in addition to setting up a server for the game. They also learn to work in teams, a skill that many said was one of the main take-aways from the class, officially called Software System Design and Implementation.
The students will show off their work at 4 p.m. June 7 at Atkinson Hall. The demo session is open to members of the public, who will get a chance to battle the enemies students created.
“What's incredible is that they go from just design ideas to a fully working game at the end of the quarter, when they can get up on a stage in front of an audience of 200 people and have people come up and play the game and demo it for 15 minutes to show it off,” said Geoff Voelker, a professor in the department of computer science and engineering at UC San Diego who has been teaching the class since 2001.
CSE 125 is the kind of class that the department of computer science and engineering hopes to offer more often thanks to an $18.5 million anonymous gift it received from one of its alumni. Alumni from the class have gone on to work at Blizzard Entertainment, the company that created World of Warcraft, Sony Online Entertainment, Pixar, Microsoft’s DirectX group and many other well-known companies.
“This class makes you marketable,” said Alex Goldberg, who took CSE 125 in 2007, then went to work for PixelActive. “This class has you leaving UCSD with a portfolio and something awesome that you can send to someone, that you can prop up on a laptop or iPad, and show something that really just takes people's breath away.” PixelActive was acquired by Nokia, but Goldberg still applies video game practices and technologies to the mapping and navigation of spaces for smartphones.
On a recent Wednesday afternoon, students gathered in the lab reserved for their class in the basement of the Computer Science and Engineering Building. Some worked by themselves, poring over lines of code. Others huddled together in front of a computer, examining graphics. They were one week away from the public demos for their games. Crunch time.
“I thought you needed millions of dollars and hundreds of developers to make a video game,” said Haronid Moncivais, one of the students on team NinjaCoders.
So, when she heard about Voelker’s class and saw game demos during her freshman orientation, she knew she wanted to apply for one of the 30 spots during her senior year. One of the most important things the class taught her is team dynamics, she said. She realized that not everyone likes to create a schedule for themselves and try to stick to it. “I like to have a plan and a roadmap,” she said. “Nothing ever came together according to a plan in this class.”
She also learned to take ownership of a large-scale system with the other students on her team. This was very different from her experiences during three summer internships at Microsoft, when she was working with a more experienced developer. “You learn to work with what you have and push forward,” she said.
This summer, she is headed for Microsoft, in Redmont, near Seattle, where she landed a full-time job as a software developer and tester on the Augmented Reality team for the Microsoft’s Windows phone. As a developer, she will be working on features for the phone’s front end. As a tester, she’ll be more of a jack-of-all-trades, writing tests, developing and designing, as well as working on her own projects on the side. One could argue that job is a lot like what she did in the CSE 125 class.