Disclaimer: I am currently the community manager/publicist at 24 Caret games, so you can take any game plugs with a grain of salt. We are an independent developer made up of four people, not a massive corporation. The purpose of these interviews is to create a window into the independent game development world and provide a story that game enthusiasts like me will find engaging.
Matt Gilgenbach is one of the co-founders of the independent developer 24 Caret Games and is currently working on Retro/Grade.
Retro/Grade, which recently won the Audience Choice award at the IndieCade games festival, is a rhythm based shoot ‘em up played with guitar controllers from Rock Band or Guitar Hero. The game is currently planned for release on the PlayStation Network.
Peter Graham: Where did you go to school and what did you study?
Matt Gilgenbach: I went to the University of Michigan and majored in computer science in the college of engineering there. They also had a degree for computer science in the college of literature, science, and arts, but I chose the engineering school because of its emphasis on math and science over general education.
PG: What programming languages did you study there?
MG: The curriculum focused on general programming rather than specific languages because once you understand programming as a whole, most languages are easy to learn. Most of my classes had projects in C and C++, but I also took a class that taught SOAR, a programming language for artificial intelligence that models human cognition.
PG: Were there any gaming specific classes to take?
MG: There were 2 gaming specific classes when I was a student. One was based around game AI, and the other was about game design and development. They were both taught by Professor Laird, one of the pioneers for game-based research. Several alumni (including myself) go back and give talks at U of M to the game development class in order to give the students a better idea about what professional game development is like.
PG: Any advice for aspiring game programmers?
MG: I can’t stress enough the importance of having a solid understanding of the fundamentals of computer science and software engineering. If you don’t have a good understanding of the way computers and software work and how to write maintainable code, you will have difficulty tracking down bugs, writing optimized code, and working on a software project with a large team. The game specific aspects of programming are something you can pick up after you have a core foundation.
PG: How did you come into your first job?
MG: After graduating, I interned at Microsoft with the Xbox software services team, where I worked on Windows Media Center Extender. I was planning on going back and getting my masters, but then I realized that I enjoyed working a lot more than I enjoyed school. I went to Gamasutra and applied to every single job on the programmer page. The postings said they required three to six years of experience at a minimum, but in truth, companies just want good programmers. I ended up getting hired at Heavy Iron Studios.
PG: What was your official title there and what were your jobs?
MG: I was brought on as an associate programmer and was later promoted to programmer. I mostly worked on gameplay programming, which means A.I., player controls, effects, minigames, etc.
PG: Was it weird transitioning from college to an actual job?
MG: Yeah. One of the problems with my education was that it didn’t really teach me much about software engineering in terms of team dynamics and writing code for maintainability and ease of debugging. I had to pick up that stuff as I went. Learning to become a member of a much larger group takes some adjustment. The internships were really helpful, but the mentality for writing code for college and writing code for a business is very different.
PG: And you worked at one other studio before leaving to start 24 Caret Games, correct?
MG: Yeah. I left Heavy Iron and went to High Impact in 2005, and 24 Caret’s co-founder, Justin Wilder, joined the team in 2006. I’m a big fan of the Ratchet and Clank series, so it was cool working on Ratchet and Clank games with a bunch of people who had worked on the original titles.
PG: Had you started to think about games you’d like to make at this point?
MG: I’ve been thinking of games to make since I started playing them. When I was nine, I made text based adventure games in Quickbasic. Soon after, I used a program called World Builder, which was an early game engine that allowed you to create adventure games. It was pretty limited as far as what types of adventure games you could create, but it was really neat to make games when I was that young. Needless to say the games were not very impressive. Even when I got my first job I had a bunch of game ideas, but I still had a lot to learn about game development, so I wanted to get experience developing games before I set out to try to make the games I’ve always wanted to make.