<story><title>Books for Game Developers</title><url>https://mrelusive.com/books/books.html</url></story><parent_chain></parent_chain><comment><author>i_c_b</author><text>Wow.  This post gave me emotional whiplash.&lt;p&gt;I opened the collection of links, which is quite good if a bit old.  But then I had a subconscious mental itch, and thought, wait... where had I heard the name mrelusive before?  That sounds _really_ familiar.&lt;p&gt;And then I remembered - oh, right, mrelusive, JP-what&amp;#x27;s-his-name.  I&amp;#x27;ve read a huge amount of his code.  When I was working on Quake4 as a game programmer and technical designer, he was writing a truly prodigious amount of code in Doom 3 that we kept getting in code updates that I was downstream of.&lt;p&gt;And he was obviously a terrifically smart guy, that was clear.&lt;p&gt;But I had cut my teeth on Carmack&amp;#x27;s style of game code while working in earlier engines.  Carmack&amp;#x27;s style of game code did, and still does, heavily resonate with my personal sensibilities as a game maker.  I&amp;#x27;m not sure if that particular style of code was influenced by id&amp;#x27;s time working with Objective-C and NeXTStep in their earlier editors, but I&amp;#x27;ve long suspected it might have been - writing this comment reminds me I&amp;#x27;d been meaning to explore that history.&lt;p&gt;Anyway, idTech4&amp;#x27;s actual game (non-rendering) code was much less influenced by Carmack, and was written in a distinctly MFC-style of C++, with a giant, brittle, scope-bleeding inheritance hierarchy.  And my experience with it was pretty vexed compared to earlier engines.  I ultimately left the team for a bunch of different reasons a while before Quake4 shipped, and it&amp;#x27;s the AAA game I had the least impact on by a wide margin.&lt;p&gt;I was thinking about all this as I was poking over the website, toying with the idea of writing something longer about the general topics.  Might make a good HN comment, I thought...&lt;p&gt;But then I noticed that everything on his site was frozen in amber sometime around 2015... which made me uneasy.  And sure enough, J.M.P. van Waveren died of cancer back in 2017 at age 39.  He was a month younger than me.&lt;p&gt;I didn&amp;#x27;t really know him except through his code and forwards from other team members who were interacting with id more directly at the time.  But what an incredible loss.</text></comment>
<story><title>Books for Game Developers</title><url>https://mrelusive.com/books/books.html</url></story><parent_chain></parent_chain><comment><author>jessetemp</author><text>Circa 90s and early 2000s.&lt;p&gt;I like how there&amp;#x27;s a whole book on quaternions. I&amp;#x27;ve never understood them and I&amp;#x27;m convinced every definition I&amp;#x27;ve read was written by someone who also didn&amp;#x27;t understand them. I might try to find a copy if I ever dabble in 3d again&lt;p&gt;Edit: To clarify, I understand the &lt;i&gt;need&lt;/i&gt; for quaternions (to avoid gimbal lock), just not how to use them manually. Euler angles are simple enough, I can change whichever axis by some degrees or radians. But with quaternions I never understood what was going on under the hood</text></comment>