Kairos is a prominent independent videogame developer that used to use Game Maker to develop his games. He won SHMUP-DEV Competition 2k7 in 2007 with Varia. More recently, he has been attending Digipen, a college with an emphasis on the creation of videogames with the aim of getting into the industry and the long term aim of getting back to independent game development.

Bonus link at the end of the interview.

Name?



Charlie Ngo.

Age?

Just turned 20 a few weeks ago.

Location?

United States - Redmond, Washington.

Development tool(s) of choice?

I used to develop with Game Maker, but ever since I went to college I’ve been programming in C/ C++ for recent games.



What do you do?



I am currently a student at DigiPen Institute of Technology, aiming to get a degree in Real-Time Interactive Simulation (computer science). I used to make hobby games before, though.

How were you introduced to game development?



When I was 13 or so, I was usually stuck at home with nothing better to do. I always liked playing games, though I grew up in an atmosphere where I was only allowed to play them for a very short amount of time - back then, video games were seen as a bad influence in my household. The only games I could play with were flash games on the computer and some old classics on a SNES, though none of those were even mine. Frustrated with my scenario (and quite jealous of classmates with the latest consoles!) I dreamed of making games one day and being the one to sell the latest games to those very same classmates. After some research, I learned that becoming a game developer in the industry was actually a viable (albeit difficult) career path, and not just a kid’s far-fetched fantasy. I felt that I had struck gold; it was as if I had gained some sort of new-found energy.



Of course, even if I was motivated, I had no idea how games were made. After a few hours searching around on Google, I happened upon a program called Game Maker. It seemed exactly like what I needed - a program that was oriented towards beginners in the world of game development, with a drag-and-drop logic system that made it very easy to figure out what was going on. I did one of the tutorials, got a ball bouncing in a walled room, and was extremely pleased. It was from that point on that I knew that this was what I wanted to do.



What are your goals and aspirations as a game developer?



This is probably what everybody says, but I really just want to make games people enjoy playing. It’s not so much about the innovation or newfangled technology that I care about. People giving praise to gameplay is what matters to me the most. That’s not to say that I don’t want to innovate - I love thinking of new ideas and game concepts. But if I make something like a retro-style arcade shooter and it brings a smile to peoples’ faces, then it’s just as rewarding to me as making some awesome new game that no one has ever seen before.



I believe one of your goals is to work in the industry. Where would you ideally like to work? Do you hope for a role with some creative freedom?



Ideally, I would work in an environment where I could do both game design and programming. However, unless I go the indie developer route, things don’t work that way. I’ll have to either be a programmer or a designer, and frankly I believe I’m stuck near the middle of those two in terms of strength, which can be problematic. Being able to have creative freedom is something I would definitely like to have, but I’m not sure how likely that will be if I end up working at a large game company. Perhaps working at a small start-up will allow for some flexibility. As an indie, I could focus pretty much on whatever I want, though such dreams should probably be pursued after having paid off all that college debt first…



However, there are a few well known companies with interesting work environments that I would love to be in. For example, Valve doesn’t have a hierarchy or a management system. It seems like their employees can do the things they want to do, and the company isn’t even afraid to stop all game production and use that time to come up with new game ideas instead. They’re also very supportive of indie games, going by how many of them are on steam and regularly sold in packs. Their own games, in my opinion, are special and unique because of this different work environment and culture. To me, it sounds just like home. I can only hope for other game companies to follow suit and change up their work ethic, but we know that probably won’t happen.



You are currently at Digipen Institute of Technology, a college with a focus on game design. I hear it has a pretty gruelling schedule. What is it like versus what you were actually expecting?

I pretty much expected exactly what I got, actually. Basically, it’s the equivalent of a 5-year program compressed into 4. I already knew since high school that it was going to be a very challenging period of time. Not only do you have to take the CS and math courses, but you’re also required to develop yearly games in a team, and more often than not you have to spend your own free time learning about how to make all the different systems you need in a game made from scratch. Of course, the professors and other students are an amazing resource for nearly all aspects of game development, and you really do learn a hell of a lot here and make a lot of connections, which are both important to landing those high-paying jobs.

How long did it take you to adjust to the schedule?

It didn’t take me very long to adjust to the schedule. I had already been making games in my spare time since middle school, so this was simply the same kind of thing, except that the games are graded now. The difficulty and work amount does ramp up each year, however.

Getting into Digipen: was it a hard college to get into? What was the process like?



I’m not sure about how hard it is to actually get into it, since I don’t really know anyone who was rejected. At the time of doing the college searching process, I saw that they took less than half of their applicants. There was a prerequisite of precalculus for my major, though there was a fairly lenient minimum GPA. As far as essays went, it was the standard ‘why do you want to come here’ deal. Applying to the game design majors required writing your method of solving a specific problem that they would give. My guess is that they look for very motivated individuals with stuff to show for it, and good reference letters. Personally, I sent them a CD with the games I made (that might have had some effect). However, I realized getting in was the easy part after a while here.



Did you begin at Digipen with any coding knowledge whatsoever or did you learn from scratch once you were there?



The only coding knowledge I had was GML, which is Game Maker’s scripting language. I had to learn C / C++ from scratch once I went there. The GML definitely helped with some of the programming concepts, though.

Were there any computer science courses from other colleges that you considered or was Digipen your first and only choice?

I originally looked at and was planning on applying to the Rochester Institute of Technology since it was only a state away in terms of distance (I lived in Pennsylvania). I already knew about DigiPen for a while, being the so-called 'harvard of game development’. I considered it out of my league at first due to all the math it emphasized and the general difficulty of the programs. Another factor was its location on the other side of the country, which my folks didn’t like at all. I also looked at some other colleges like UAT or Full Sail, but I didn’t really like their programs. After a while I realized that I wouldn’t be able to escape the math anyway, and since I heard only good things about DP, I went and applied to them first.

You’ve worked on a number of team projects at Digipen now, in which you’ve taken on a number of different roles. What’s it like working in a team as opposed to working on your own and what role do you feel most comfortable with?

I quickly found that there were many pros and cons to working in teams. One aspect that was particularly nice was the fact that I could ask other people for feedback on a system that I would be developing, and perhaps improve on it. I could also share the workload with others, so there wasn’t an insurmountable wall of pressure pinned only on me. There’s always someone smarter than you, who has a better solution for whatever problem you’re trying to solve, and there’s always different ways of approaching a problem that you would never think of from your perspective. There can also be a more entertaining atmosphere with teammates, as opposed to being a single developer sitting in a lonely room for days on end.

That’s not to say that there is no downside, however. Sometimes, you really just want to do something yourself, even if someone else is better at it. Also, I didn’t run into this scenario much, but if you’re unlucky you may end up working with total jerks or people who always think they’re right and are not willing to listen to other peoples’ input. Communication is vital to team game development, yet I’ve seen other game teams and their members not talk to each other at all and just work on their own thing. When they try to mesh everything together at the last minute, it all falls apart because no one planned or bothered to communicate about what they were doing and how their stuff will work with all the other components. Thankfully, I’ve been fairly lucky with my teams and have had no major issues, but I see these problems all the time with others and make note of them so I don’t fall into the same trap. I’d have to say I enjoy being the game designer for the team games I have worked on/ am working on. I like working on the gameplay and making content, because that’s where you can get creative in all sorts of ways. It’s almost a direct correspondence from what I imagine when I think of game concepts and ideas. I think about a cool weapon, and I’d have a general idea of how to program it and how it should look graphically. Then I work on both aspects until I get desirable results. Just doing one or the other isn’t satisfying enough. It’s the same idea with the role of 'game designer’ to me. It sounds like a broad description of someone who figures out what the game should be like. I personally extend this to the art and the music it should have. Then, I try my best to cover all those bases. That was one of the reasons why I started composing music despite having no experience with anything of the sort. I had virtually no instrument experience and barely listened to music in the first place, but I really wanted to make my own so I could create a game that was almost entirely what I had in mind. Of course, this isn’t what a game designer usually does in the game industry, but I believe that understanding the process behind all these different aspects in game development is important to being a better designer. That way, if I’m working on an industry game, I won’t make unreasonable demands towards programmers because I would actually know just how difficult it is to implement certain ideas. The same thing applies to the art and music.

Concerning the yearly projects that you must complete, what constraints are placed on you (and your team members)?



It depends on what year you’re in. There were two projects required during freshman year, the first of which involved making a game with a DigiPen engine called ProjectFUN. The second semester game had to be coded in C and we could only make ASCII-based games that ran in a console window. Sophomore year was a 2D game in C++, and junior year will be the same except 3D. I believe seniors can finally use middleware or other languages, but at that point I should be in an internship instead. It’s a good gradual climb in difficulty.

As far as resources go, because DigiPen is very strict on copyright. We’re not allowed to use any art, music or sound assets that the school does not have the right to distribute. That means all of those assets must be either made by DigiPen students themselves (everything we do belongs to DigiPen, mainly to prevent students from fighting in their teams over ownership) or are part of the resources that the school has bought licenses for. As far as programming goes, the engine must be made from scratch, but we can use audio libraries like FMOD. I usually end up doing art and music for the team games I’ve worked on despite my main role being a programmer. Students taking the art degree can also join teams and help make art for games - I believe that is actually one of their graduation requirements as well.

Do you still have the desire to work on your own personal projects or do you think this is something that will fall by the wayside if and when you get into the industry?

Generally, companies will make you sign a contract involving a non-compete clause upon being hired. They don’t really like it when you’re making games on the side while working for them. You can get accused of stealing ideas or get put in other sticky situations, so it’s an area that I’d like to avoid if possible. They may not actually be able to claim ownership of what you make, but if you get fired for it, that’s quite a grim situation in itself. So I figure my days of making personal games are over until I work a decent amount of years in the industry first and then perhaps start up my own company. That’s the next step after actually getting into the industry in the first place, so that’s just a fantasy for now!

Bonus page: Concept Art