April 23rd, 2014

Things You Need to Know before Interviewing for a Game Programming Position

For quite some time, the game industry was an exclusive club that didn’t allow any new blood because every opening required applicants to have 2+ years of experience and 1 shipped title. I don’t think there has ever been a better time to get into the games industry right out of college than now. Because next gen team sizes are increasing drastically, people with experience are harder to find, so more and more companies are recruiting right from colleges. Regardless, of what college you go to, you can still get a job in the games industry provided you have a certain proficiency in the following areas.

Math – This is an important area to video game development. No, you don’t need to remember how to compute the surface area of a curve when rotated about the x axis. You do need to have very good linear algebra skills. If you don’t know what the formula for a dot product is (a dot b = a.x * b.x + a.y * b.y + a.z * b.z ) and what it means geometrically (|a| * |b| * cosine of the angle between a and b), then there’s no chance you can get a job. You need to know how to project a vector onto another vector (a projected onto b = ( a dot b ) / |b|^2 * b) and onto a plane. You need to know what the cross product is (a x b = [a.y * b.z – a.z * b.y, a.z * b.x – a.x * b.z, a.x * b.y – a.y * b.x]) and what it means geometrically (a vector perpendicular to the vectors with a length equal to the sine of the angle between them). The way I remember how to compute a cross product, is to put i, j, k in the first row of a matrix, then the first vector and finally the second, and then compute the determinant. If you don’t know how to compute a determinant or what that is, that’s a bad sign! You should know what the inverse of a matrix is and how to compute it for any matrix. You should know how to transpose a matrix. You should know what an orthonormal matrix is and a shortcut to compute its inverse (just transpose the matrix). Familiarity with conversions between different coordinate spaces is essential. The math behind collision routines is very important to learn also. How do you find the collision point between a parametric ray and another ray? a plane? a sphere? What are quaternions? How do you do common operations with them? If you are very rusty on your math or don’t know where to start, I’d recommend 3D Math Primer for Graphics and Game Development. I read it and found that it covers all the basics pretty well. I haven’t read all that many other books for comparison, but it’ll definitely will give you a good foundation to build on as well as reference for many common math operations for game development.

Physics – You should be very familiar with all the projectile equations. If you can’t either derive or remember d = v0 * t + 0.5 * a * t^2, you’ll be in trouble when you interview or take a programming test. Any problem that involves a projectile with gravity should be easy for you to solve. Whether the unknown is gravity, launch angle, y velocity, xz velocity, time, distance or any combinations that are solvable, you should have no problems determining the solution. You should also be familiar with momentum and kinetic energy for elastic and inelastic collisions. Drag and friction should be concepts you understand also.

C++ – Although some places still use C over C++, C++ is pretty much commonly accepted as the standard for game programming. Knowledge of C++ is very important because if used poorly, you can write very suboptimal code. Firstly, you should know what a virtual function is, and how to use it. It’s also important that you understand how the virtual function table works, so you understand the extra steps that can decrease performance that take place when you call a virtual function (each object has a virtual function table pointer hidden from you in its structure data [where it is located depends on the compiler and this has important ramifications when pointer casting], and to call a virtual function, you need to follow that pointer to the table, and then jump to the function pointer contained within, which can hurt caching). Knowing how to use templates and operator overloading efficiently is important too. Good object oriented design is the most important thing you should know about C++. All too often class hierarchies are deep and convoluted, so you end up having to do horrible things like virtual inheritance, or all your classes have a lot of wasted memory for variables they didn’t need.

AI – I took the standard AI class that University of Michigan offered, and absolutely none of it was applicable to game AI. A lot of the algorithms taught are intractable, or just impractical for games. As long as you know what a finite state machine is, you should be fine. Most games use finite state machines, and the ones that don’t, use simple rule based systems. “Black and White” (and its sequel) is the only exception I can think of that used something different (neural networks), but many gamers weren’t satisfied with the results. If you are looking for books, I’d recommend AI Game Programming Wisdom 3. It has two particularly outstanding articles in it, one about fun game AI design and another about behavior compositing. Seriously, although books may be helpful, the best way to learn about game AI is by doing it.

Graphics – This is an important area. If graphics is your main area of interest, then you should know a lot more that what is covered here, but whatever your desired position in the industry is, you should know these basics. You need to know what a render state is and what the common ones (cull, z write, z test, etc) are. What is the standard lighting equation? (It’s I = ka*Ia + Ii*(kd*(L dot N) + ks*(R dot V)^n) in case you were wondering) How does texture mapping work? What’s the difference between texture wrapping and clamping? How do you efficiently render a bunch of procedural geometry? (Organize your geometry by render states, batch it up in the fastest primitives for your hardware and send it off to the graphics card) You need to know how skinning works. If you’re interested in a book, I read 3D Computer Graphics by Watt. It’s not game specific, so it covers a lot of techniques that are impractical for games. But, I think the general overview is helpful, and as game hardware gets more advanced, the techniques presented that seem impractical now, might become the norm.

Tools Development – C# seems to be gaining a lot of momentum in the games industry, so it would be good to familiarize yourself with it. C# presents many advantages to speed up tools development. Many people have said tools can make or break next gen games. I agree with this. The more tools you have, the less time the team spends wasting time doing easily automated tasks. Maybe when you have a team of 10 artists, spending a man year of programmer work to create a tool that saves artists 15 minutes a day won’t pay off, but if you have 50 artists, then it is definitely worth your while. C# allows rapid creation of GUIs, and unlike some other ways to simplify creating GUIs, the GUIs are easy to understand and use since they are the standard Windows components and allow you to easily set up all the keyboard shortcuts like standard Windows applications. The Form Designer works really well in Visual Studio, and C#’s metadata and event driven design makes development a breeze for tools. It’s also nice to have at least some understanding of MFC also in case the developers you interview with are behind the times.

If you are interested in learning a lot about how the technology works (which will in turn allow you to write better C# code), I’d highly recommend Applied Microsoft .NET Framework Programming. I read it while on vacation, and I just couldn’t put it down. It seriously was a page turner. I read it cover to cover over the course of a few days because I was so excited to learn the topic of the next chapter. Keep in mind though, this book doesn’t teach you about the various Framework classes, and what they do. It instead covers the core mechanics of the language and how it works. It isn’t specific to C# either. It tells you what you can do in VB.NET that you can’t in C# as well as provides examples in MSIL (Microsoft Intermediate Language – the byte code that all .NET languages compile into) for things that may not be supported by any .NET languages yet.)

Operating Systems – Although this seems relatively unrelated to game development, I’m really glad I took Operating Systems in college because I frequently use knowledge that I learned in this class. knowledge about operating systems is very important since it handles a lot of important behind the scenes work for the programs. Especially with the multicore next gen consoles and dual core PCs, multithreading knowledge is essential. Virtual memory is definitely a useful thing to know. Knowledge about file systems, kernel to user transitions and paging is more useful for PC game development, but consoles are rapidly becoming more like PCs with every subsequent generation, so it’ll never hurt to know these things.

Compilers – Although it may not be important to know how to write a parser, it’s important to know how your code is converted into assembly, so you can understand how to write more optimal code. You definitely should be familiar with the four stages that take place to convert your program to an executable: preprocess, compile, assemble and link. How are constants treated by the compiler? A good understanding of macros and how to simplify common operations with them is important. Knowledge of calling conventions for the compiler you are using because passing over a certain amount of function parameters may cause them to be pushed on the stack instead of reserved registers. Calling convention is also useful for when you are writing a function in assembly.

So, this is just a starting point for the diverse array of knowledge you should have as a game programmer. There’s always more you should learn and the level that you should be familiar with each area depends on the type of task you are doing. It can never hurt to know more than you’ll actually use. If you have any questions about what you should learn, or getting into the industry, feel free to post, and I’ll get back to you.


45 Responses to 'Things You Need to Know before Interviewing for a Game Programming Position'

  1. 1Christopher Shell
    August 12th, 2006 at 7:25 am

    Thanks for writing this article, it was really an eye-opener for me and really influenced a lot of my course of action for the remainder of my college career, especially the part about learning C#, something I was considering but now know is a must and i’ll definitely brush up on Math and Physics.

  2. 2Matt
    August 12th, 2006 at 5:04 pm

    I’m glad you enjoyed it! If you have any questions, don’t hesistate to post. Also, you might want to check back frequently because I’m planning to write more for people interested in getting into the industry.



  3. 3Christopher Shell
    August 15th, 2006 at 2:43 pm

    Did you take Physics at Michigan? And if so, did you take it during the Fall/Winter or Spring/Summer.

  4. 4Matt
    August 15th, 2006 at 3:01 pm

    I took Physics 140 Fall 2000 and Physics 240 Winter 2001. Physics 140 teaches the material that I use for gameplay. I still have my Halliday and Resnick Fundamentals of Physics at my desk. I hope that helps.

  5. 5Christopher Shell
    August 15th, 2006 at 8:17 pm

    Ok, cool. I’ll be beginning Physics in Winter with 140 i’ll take 240 the following fall if not in the spring. I’m just a bit worried because I hear so many people complain about the difficulty of the courses at Michigan.

  6. 6New Technology
    September 22nd, 2006 at 7:50 am

    Video Game Programming

    Video Game ProgrammingVideo Game Programming is probably one of the most sought out jobs in the technology market. All developers want to see an outcome of what they have created, and what better way than work with Video Game Programming.

  7. 7Schelsea
    January 5th, 2007 at 11:37 am

    Physics 140 and 240 at U of M are great for honing the math and physics skills listed in this blog. I took them both while studying Engineering at U of M in 2000.

  8. 8Social Content Headline News
    January 5th, 2007 at 11:46 am

    Things You Need to Know before Interviewing for a Game Programming Position

    [link] [more]

  9. 9Tim Kerchmar
    January 5th, 2007 at 12:28 pm

    I work for a major middleware developer, and I can agree with everything that he said in this article. It has to be what you love to do, because there is so much to learn. I wasn’t brushed up on everything when I started, but I had a demo that showed that I had a grasp of how to integrate all these things into a game.

    The funny thing is that we actually do use ANTLR or BISON or one of those parser thingies for our special non-xml formatted files, so understanding how to build a compiler is very helpful. That’s one of the curveballs you don’t know about until you are given a task to extend the syntax.

  10. 10Chris DiBona
    January 5th, 2007 at 1:23 pm

    And if you are going to U of M, take John Laird’s class senior year if you really want to do games.

  11. 11Barry Kelly
    January 5th, 2007 at 1:30 pm

    I gotta say, first thing I noticed, you’re missing the “one-half” in this equation:

    ‘d = v0 * t + a * t^2′

    should read something more like (this is the one I learned in school):

    ‘s = u*t + 0.5 * a * t^2′

    s being displacement, since ‘d’ as distance is scalar, and doesn’t represent direction.

  12. 12Leonard
    January 5th, 2007 at 1:35 pm

    It’s ‘differentiate,’ not ‘derivate.’

  13. 13Leonard
    January 5th, 2007 at 2:03 pm

    A simpler explanation for Barry Kelly is that when taking the antiderivative, the power rule for x^n is (x ^ (n + 1)) / (n + 1).

    So, where a(t) = a
    v(t) = at + v0
    s(t) = .5 at + v0t + s0

  14. 14Matt
    January 5th, 2007 at 5:24 pm

    Barry, thank you for the correction. I have updated the article to include the 0.5. I have not changed the “d” since that is the way I usually see the equation, and “d” represents displacement to me.

    Leonard, thank you for the math proof. I still think derive is correct because it is referring to use mathematical operations to calculate the new equation. Differentiation as you proved is a way to derive that equation. I appreciate the feedback.

  15. 15Tom
    January 5th, 2007 at 9:36 pm

    Hi. Great article man, it opened my eyes… but you see, I have some questions and I’d like to talk to you a bit more about this subject, could you email me so we can have a chat sometime? I’d really appreciate it. See you around, and thanks!

  16. 16woof-woof
    January 5th, 2007 at 9:38 pm

    OK, I’ll try again, now in an HTML-conscious way. Sorry.

    First get length of projection: |a|*cos(gamma)

    Normalize b: b / |b|

    Multiply them: b * (|a| / |b| * cos(gamma))

    Now remember: <a, b> = |a|*|b|*cos(gamma)

    Thus the projection is: b * (<a, b> / |b|^2)

    Which you can beautify as: b * (<a, b> / <b, b>)

  17. 17Jeffrey
    January 5th, 2007 at 9:57 pm

    I don’t think you need to know c++, a bit would be good but alot of companies now are using high level languages like python for the AIs and only using c/c++ to execute it, and for the graphics

  18. 18Matt
    January 6th, 2007 at 1:28 am

    Woof Woof – You are very much correct. The equation I wrote was for when b is normalized, but I neglected to mention that. I have updated the article accordingly. Thanks for the feedback!

    Jeffrey – I respectfully disagree with you. If you want to be a “game programmer”, you normally work in C/C++. There are a few companies that are exceptions, but that’s generally the case. If you want to be a “game designer” or “game scripter”, they often work high level scripting languages. Regardless of whether you are working in a higher level language or not, you SHOULD know C or C++. The reason for that is because high level languages do a lot of things for you. If you don’t understand the lower levels, then you will write suboptimal code. For example, say you are using a resizable array structure in a high level language. As you fill it out, you add the new elements to the end. Now, this may seem like a perfectly reasonable thing to do in a high level language, and it is. Unfortunately, high level languages aren’t all that suited to games. So, you would have to do a lot of allocations in order to fill the array out in that way. If you understand C/C++, you’d know that it is very slow and a very bad thing to do in a performance critical application such as a game. So, even if you never use C/C++, you still should know them.

  19. 19dustin
    January 6th, 2007 at 3:18 am

    A while ago I blogged about my experiences interviewing for a programmer position with EA. Click my name to read it.

  20. 20Binary Creativity – Things You Need to Know before Interviewing for a Game Programming Position : Popular Bookmarks : eConsultant
    January 6th, 2007 at 11:34 am

    [...] Binary Creativity – Things You Need to Know before Interviewing for a Game Programming Position Posted in bookmarks | Trackback | del.icio.us [...]

  21. 21chris grze
    January 6th, 2007 at 3:39 pm

    Enjoyed the read,

    Some random comments in particular about the math section:

    You write: “You should know what the inverse of a matrix is and how to compute it for any matrix.”

    If you know how to do this please let me know (think singular) :)

    Being aware of ill-conditioned matrices and how to identify them might be good.

    Also, being aware of the (fast) fourier transform and operating in the fourier domain might come up… maybe the DCT, too?


  22. 22Like Your Work » Blog Archive » links for 2007-01-07
    January 6th, 2007 at 5:20 pm

    [...] Binary Creativity – Things You Need to Know before Interviewing for a Game Programming Position (tags: programming games game) [...]

  23. 23Derelict
    January 6th, 2007 at 6:22 pm

    This is an excellent article / overview of game programming positions!

    There are a couple of other major systems in gaming, as well … each with their own particular areas of knowledge. Networking and sound are both very important disciplines in many of today’s games and platforms.

    Also, the ability to both read and write (i.e. work from) specification documents (whether white papers, analyses, or design docs) is crucial as well. Many programming test in interviews consist of solving a given problem set from written specifications in a set amount of time.


  24. 24Matt
    January 6th, 2007 at 7:48 pm

    Chris – Excellent point. If I figure out how to invert a singular matrix, I will definitely let you know! :-D So far, I have not directly used fast fourier transforms or DCTs (although I worked as an intern on the Xbox Media Center Extender at Microsoft, and they are very important in video compression). The way I see it, the stronger your math skills are, the more tools you have to solve a problem, which makes you all the better coder.

    Derelict – You also raise good points. Working from documents is very important, but it is also important to be able to work from poorly specified problems and incomplete requirements. That is especially important if you want to program gameplay because no matter how good the designer is, they won’t be able to detail how a character can react in every circumstance, and even if they do, there’s a good chance it won’t be fun.

  25. 25David Monarchi
    January 7th, 2007 at 8:47 am

    I’ll add my “excellent article” to the chorus of praise. One note wrt matrices: check out singular value decomposition (SVD). It’s effectively a generalized inverse that applies to non-square matrices. It’s used a lot in a variety of disciplines, frequently with large (e.g., 100K X 1M) sparse matrices.


  26. 26chucky
    January 10th, 2007 at 8:04 pm

    Seems I’m pretty close to qualified… never knew a theoretical physics degeee was so useful ;-)

    PS. The SVD is more like a generalized eigenvalue decomposition rather than an inverse, although given the SVD it’s easy to figure out the inverse (assuming that it has one).

  27. 27Wolf
    January 11th, 2007 at 5:14 pm

    How do you guys remember the vector projection stuff? I can’t unless i study and then i loose it like 2 days later lol

  28. 28CompSci.ca Blog » Breaking into a Video game Programming career
    January 12th, 2007 at 7:15 am

    [...] I had some thoughts on video game programming jobs, but an important question – “if every game studio required 2 years of experience, where would a new graduate get it?”, was not clearly answered. Ilya Grigorik followed up with a link to an interesting article by Matt Gilgenbach, a video game developer. There Matt talks about what he thinks it would take to break into the game development right out of college. “For quite some time, the game industry was an exclusive club that didn’t allow any new blood because every opening required applicants to have 2+ years of experience and 1 shipped title. I don’t think there has ever been a better time to get into the games industry right out of college than now. Because next gen team sizes are increasing drastically, people with experience are harder to find, so more and more companies are recruiting right from colleges. Regardless, of what college you go to, you can still get a job in the games industry provided you have a certain proficiency in the following areas.” [...]

  29. 29Binary Creativity – Things You Need to Know before Interviewing for a Game Programming Position « Danger – No Random Walking!
    January 20th, 2007 at 4:28 am

    [...] Link to Binary Creativity – Things You Need to Know before Interviewing for a Game Programming Position [...]

  30. 30armand bovoso
    January 29th, 2007 at 11:13 am

    i am a student od walter reed middle school. i am wondering if you can email me so i can understand 3d math skills better for my math project. i was inter viewing a woman named ursila that im sure is the top animator of the game call of duty1 and she also is part of other games too but i dont know what they are called. please help me with 3d math skills because when i interviwed her she said 3d math skills and i didnt under stand that. so thankyou and bye

  31. 31Topher
    January 31st, 2007 at 10:55 am

    I actually just broke into the industry right out of college. Someone asked me how close this article portrayed my interview and I’ll admit, it’s close… but to clarify, at least at my interview they don’t ask questions such as “Here’s a camera ray and an AABB, what’s the intersection?”, it’s more of a “So we have this scene and a camera object, how could you optimize?”… (ie, know the material, don’t memerize it)

    Also, my college degree meant little to nothing, it was personal or side projects that got me the interview… and the side projects are what gave me the experience to answer the questions… so if you’re really serious about getting into the industry, get a couple friends together, and start a project… it’ll speak volumes more than a degree will.

  32. 32Matt
    February 5th, 2007 at 6:23 pm

    Wolf – Rather than trying to remember the formula, try to remember the concept, and it’s easy to derive the formula. If you know what the projection really represents, then it’s easy to come up with the formula. So, let’s take a look at what the formula represents, and then derive the formula from that. So, let’s project a vector called v onto a vector called w. The projection is basically calculating the component of one vector that is along the other. The easiest way to explain what the projection represents is with a picture. This website has a good picture to explain it.

    (image from http://www.math.duke.edu/education/ccp/materials/mvcalc/vectors/vec3a.html )

    So, the projection is the vector along w with the magnitude such that if you draw a perpendicular vector from w to the end point of v, where the perpendicular (q in the picture) meets w is the end point of the projection. The projection (p in this picture) begins at the start point.

    Although the description is complex, hopefully the graphic describing what it is will stick in your memory. So now that you hopefully have an idea of what the dot product represents, we can address the task at hand, which is deriving the equation. Notice the triangle formed between p, q and v. Now, you have a triangle and if you remember SOHCAHTOA (Sine = Opposite / Hypotenuse, Cosine = Adjacent / Hypotenuse, Tangent = Opposite / Adjacent) You’ll notice that the hypotenuse is the magnitude of v, and we are looking for the magnitude of p. So, the new equation is:
    Adjacent = |p| = |v| * cos( theta ).
    The definition of the dot product states that:
    v dot w = |v| * |w| * cos( theta )
    To simplify the math, let’s normalize w to create u. That way |u| = 1
    So, v dot u = |v| * cos( theta )
    cos( theta ) = v dot u / |v|
    |p| = |v| * v dot u / |v|
    |p| = v dot u
    So, that’s the magnitude of |p|. The direction is along u, so p = |p| * u
    So, basically that’s one way (of many) to derive the equations from the actual math without memorizing the formulas. That’s usually how I pick up formulas until eventually, it becomes second nature.

  33. 33Matt
    February 6th, 2007 at 1:28 pm

    Topher – Congrats on getting into the industry! No two game companies interview the same way. I’ve been on both sides (interviewing and being interviewed) of quite a few interviews, so I’ve seen a lot of variance. Sometimes specific questions are asked about algorithms or equations. Othertimes code or pseudo-code must be written. Othertimes specific problems have to be solved and/or equations have to be derived. I think if you know the information here and the info contained in the article Dan Sass and I wrote for the game career guide getting a job out of college will be easy. Thanks for posting!

  34. 34Anthony (3N)
    May 4th, 2007 at 4:34 am

    Hello, I’m a graduate from University of Alabama with a Bachelors in Computer Science and a 3.7 GPA (Graduation with Honors and # 17 in my class from Alabama and a 4.0 with my AS Degree in Mathematics at a jr.College Graduating with Highest Honors) and with an A+, C#, JAVA .NET, C++, Visual Basic, Web, BCPL, and Network Communications Certifications (I spent $90 and 2 1/2 weeks for each one!!!) I also Know how to use Perl, and APL (I Studied Greek) and Very Proficient in LINUX and UNIX. I have studied and researched how to program since i was 14 years old during my spare time and on just about every weekend (When I was 16 I wrote my own text-based game (at the time it was like a spin off text game of the game Diablo with D&D features) However I’ve been out of school for a year now and im still unemployed and can hardly pay my rent or feed myself. I was wondering do you have any tips on how I can get my career started? Because I’ve Applied at several places with my Resume and got either Declined because of no prior work history, or I got OVERQUALIFED!! Honestly I want to know, if You interviewed me today for a game design company, what would you do based on what I just said to you about me? (Hire or Not Hire)

  35. 35Matt
    May 4th, 2007 at 2:59 pm

    Anthony – Thank you for the comment. I’m afraid I can’t say exactly whether I would hire you or not because more information is required to determine whether I would hire or not hire someone. Firstly, do you have a demo? A demo is very important to set yourself apart from the hundreds of resumes that recruiters receive. Ideally, a resume should be complemented by a 3d game or tech demo. I think the 3d part is important because 3d requires familiarity with important math concepts such as matrices, quaternions, and vectors. A 2d game can be okay, but it needs to be really well polished and impressive in order to get you considered. If you don’t have a game demo, then you need to put one together before applying places. You have options as far as what technology you want to use. Some good choices are C++ with DirectX, C++ with OpenGL or C# with the XNA Game Studio Express. The XNA Game Studio Express is good because you can develop a game that will run on an Xbox 360 (although it costs $99 for a year long license). Many recruiters specifically look for console experience because the development style is a bit different. (I’ve discussed this somewhat in my recent post on PC vs. Console development) If you had a really cool demo that you put together running on the Xbox 360, then I would imagine you’d have no trouble finding a job.

    I’ve never heard of someone turned down for a job because of being overqualified. The only reason that you would be overqualified is if they are looking to pay someone less money then they’d think you’d ask. Perhaps you could negotiate with them as far as your financial expectations for any positions they may offer you.

    Once you have a good demo, then send your resume everywhere. Go to gamasutra and respond to all the programmer positions they have there. Go to every game developer’s website and respond to any job positions they have open. Be sure to write them a message about how eager you are to get into games and how dedicated you’ve been in pursuing it as a career. In fact, if you have a cool demo, you’re welcome to apply to High Impact Games, where I work. We are hiring currently.

    Another thing is that it’s important to have a professional e-mail address. DevilsChild666@hotmail.com and GanjaLuver420@stoned.net aren’t going to impress any recruiters.

    I hope that helps. Feel free to write back if you have more questions.

  36. 36Marsha
    May 4th, 2007 at 5:43 pm

    Nice site!

  37. 37Shirley
    May 4th, 2007 at 5:57 pm

    Nice site!

  38. 38Cathy
    May 5th, 2007 at 2:21 pm

    Nice site!

  39. 39Terabanitoss
    May 8th, 2007 at 5:00 am

    Hi all!
    You are The Best!!!

  40. 40javatalk
    May 14th, 2007 at 3:16 am



  41. 41Whitney Riley
    May 28th, 2007 at 2:50 pm

    I believe this one applies “Unless each man prodiuses more than he receives, increases his output, there will be less for him than all the others”, doesn’t it?

  42. 42qianlima888
    July 5th, 2007 at 1:02 am


    长时间以来,游戏产业不允许新的血液加入,因为每个职位都要求申请人有2年以上的经验. 但是现在是加入游戏产业的最好的时机. 因为研发队伍的急剧增长, 有经验的人很难找了, 所以越来越多…

  43. 43Enrique Serrano
    July 21st, 2009 at 9:12 am

    This is a really great site! I am an automotive Instructor(52 years old) with 37 years in the automotive industry, with a lot of vision and ideas to put an automotive game together after I finish my course in Gaming and Simulation Programming at Devry University. Everything that you say here is a true reality about knowing your “stuff” before applying to a gaming position. I am just starting to learn a lot of gaming principles, and it may take me another few years before I can do a demo to demonstrate to companies. How about Torque Game Builder engine, is this a good game engine to start developing your first game? Great site!!! I will recommend this site to my to classmates, so they can post. THAK YOU!

  44. 44ejes
    September 8th, 2009 at 11:56 am

    my first job was as a video game developer and one other skill that you don’t have listed here that I found quite useful (although admittedly less useful now, than before but still quite useful) is hardware development and knowledge of hardware communication.

    at least a good understanding as to what the drivers are doing under the hood will help you develop for it.

  45. 45robb
    September 9th, 2009 at 9:28 am

    math and AI is totally a must in this case.
    and dont forget about understanding a concept, rather than memorizing a formula.

Leave a Response

Everything on Binary Creativity is © 2006-2010 Matt Gilgenbach. All rights reserved. | RSS | Comments RSS