BREAKING IN
PREPARING FOR YOUR CAREER IN GAMES
 
  CAREER PATHS DEVELOPER PROFILES RESOURCES 
  Profiles: audiodesignproductionprogrammingvisual artsbiz & misc.



Mark Terrano


Age of Mythology


Age of Empires II: The Age of Kings


Mark Terrano
Programmer, Ensemble Studios

Current project:
Age of Mythology. Game Tools and support.


Academic Info

College: DeVry Institute of Technology
Degree: B.S. Computer Science, Minor Accounting

Were there any particular projects or areas of study that you pursued?

Applications programming. As good and focused an education as DeVry provided, I think I learned much more doing independent projects (programming, small business applications, systems analysis) on my own than I ever learned in College. I went to College part time (which is why it took twice as long to get my degree) and worked full time programming, running computers, and doing contract work.

Did you do any internships?
No. They were fairly rare in the early 1980s; I did full-time jobs ;-)


Career Info

Tell us about your first job in the industry. How did you get the job? What was it like? What were your responsibilities?
In 'Retail Games', my career started when I joined Ensemble Corporation in 1995. Ensemble Corp was a consulting firm doing business analysis, backed by client/server database and traditional business applications development. I came on teaching Delphi programming to clients, and working as an applications and networking specialized consultant. I initially came to work for Tony Goodman (CEO/Ensemble Corp and later Studios) because they were working on a game in the evenings called Dawn of Man (which was what came to be known later as Age of Empires). I initially gave Tony a call because my employer at the time (Mobil Oil) suggested that playing Doom2 was not an appropriate after-work use of the company's network. I thought I might as well go somewhere games were appreciated rather than feared.

My love of games - like most people in the industry goes back to fun with card and board games as a kid. Later in high school D&D and other role-playing games were very influential - redefining what I thought of as a game - of course I liked creating the games more than playing them most of the time. I have experienced the joy and challenge of creating computer games since 1979 - making my own PC games on the TRS/80 and later on the Tandem mainframe (in TAL) - mostly text adventures then. I experimented with a lot of technologies, including doing VT100 style graphic animated adventure games with voice-synthesized output on a Tandem mainframe in 1982. In 83 a friend of mine and I got together and did a networked Tandem Space-war type game (I was drawn in by the great weekend multi-player games of VT100 DecWars at my University job in 1980). Dan Bunten did a little 2 player game called Modem Wars - it was my first real time strategy (RTS) game, and PC real-time multi-player game - it was so much fun I actually focused my programming career into specializing in Networking and client/server programming. I partnered with another friend and created a general Audiotext (audible telephone information) system, quickly adapting that as a platform for a few prototype games - something like choose-your-path audio adventures. Also in the early 1990s I worked with another friend to create worlds with the TBBS bulletin board based Illusions game (64 player text MUDs).

What jobs have you held in the games industry thus far? Briefly describe the career path you took to get where you are today.
(Again, I'll mark my Industry career at 1995 with Ensemble Studios)

Programmer - I used my network expertise to create the multi-player section of our Genie Engine - this engine was used in all of our games so far (AoM has a new network engine). I used what I had learned in the MUDs to develop some of the multi-player gameplay, Team play, Co-Op play, Taunts were all features in AoE that I knew the players would like. In a small company - especially one designed for collaboration from the top down like Ensemble Studios - you don't ever have just one job. I submitted many game design proposals (15 my first year), ideas for gameplay systems like trade, developed the Wonder implementation that we ended up using, and assisted the artists, designers, and other programmers in many areas.

When you are a game programmer, so much of what you are doing is cutting edge work - much of the hardware you use is experimental, the milliseconds still do make a difference, and you'll need to work well with others. So a strong technical base in at least one programming language (C++ definitely, a lot of people also know Java, or some specialty languages). You want to be strong enough in the basics of getting good efficient code done that you can concentrate on the problems that you'll be faced with. Game industry programmers are used to doing the impossible with every game - things that nobody has tried before, new ways of looking at data, new gameplay elements, these are standard. Schedules also can be a little crazy - in business programming, there is usually a specification and when you meet it - you're done, go home and celebrate. In game programming it isn't done until its fun. There is no schedule that can say "Day 103 - today the game is fun" - its sometimes hard to capture - and some games never have that 'spark' that makes them really a rewarding experience. For us it is something that comes with time. That said - industry programmers can expect a lot of re-work, sometimes looking at the same problem 2 or 3 different ways.

Programming changes, the techniques, tools, methodologies all change every year. When you're buried for two years making a game it is too easy to get out of touch. Set aside some time to keep up with the rest of the world or you are in for bad surprises.

Designer - I was simultaneously given a chance to do Game Design and a trial by fire - my first formal design role was the Lead Designer for Age of Empires II: The Age of Kings which started right after we shipped Age of Empires. AoK was an incredible experience for me - working with a lot of diverse teams, our development partners at Microsoft, and really being involved in all areas of the creation of the game. My special focus was on new user experience, and I learned a lot about usability and focus group testing, as well as how important a good 'training' experience is for the gamer. Working with long-time designers Sandy Petersen and Bruce Shelley on the team was also an incredible highlight.

Outside of specific programs at one of the few schools that specialize in game creation - there isn't really a set of coursework that can prepare you to be a game designer. Every designer I know has a different background, a different degree, and way of analyzing and looking at games. All of them have something in common though: Natural curiosity, a love of reading, a 'generalist' - they are interested in many fields, great communications skills, and a deep passion for playing games, thinking about games, and making games. Nearly every game designer has happened into their career - this might change in the future, but most of them were already in the industry and moved over to game design (those that didn't help build the industry from its foundation). A common route into game design is through content design - so familiarity with 3D world building, making interesting spaces and levels, creative architecture and lighting are all important. For tools and technologies - learn Excel for doing balancing and mock-ups, learn Word because you'll be using it a lot, learn a prototyping tool for interfaces like Flash, or web scripting - because the best way to illustrate an interface concept is to show someone. Basic art skills, like sketching will let you do some of your own concept work and help you communicate a vision more easily.



Advice

What fields of study, specific courses, or life experiences would you recommend to students interested in your field?
Advice for Programmers: Read the programming articles in Game Developer Magazine and Gamasutra, find a game that you like that has a 'mod' community (such as Half Life or Quake or Unreal Tournament, etc) general programming sites (www.thecodeproject.com) can also help with tricky problems or networking. Mods for existing games will give you some experience working with teams and real development without having to create a game from scratch.

Find something that interests you and really learn it inside and out. Use the online resources - some forward-thinking development companies are giving away source code to their older games - these are a storehouse of knowledge.

Get together with others and make games. Keep your scope small and finish it - rather than trying for a full-blown title with everything. A well-done small game that shows specific knowledge is better than a poorly done larger game with lots of unfinished areas. Basically - make a lot of games and you will learn an incredible amount.

To get into the industry you'll need at least one game demo - your demo speaks an order of magnitude louder than the resume. Programmers who haven't had the discipline to put together a demo are generally thought to not have the discipline for the industry. Some companies will even assign you a demo game or program to write days or weeks before the interview to see how you do.

Advice for hopeful designers: I get a lot of mail from people with great ideas for games. I doubt any designer in the industry will read them - because of the possible legal implications. We all have at least dozens (if not hundreds) of great ideas for games - the people already in other areas in the industry also have great ideas, some fully written into hundred-page design documents. When we finished AoE we had hundreds of ideas for AoK already written down of things that we would have liked to experiment with.
While your ideas are very useful in an interview - game creation isn't like publishing, someone won't make your game because they read your great treatment or specification. The best use of your great idea is to team with others to make some games, submit a game to the Independent Games Festival and get active in the International Game Developers Association. Read all of the 'post mortem' articles in Game Developer Magazine and on Gamasutra for ideas on what game design is like in the real world. Find the home pages of game designers and read their 'game design diaries' and experiences.

Is there anything you wish someone had told you before you got into the games industry? Is there anything you would have done differently?
When I tell people what I do for a living, the nearly universal comment "Oh, you play games all day - that must be a lot of fun". Well….hmmm, sometimes. What you don't know is that for the first year or more the game really isn't very much fun. It gets fun because you play the heck out of it and keep changing it until it gets fun. Pacing, balance, and polish all happen in the last half of development. And after its fun, and you've played it a few thousand times - if your game is great it will still be fun. You may not want to pick it up again after you ship though. You'll also play everyone else's games - which can be fun - there is at least something to be learned from every other game (even if it is a way not to do something).

The industry is very accepting of individual needs and diversity - we're much more about what kind of gamer you are than what Fraternity you were in or where you grew up - the games come first. Dress code and schedule is usually very flexible ("Pants required" is the dress code for guys at one place). The flip side of that coin is that 'working half days' usually means noon-to-midnight. Schedules are optimistic and 'overtime' is common. For AoE we spent nearly a year of 90-hour weeks - but when you are doing something you really love with a team you care about - it's worth it.

A lot of companies fold after a game, and most games don't ever ship - many people don't know that. I was lucky that Ensemble Studios was founded by business people - but many game companies are founded by a programmer or an artist with an idea…so companies that do one game and don't have enough cash to get to the next one are typical. In addition, a lot of good games that just don't come together, or bad games that are killed off - result in the entire staff moving or leaving. So change is a constant - this is the entertainment industry after all - set aside some of those 'Ph4t-l3wt' royalties, and keep your contacts list and resume updated…because you really never know.

As games increase in complexity, what are the various kinds of jobs that you foresee development companies needing in the next five years?
I started to list the areas in the industry that were in demand and I ended up listing all of them - haha - I'll trim my list down to those that I think there will be very strong demand for:

Network programmers (client & server) - Massively Multi-Player games and just multi-player games in general can't function without people to get users playing together. Games are finally returning from the early days of stand-alone play to a real social environment. In networked gaming - every bit of data is worth cash - and efficiency really counts. Programmers who know how networking works in the real world - and can make robust systems will be in demand.

AI Programmers - There are never enough - everything from individual unit movement, to pathfinding, to 3D terrain analysis, to target selection uses Artificial Intelligence to quickly try to beat the human opponent. These problems are difficult - and traditional college courses are not addressing them. The 'traditional' AI disciplines are about mimicking human thought with unlimited resources - where game AI is about making a best guess of behavior approximation with critically limited resources. If you're in a traditional program - try applying new constraints to the assigned problems.

Texture Artists - However much texture space is provided in PCs, it will never be enough to get the look that the designers are going for - artists with a good grounding in traditional skills, combined with deep knowledge of 3D tools and game environments can really make a difference. My experience with artists is that the 3D dominant ones can always use additional time to spend with their traditional media skills, and the traditional artists get much stronger when they learn to use 3D tools and techniques. I think the visual 'envelope' for textures (and modeling) can go a lot farther than the early 2000s games are pushing it.

Database Programmers - Almost all modern games (and definitely the MMP games) are data driven - at least in development. Programmers that know their way around database technologies (like SQL) are going to continue to be in demand.

Do you have any other advice or recommendations to share with students who are interested in doing what you do?
If its something you want to do - go for it. It may not be easy, but it will probably be worth it.

 

 

Presented by:


International Game Developers Association