Thursday, July 7, 2011

I'm sure your portfolio is great, I just can't read it

Think back...

Remember Wired magazine in the early years?   Every colorful page a different and original font in an unusual colored ink on a really bright and busy background.  And the facing page had a matte gray 8 point font on a glossy black background with a matte pop-art image.

We see it all day in EVERY-DAMN-PORTFOLIO.    Red text on saturated green background,  high resolution moire'  backgrounds with thin calligraphy fonts.  Don't even get me started on the PowerPoint stuff.

Your students may have some great design writing,   some outstanding engineering - if I can't read your portfolio I'm just going to move on to the next candidate in the stack.

Please do your students a favor throughout the entire program and critique their text presentation for clarity, readability, typography, spelling and grammar- being able to present information in text is just as important as anything they will ever design, engineer, or animate.

Put best practices images on the wall of portfolios done well.
Team up with students from the Art program to help the designers and programmers make something that is expressive, creative and unique that humans could actually parse.

A short course in 2D layout, typography, and readability should be mandatory for all students.



The Myth of the solo game developer

Many Game Engineering programs get their students working on complete games, taking entire semesters or even a year to develop a fully functional title.   The rationale is that they need to learn all the aspects of game development from graphics pipelines to AI, game logic and Sound in order to be good developers.

No they don't.

Unless they are completely going indie with Mom & Dad's savings the day after they graduate there is no way we are going to let a graduate new-hire take an entire game project start to finish with.  That isn't where you start and nobody in the industry has the expectation that you will.

Our assets - intellectual property, development cash, and audience are precious.  We don't just drop them at the feet of someone new and say "go get 'em kid".   Actually, I don't know of many seasoned developers that have or expect that kind of latitude.

No, what a new engineering candidate gets to work on is maintenance code.
It isn't dirty laundry, it isn't scut work, it isn't menial.  It is important work that needs to be done.  They'll be working with existing audiences, products that still deserve support, or maybe helping port a title to a new platform.

 Working with someone else's code is probably the majority of work that is done in the industry.  Refining, debugging, and maintaining someone else's code is just something we all do.  It is a great way to learn shop coding standards, best practices, and different ways of thinking about problems.  There is also the potential for creativity if you have a better solution and a little management buy-off.

So why is there so much emphasis on original code creation?  Is this a Myth that has been around since the Doom days and lives on only in game schools?

In my ideal curriculum you would start by modifying, refining, and improving existing code that was built with (known) flaws in it.  Later, removing modules and replacing them with your own improved versions.  You'll get experience with debugging tools, analysis, and reading lots and lots of other people's code.  (This a solid work practice in our industry, so applying it to engineering coursework should be low-risk and straightforward implementation).

My (Untested) radical approach would be to take small existing games with built-in flaws and known performance characteristics and give you a grade  based on the performance of your improved product.   My rail shooter chugs along at 50msec per frame.  If you get it to 20msec you get a B, 16msec you get the A.   You turn in the running application and a diff of the code to show your work.   Have students break the games in new and subtle ways as an exercise for next year's class.

Don't market interactivity and serve up rote

Students who come to your school are interested in taking courses about making and learning about games.  Parents - having seen their kids devote thousands of hours in this form of entertainment hope to be able to turn this passion and enthusiasm into a career.  

If your curriculum doesn't have them analyzing, critiquing, writing about and making their first game until the second year, you have  failed.  

Taking last decade's programming or film course, and pasting a 'NEW! Now With Interactive Entertainment' label on it isn't the way to make game developers that we will want to hire in the industry.   Graduates with a single small project and one team project in their resume just get passed over.

The best candidates have had maximum exposure to creating games of all kinds - not just one genre, not just one platform, not just one style.   As many genres, audiences, and styles as you can give them access to.  

 Games are a new and independent medium.  Game engineering isn't  'just like any other programming but with graphics' or 'just like film but with interactivity'.   You have a limited amount of direct contact in the program - where possible course work should be game oriented and relevant to their games career.

Curriculum Ideas:
Focus on speed of iteration, in a design program this is rapid prototyping tools, modding existing games, web/flash and other interpreted platforms.

An Engineering approach might be games in different genres with one missing piece - A 2D RTS game that is missing pathfinding or AI,  a shooter that is missing aiming code, a social game that is missing networking.  (UNTESTED: I just came up with this today, and it would certainly be a lot of work to get set up but I would try to structure a game engineering program this way - building templates with missing pieces.)

Some of the best schools are really starting to get this right!  If I had to pick a primary indicator of success of a game design program it is the number of completed games or the shortest time between idea and execution that the program allows at any given point.

Wednesday, July 6, 2011

Grades and Symbols

For each of the topics presented, if appropriate I will provide a best case, acceptable, and unacceptable letter grade to use for comparison.

The best example gets an A+ with an appropriate report card




Good to Acceptable will get the B- report card



If your standard is excellence then C and D grades are just slightly different versions of Fail.   I know everything is a tradeoff, that everyone is facing challenging budgets and limited resources...for the sake of discussion and setting a bar lets just aim for excellence and I'll assume you are doing the best you can with what you have.

 Sometimes when thinking deeply about the best way to teach a game principle I'll want to call out a good idea.

While many of these ideas will have been proven out in the field, some of these 'good' ideas are completely untested  - I'll try to give enough details so you can tell them apart, but when in doubt assume it just flew Athena-like out of my head and onto the blog page.

I'll mark all of these good ideas with an ecologically friendly LED Lightbulb.

I will also occasional highlight those A+ programs, classes, and instructors who I think are really doing it right. 


Rejected icon concept:


>> Press Start >>

My name is Mark Terrano - I am a game industry veteran. Since 1995, I have designed top AAA games (Age of Empires II), cool indie projects (Defense Grid: The Awakening), games and research projects for PC, Xbox, Wii, Playstation, Kinect, video devices, and a host of devices that never have been seen.  I'm in the credits of over 20 million shipped titles.  I've given keynote speeches and lectures at conferences and universities on 5 continents, and helped game developers around the world make better games.

I try to devote some of my time every month to giving back to the community, and one of the things I have been asked to do is advise faculty on curriculum design for their institutions.  

Since every institution I've met with seems to be struggling with some of the same issues I believe I can best serve the community by making my ideas, advice, and suggestions more broadly available to educators everywhere.  I want to help make an interactive entertainment curriculum that is more interesting to students and better prepared for success in the industry I love.

Enjoy - and please let me know if this is useful to you or your institution.

[More bio and current projects at: http://hiddenpath.com  and my mostly-correct ludography on Mobygames: http://www.mobygames.com/developer/sheet/view/developerId,12384/  or just Google me. ]