8 ms·
Essential Math for Games Programmers
- binarymax 13y agoWow this resource is awesome. I don't really write games per se, but I enjoy writing interactive visuals - and this will definitely help me get to the next level. Thanks!
- Cederfjard 13y agoBesides this, are there any other resources you would recommend for getting into writing visuals?
- binarymax 13y agoThats the thing - Its hard for me to give you an exact resource - since the first thing I ever coded was a visual, using logo, when I was a wee lad. Over time I just kinda picked stuff up here and there, mostly by reading code that others have done. For a long time I was obsessed with coding straight up pixels, and writing putpixel routines. Even lots of the html5/canvas stuff I do these days is just getting the context imagedata buffer and writing straight to that. It was a totally organic process with zero structure. So if I were going to start again from scratch, I would probably do the following: - Choose one platform to target (HTML5/Canvas, WebGL, OpenGL, DirectX, etc) - Pick up a book and learn the basics of that platform, and do the exercises - Learn what you can about the APIs and start playing around. - Fractals and cellular automata are always fun - you can find Mandlebrot and game of life examples in pretty much any language. - Think of something in your head and try to make it happen! - Add interaction - Rinse and repeat
- randac 13y agoI was thinking the same... I was about to browse through some of the demo code, but the links are broken..
- kayoone 13y agoI can only recommend for any programmer to get into graphics/game programming even if you dont have any prior knowledge. The required skills are vastly different from web development for example. While in Web Development its alot about Architecture, Services, binding countless of Technologies together in the right way, game/graphics programming is alot more about programming clever and well-performing algorithms and math. Add some network programming (multiplayer) to the mix and you have one more extra level of complexity to master. Gave me alot to learn!
- GeneralMayhem 13y agoGame dev certainly also requires a lot of high-level architecture work. Making a good modern game basically requires being world-class at everything, all at once.
- datalus 13y agoAnd being paid significantly less for it.
- deleted 13y ago[deleted]
- kiba 13y agoYou mean for triple A games? Yes. Right now, I am writing a text adventure bushcraft game and the coding is almost tedious and boring.
- nawitus 13y ago>Making a good modern game basically requires being world-class at everything, all at once. Or you can use a framework which makes everything easy, like Unity.
- EpicEng 13y agoYeah, until you run into a performance problem and have no clue how to even approach solving it.
- cwarrior 13y agoAs a starting web programmer who has to create a lot of css/javascript animations, this is amazing.
- mrcactu5 13y agoI really wish they'd use PDF instead of powerpoint. It's really surprising there's this much math in videogame programming. There is all kinds of awesome geometry algorithms out there but I didn't know if they were used in the real-world. http://www.cs.jhu.edu/~misha/Fall09/ http://www.cs.jhu.edu/~misha/Fall09/ My background is in math without too much knowledge about specific video games but I really love shapes. I wonder if I could fit in there.
- nudetayne 13y agoThe universe is governed by math. There's a surprising amount of math in everything.
- xedarius 13y agoProbably worth noting that over time the games industry has become more specialised. The skills listed are essential for working in certain areas, for example rendering, engine work and physics. Knowing how to interpolate a catmull rom spline is not required of a network programmer. If you're considering a career in the games industry the best advice I can give you is to create a demo of your work. Do not build something ontop of a mod, build something of your own, be original and creative (something that the list does not emphasis). Don't worry if you can't draw, it matters not.
- dvt 13y agoI disagree slightly. I think that building a mod is, bar none, the best way to test the waters of game design. Furthermore, many (many) extremely talented game designers got into "real" game design by modding: from Counter-Strike, to DOTA, to Natural Selection, building a good mod is easier and far more consequential than slogging through building yet another Pong clone.
- gcb0 13y agoThis is only useful if you're writing your own 3d engine. For 2d and for using existing engines just go read about polar coordinates and get really good at trigonometry in general, both not much represented on this ... probably a requirement new reading any of those anyway.
- dvt 13y agoI 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
- 13y ago
- jheriko 13y agoi'm always wary of this kind of stuff. learning things upfront - not just for games, but in general for programming - is often a fantastic waste of time. the greatest skill to learn imo is how to research a problem effectively when you hit it and how to (re)invent wheels when you need to... also, my experience is that things learned this way stick better and are understood more thoroughly.
- kyle_martin1 13y agoCommenting to save.
- cskau 13y agoNo need. If you up-voted the post: https://news.ycombinator.com/saved?id=kyle_martin1 https://news.ycombinator.com/saved?id=kyle_martin1