{"id":4876,"date":"2012-07-01T00:49:50","date_gmt":"2012-07-01T05:49:50","guid":{"rendered":"http:\/\/bucktownbell.com\/?p=4876"},"modified":"2012-07-01T13:34:43","modified_gmt":"2012-07-01T18:34:43","slug":"quake-3-source-code-review-architecture","status":"publish","type":"post","link":"http:\/\/bucktownbell.com\/?p=4876","title":{"rendered":"Quake 3 Source Code Review"},"content":{"rendered":"<blockquote><p>Since I had one week before my next contract I decided to finish my &#8220;cycle of id&#8221;. After <a href=\"http:\/\/fabiensanglard.net\/doomIphone\/index.php\">Doom<\/a>, <a href=\"http:\/\/fabiensanglard.net\/doomIphone\/doomClassicRenderer.php\">Doom Iphone<\/a>, <a href=\"http:\/\/fabiensanglard.net\/quakeSource\/index.php\">Quake1<\/a>, <a href=\"http:\/\/fabiensanglard.net\/quake2\/index.php\">Quake2<\/a>, <a href=\"http:\/\/fabiensanglard.net\/wolf3d\/index.php\">Wolfenstein iPhone<\/a> and <a href=\"http:\/\/fabiensanglard.net\/doom3\/index.php\">Doom3<\/a> I decided to read the last codebase I did not review yet:<\/p>\n<p>idTech3 the 3D engine that powers Quake III and <a href=\"http:\/\/www.quakelive.com\/\">Quake Live<\/a>.<\/p><\/blockquote>\n<p>via <a href=\"http:\/\/fabiensanglard.net\/quake3\/index.php\">Quake 3 Source Code Review: Architecture<\/a>.<\/p>\n<blockquote><p>I was particularly impressed by :<\/p>\n<ul>\n<li>The virtual machine<span style=\"text-decoration: underline;\">s<\/span> system and the associated toolchain that altogether account for 30% of the code released. Under this perspective idTech3 is a mini operating system providing system calls to three processes.<\/li>\n<li>The elegant network system based on snapshots and memory introspection.<\/li>\n<\/ul>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Since I had one week before my next contract I decided to finish my &#8220;cycle of id&#8221;. After Doom, Doom Iphone, Quake1, Quake2, Wolfenstein iPhone and Doom3 I decided to read the last codebase I did not review yet: idTech3 &hellip; <a href=\"http:\/\/bucktownbell.com\/?p=4876\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[54],"tags":[701,702,107,684],"class_list":["post-4876","post","type-post","status-publish","format-standard","hentry","category-programming","tag-code-review","tag-educational","tag-reference","tag-software-architecture"],"_links":{"self":[{"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/posts\/4876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4876"}],"version-history":[{"count":3,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/posts\/4876\/revisions"}],"predecessor-version":[{"id":4885,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/posts\/4876\/revisions\/4885"}],"wp:attachment":[{"href":"http:\/\/bucktownbell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4876"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}