Code Review of Doom For the iPhone

Posted on Feb 04, 2010 under Main |

Developer Fabien Sanglard has written a code review for id Software’s iPhone port of Doom. It’s an interesting look into how the original 1993 game (which he also reviewed to understand its rendering process) was adapted to a modern platform. “Just like Wolfenstein 3D, Doom was rendering a screenframe pixel per pixel. The only way to do this on iPhone with an acceptable framerate would be to use CoreSurface/CoreSurface.h framework. But it is unfortunately restricted and using it would prevent distribution on the AppStore. The only solution is to use OpenGL, but this comes with a few challenges: Doom was faking 3D with a 2D map. OpenGL needs real 3D vertices. More than 3D vertices, OpenGL needs data to be sent as triangles (among other things because they are easy to rasterize). But Doom sectors were made of arbitrary forms. Doom 1993’s perspective was also faked, it was actually closer to an orthogonal projection than a perspective projection. Doom was using VGA palette indexing to perform special effect (red for damage, silver for invulnerable…).”

code ccode coode codde codee code review rreview reeview revview reviiew revieew revieww review of oof off of em eem emm em doom ddoom dooom dooom doomm doom for ffor foor forr for the tthe thhe thee the iphone iiphone ipphone iphhone iphoone iphonne iphonee iphone code ode cde coe cod code review eview rview reiew revew reviw revie review of f o of em m e em doom oom dom dom doo doom for or fr fo for the he te th the iphone phone ihone ipone iphne iphoe iphon iphone code c ode co de cod e code code review r eview re view rev iew revi ew revie w review review of o f of of em e m em em doom d oom do om doo m doom doom for f or fo r for for the t he th e the the iphone i phone ip hone iph one ipho ne iphon e iphone iphone code ocde cdoe coed code code review erview rveiew reivew reveiw reviwe review review of fo of of em me em em doom odom doom domo doom doom for ofr fro for for the hte teh the the iphone pihone ihpone ipohne iphnoe iphoen iphone iphone xode vode cide cpde cose cofe codw codr eeview teview rwview rrview reciew rebiew revuew revoew reviww revirw revieq reviee if pf od og wm rm en soom foom diom dpom doim dopm doon dor gor fir fpr foe fot rhe yhe tge tje thw thr uphone ophone iohone ipgone ipjone iphine iphpne iphobe iphome iphonw iphonr ckode tode kode sode zode qode cughde cade cote codi codee codae codea coda erview riview reeview raeview reaview raview refiew reffiew rewiew reveew revieew reveeew revaew reveaew revyew reviw reviiw revieew reviaew revieaw reviaw reviev reviewh revieu ughf af oph ov im eem aem eam am toom dughom daom dum doughm doam phor vor fughr far dhe thi thee thae thea tha ephone iephone eephone aphone eaphone yphone ibhone ifone iphughne iphane iphokne iphoni iphonee iphonae iphonea iphona

Comments are closed.