5 ms·
I think many analytic-type of people (I am part of this group) live in a fantasy land in which the smarter you are, the better game you'll make. Wrong. It's cut
by dvt 13y ago
I think many analytic-type of people (I am part of this group) live in a fantasy land in which the smarter you are, the better game you'll make. Wrong. It's cute that you know how to interpolate quaternions from memory, but that won't make you spit out a good game. First of all, lets look at the term "game programmer": this term is slightly odd -- often times, especially when just starting out, you'll be making games in an indie environment; in such a case, you'll need to be a good game designer. Making an amazing indie game is probably the best way to get in the game industry. Studying math is not.
I'd sum up the most important skill like this: "learn how to finish projects". You can know all the math (or design) in the world, but if you can't finish anything, no one will be impressed unless you want to be code monkey #3249 at EA (and who wants to be that?). This seems easy when read on paper, but in reality it's fucking hard a shit. I've probably abandoned about 95+% of game projects I started. Anyone that says they finish more than 50% of the projects they start is full of shit. This is a skill -- and it's by far the hardest one to hone.
Note that it's not that I don't approve of OP's hard work compiling the list, I just think it perpetuates the idea that good games == good technology. Carmack is a CS genius, sure. But more importantly, he's a damn good game designer.
- mathgladiator 13y ago> fantasy land in which the smarter you are, the better game you'll make This is very true. I can testify that I work very hard at making my own 3D/2D game engines/gui frameworks. Yet, how many games I have finished: 0 > I've probably abandoned about 95+% of game projects I started We should start a club ( http://jeffrey.io/wall-of-shame http://jeffrey.io/wall-of-shame ) > perpetuates the idea that good games == good technology I think, we are very fortunate, to be in this realm of easy and cheap CPU. good technology, back in the old days, were critical to putting out amazing games. This was simply due to the fact that without the crazy tech, you wouldn't have anything worth playing. Now, woah, I can have my browser in an emulated android instance running on my emulated linux machine run games just as good as SNES. For some new side projects, when I just "let go" of all the tricks and crazy algorithms I know and just "code to get things done"; it's like flying. Maybe in the next couple of years, I'll actually finish a game... Maybe
- dvt 13y agoThe wall of shame is not a bad idea. I'd have to go back to when I was like 15 and catalogue the failures of the past 12 years of my life. I'm already depressed just thinking about it :(
- jheriko 13y ago"I think, we are very fortunate, to be in this realm of easy and cheap CPU. good technology, back in the old days, were critical to putting out amazing games. This was simply due to the fact that without the crazy tech, you wouldn't have anything worth playing." i am regularly shocked that 'world class developer a' has no idea about, e.g. bsp trees and partitioning - which are fundamental (or at least good VSD in general) to why e.g. Quake shipped when it did and not 3 years later. and when people moan about memory speeds etc... also the shocking amounts of memory used for simple things. a couple of years back i replaced an utterly broken vsd solution in a 'AAA' game for the current/last gen consoles - the memory footprint was around 1mb, with about 640k of that being totally uncompressed PVS data as bit vectors, but it lived alongside horrendously wasteful systems that managed to use whole megabytes to do tiny things in the world - much less than, you know, drawing all of it. :P also, do note, you can finish a shippable game in a week if you just force yourself. with a month or two constructing a usable fps with physics basic ai and loading some 3rd party environment, meshes and animations is completely feasible even with little prior knowledge. finishing things is the ultimate skill it turns out...
- nilkn 13y agoI agree with most of this post except this: > Making an amazing indie game is probably the best way to get in the game industry. Studying math is not. There are many specialized graphics programmers in the industry. They do not design games. They do not write dialogue. They do not make any art. They don't make sound effects. They don't design plots. But they absolutely do need to know linear algebra and a lot of the stuff listed here. I think the only problem with this post is that its title suggests it's aimed at the general game programmer, but it's actually aimed at the graphics or physics programmer, the sort of guy who would work on the Unreal Engine itself, not a game made with the Unreal Engine. EA is probably a really crappy place to work (don't know for sure, but that'd be my guess). However, I've heard amazing things about, e.g., Valve, and I think they'd be more than happy to hire a brilliant graphics programmer who's never shipped an indie title that he built from scratch.
- dvt 13y agoFair points. But afaik you won't work at Valve unless you have a shipped title. Where they _do_ make exceptions is with people like the CS devs or Icefrog (DOTA). So I still think that if working as a game dev is what you want to do, making a mod/indie title is the best way to go. I know 3 people that work at EA. One of them likes it and two of them hate it. I guess it's like working in any big company. My dad worked for IBM and hated every moment. I, like him, don't think that could never really work at a big company where my creativity/intelligence/drive is inconsequential. Edit: let me just say that maybe there are extenuating circumstances -- for example, if you presented some novel shading algorithm at SIGGRAPH or something. But for the most part, I think my claim holds.
- ameen 13y agoValve isn't an ideal place to work. It has a floundering management structure, hidden office politics and a failed bonus structure. It's only relevant because of its meteoric success of Steam and skill of acquiring/courting quality teams/devs. It's been a long while since Valve has worked on one of their own ideas.
- 13y ago
- groby_b 13y agoHaving worked in that industry for 15 years... You might want to study math after all. It's going to be part of the job interview.
- lackbeard 13y agoNowhere in the post does its author imply that a game is good if and only if it was built using good technology. You present a reasonable idea. But it's totally orthogonal to the content of the post, so I wish you hadn't made it here.
- exDM69 13y ago> I think many analytic-type of people (I am part of this group) live in a fantasy land in which the smarter you are, the better game you'll make. These days this should be called "essential math for game engine programmers". You're not going to write a good 3d game engine without knowing how to interpolate quaternions, for example (needed e.g. in skeletal animation). If you just want to write a game, you should pick up an existing engine and go with that. No extensive math or 3d skills required. If, however, you want to learn how computer games work underneath the surface, you will have to learn the math.
- chipsy 13y agoThere's an extremely important design skill in knowing what kinds of algorithms might be fun to turn into a playable form, and doing that is a mix of getting past preconceived "all games are like this" notions, and having substantial breadth of technical experience(i.e. if you're still in high school, it's too early to expect anything, even if you're a prodigy). But I will agree on this point - it's not the same as doing the complicated engineering needed to match existing game tech feature-for-feature. Nobody will notice a better photorealistic renderer - but they might notice an aesthetic or a kind of simulation that's completely untried or previously abandoned. And there's also increasingly a place for "outsider" works now, because the off-the-shelf tools are very capable. Tech skills still help smooth the way with those, but I've encountered a lot of people who aren't deep into CS and get by with a lot of handholding from friends. I find this more interesting than traditional gamedev now, since there are so many perspectives outside of the tech sphere.
- bloodorange 13y agoIf you are not working at a large game-dev studio, you need both skills. Most of what you need to do is already 'designed' but often you end up taking calls on things that are not clearly laid out for you. You may also end up working where there is a clear 'game designer' and 'game programmer' separation even if it is a small studio (20-30 people). In both these cases, you need to know your basic 3d maths to be useful in your role. I concede that it's much easier nowadays since you end up using an engine that abstracts most things for you. Nevertheless, you do end up hitting the limits of the engine and may want to implement that killer feature yourself. I have encountered all of these situations. I'll say that the minimum you should know if you want to be a game programmer is: - high school level algebra - high school level trigonometry - basic 3d vector mathematics - an understanding of graphics transformation (and the corresponding matrices) - basic splines If you are looking for a very specialised role, then you can probably forget these and focus on say AI or Networking but I see that as too risky in an industry that is already infamous for its treatment of employees. [Edit: Formatting]
- ameen 13y agoCarmack was a damn good game designer. Considering the reception and the financial performance of RAGE (id's latest release), I'd say he isn't that good a game designer he once was.