Hacker News new | past | comments | ask | show | jobs | submit login

This blows my mind - how many years of programming must you have under your belt before you can even comprehend writing something like this?

Are these established methods that you can google and pick up anywhere, or is there a lot of experimentation going on to see what works?




Not exactly years of programming. But years of studying computer graphics, as applied to games.

I bet I could show this article to myself back when I started CompSci and be able to comprehend most of it. But I was a Gamedev.Net addict, tried my hand at competitions and tried to write my own 3d engine. At some point, my mathematical knowledge became the bottleneck.

There are a lot of established methods, you can pick a lot by reading SIGGRAPH, but that's too heavy early on. If you are truly interested, you should start by learning how to put simple 3d geometry on screen. Then, when trying to figure out how to make things look better, you'll naturally gravitate to learning what you need.

Nowadays, it is much easier to start, since we have WebGL and all you need is a browser and javascript. On the other hand, shaders are now a mandatory part of the rendering pipeline, so you need to learn those.

When trying to apply these techniques in real games, there's indeed lots of experimentation. And many times game developers come up with novel techniques. See papers by Valve, for instance.


It's not that mindblowing, although it does require a chunk of maths. It's only really the shadows that are complicated. And yes, it's a stack of established methods which have been built up over decades. SIGGRAPH is a good place to start, and there are open source 3D engines (including the ID software ones) to refer to.

"Mindblowing" are the demoscene people who fit this (or something more complex with procedural generation) into 64k or 4k binaries.


I finished an MSc course in Games Engineering and we covered 90% of things in this article. For the final project we had demos with pretty much everything covered there + post process shaders + deferred lighting + DX11 tessalation shaders + ambient occlusion.

So yeah, I think you can find very good uni courses which cover those things, but they are not very common - I know I can certainly recommended mine, I got a job in the games industry straight away after it.


Which course was that?


http://www.ncl.ac.uk/postgraduate/courses/degrees/computer-g...

Literally every person that I knew who was on this course is now either in a job(in games industry) or doing a PhD.


Ah thank you for sharing. Wish I had access to something like this when I was in college. Might I ask what the textbook/s were for this course?


Textbooks? Seriously, I finished a BSc Computer Science degree then did MSc in Games Engineering and never had a single textbook. Lecturers would hand the notes out(but they were also available online as pdfs), that was all that was needed.

Edit: obviously there were books which were "recommended reading" but very few people bought them, they were all in the library anyway if someone needed one. I think you can see the list if you click on "modules" and then click on a specific one, it tells you the structure of the module and recommended reading.


Both. You can find existing references for each one of those techniques, and even for the architectural concepts behind an engine. But you have to figure out which techniques are the right choice (you may need to invent some), and how they fit together, for the needs of your particular game / style / style.


Nothing to do with years. Graphics programming is a specialism




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: