D.J. Kehoe Discusses a New Concentration: Video Game Programming

Student Anthony Rego (left) sits with Adjunct Instructor D.J. Kehoe, who heads the new video game programming concentration. Pictured on the lap-top screen is a still image from a game that Rego is creating for the class.

D.J. Kehoe began playing videogames when he was 8 years old. He had a simple computer -- a Commodore 64 -- on which he played endless games. His early infatuation with the games, and his attendant curiosity about how they worked, led him -- at age 8 -- to become a programming prodigy. 

“I just started hacking away on Basic -- the programming language,” recalls Kehoe. “I didn’t know I was programming; I thought I was playing a game. It was only later on that I realized I was programming.”

Now, 20 years later, Kehoe teaches NJIT students how to program videogames. 

His classes are part of a new Game Programming Concentration offered to IT students. The concentration, a total of 12 classes, was officially launched for the fall 2007 semester. The classes are offered to IT majors, but students with other majors can take them as electives. Kehoe was instrumental in creating the concentration and he heads it.

Kehoe was graduated from NJIT in 2002, and soon thereafter began teaching as an adjunct professor.  His students often asked him if NJIT offered classes in video- game production. His answer, back then, was no. But now it’s a gleeful, “Yes, we have 12 classes. Which class would you like to take?”

What does this new concentration of classes teach students about gaming?
First, let me say that this I wanted to do my whole life -- teach gaming -- and I’m thrilled that the College of Computing Sciences started it. This cluster of classes is designed to give students a command of programming in C and C++, as well as in other scripting languages such as Unreal Script, XML, Lua and Python, which are commonly used in game development. 

Students learn how to design the system architecture for games, with various considerations in mind such as the target platform and 2D or 3D graphics. And what’s more exciting, students learn how to create their own game engines; they also learn how to program the game logic that uses those engines. They’ll work on game-modification projects and design a number of games that they’ll program from scratch. This is just the first concentration focused on game development. We also are developing a second track for game design in our multimedia concentration. That track will appeal to students who like web sites and animation, graphic arts and video.

What are some of the classes offered in this new videogame concentration?
The Game Development Workshop I, for instance, gives students a chance to combine the artistic and media aspects of gaming with programming. Students work in teams to leverage their strengths (programming or art & media) to create a game that is fully functional and of professional quality.

In Game Development Workshop II, students perfect the game they designed and tested in the above class. They will also complete a large game project that, after they graduate, they can show to employers.

And in a class called Modification Game Development, the students take an already existing game engine and build a new game around it. This is a common practice in the gaming industry – companies often license games and rebuild them -- and it’s a great learning tool. The students use the graphics, controls and the network architecture from an existing game and build around it. It’s similar to giving a mechanic a car engine and asking him to build a car around it.

You mentioned employers. Is there a strong market for students who concentrate in gaming?
Now is a great time to launch this concentration because the gaming industry is mature and growing and is hiring.  Also, many gaming firms are located in Manhattan; they are global firms that have development houses in NYC. There are also some smaller firms in Hoboken. The demand is so great that one NJIT student, James Kim, recently got a job as game designer soon after he graduated. Usually a student has to work his way up to that position. His success shows that if you are talented at gaming, the opportunities are there.

Did you take gaming classes when you were an NJIT student?
I would have loved to, but I graduated in 2002 and gaming classes weren’t offered. But I did a lot of programming work on video games on my own, and perhaps I failed a class or two as a result.  

Some say videogames are bad for children and young students?
It’s depends. If a young person plays games thoughtlessly and gets addicted, that is harmful. But kids who play historically accurate games tend to retain facts about history.   Kids who play games like "Sid Meyer's Pirates!" tend to learn the names of cities from that point in history; they also learn tidbits about sailing and the names of the ships that were used in the age of pirates. Many older games (before voice audio was possible) that had sophisticated plots engaged players to read and comprehend the dialog and setting of the games.

And children who have grown up with videogames have careers now that are benefiting from their having played. I’ve heard that the military now has more sharp shooters because of a generation that grew up playing games and has better hand-eye coordination. I’ve also read that some young surgeons also have better hand-eye coordination because they grew up gaming. Playing sophisticated games seems to have a good effect on the part of your brain that controls vision. 

What do you say to the critics who think teaching computer game development to college students is absurd?
I’d tell them this: As far as the serious level of game development, the concentration has two main objectives. First: Programming a computer game from scratch is one of the hardest programming tasks. You not only have to program a vast array of features to support the content (3D graphics, sounds, story elements, etc.) but you must also ensure that everything you design is fast and efficient.  Games must run at a steady 60 frames per second, which means all of the game calculations for rendering graphics, updating world elements as well as the physic’s calculations must be done within a 1/60 of a second.  This is a tremendous undertaking – one that challenges students to rethink how everything is done so that all the elements run smoothly. 

The second benefit of teaching computer game development is that it is a wonderful vehicle for getting the above concepts across.  Students would work on many of the same kinds of problems if they were programming their operating system (indeed, that task is far more difficult than game programming) for other classes. But keeping students interested, and motivating them to work as hard as this discipline demands is difficult. Games provide a great motivational tool for our students, even those students who don’t wish to pursue games development as a career, but simply want to become better programmers.  Being able to play with and show off the fruits of your labor to their friends and family is the great advantage that games provide. Students, for example, might put more work into, and create a far more useful event scheduler for an operating system; but few people would understand the merit of that task.

Are there any studies that confirm what you are saying – studies that confirm that using new technology in the classroom motivates students?
Well, Richard Sweeney, who runs the NJIT library, has done nationally recognized studies showing that today’s college students want hands-on, interactive learning. (Listen to Sweeney discuss modern learning on our iTunes U website) This generation was weaned on computers and, like me, starting playing videogames as children. They learn better when they use the technologies they grew up with.  Professor Richard Foulds published a paper showing that students learn best when professors use the studio method – a hands on, computer lab-intensive kind of teaching. That’s the way I teach. My students work on their programming projects in class on computers and I go around the lab coaching them. The class is relaxed and casual and you can feel the excitement of learning.

Speaking of the educational value of games development, I understand you direct a team of NJIT students that is developing an educational videogame for a major corporation?
Yes. I’m directing a team of five students that is developing a game that, once created, will teach reading skills to middle school students. Pearson Education gave NJIT's Robert Friedman a grant to develop the game.  The NJIT students -- Andrew Fernandez, Mike Del Pozzo, Anthony Rego, Chris Targia and Greg Wagner --are developing a complex and rigorous game that involves the development of 2D and 3D graphics, a soundtrack, a mod game engine, an intricate database and all the programming needed to provide the engaging scenarios that will help teachers use literature to enhance the reading skills of their students. The game will be distributed via school networks and programmed so that teachers can track the progress of their students. We bid on this project and had to compete against and beat out some of the best colleges in the nations, including Harvard. When the game is completed, sometime next year, NJIT will gain national recognition for educational technology development. And the above students will have gained invaluable experience.

Starting a new concentration like this is a major undertaking. Did other people at NJIT help launch the new gaming classes?
Absolutely. This new concentration would not exist if not for the support of two terrific colleagues: CCS Dean Narain Gehani and the Director of the Information Technology Program, James McHugh, both of whom support hands-on learning at NJIT. We also received scientific and intellectual support from Computer Architect Andrew Sohn. To get these classes up and running this semester was a lot of hard work, but it was worth it. For the ones who are now benefiting from all that work are the students who love the classes and are learning a great deal.