Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

He could utterly suck as a programmer, or even be fictitious, but that "John Carmack approach" as I call it is still great imo.


Except the reason why Quake (and other such 1st person shooter) games are very fast and optimized... is because John Carmack encouraged high-performance programming which is necessarily only practiced and understood by a very small number of programmers.

Carmack (and id software games) are legendary in terms of their high-performance. And given the source code of these games... the source code filled with raw assembly language and other such tricks like I posted above... the source code is nearly impossible to read for the "typical" programmer.

----------

This is absolutely not a company (or engineer) who did things "simply". He did things in a extremely difficult, high-performance first engineering mindset.

I dare say that John Carmack's practice is closer to "premature optimization", built around abusing incredibly low-level tricks to improve the performance of their various video games... and strategically choosing parts of the video-game simulation that people would prefer high-performance over accuracy. (IIRC: the Fast Inverse Square Root algorithm above is only ~4 digits or 12-bits worth of accuracy).

This was a programmer (or at least, programming team) that at a high level, decided that 12ish-bits of accuracy (out of 23-maximum bits of precision) was enough for their purposes in the vast majority of their code. And then used that slight performance increase to have a smoother-feeling game than their competition.

----------

IIRC, John Carmack is a legendary programmer in terms of low-level 3d details. He is a good programmer, but his style is the complete opposite of what you're calling it.




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

Search: