<?xml version="1.0"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
 <channel>
  <title>fabiensanglard.net</title>
<atom:link href="http://fabiensanglard.net/rss.xml" rel="self" type="application/rss+xml" />
  <link>http://fabiensanglard.net</link>
  <description>Chronicles of software wizardry.</description>
  <language>en-us</language>
  <copyright></copyright>
  <lastBuildDate>Fri, 23 Dec 2011 01:08:45 0000</lastBuildDate>
  <docs>http://www.rssfeedssubmit.com/rss-generator/</docs>
  <image>
   <url>http://fabiensanglard.net/Prototyp/Prototyp.png</url>
   <title>fabiensanglard.net</title>
   <link>http://fabiensanglard.net</link>
  </image>

  
<item>                                                                                                                                     
   <title>Another World Code Review.</title>                                                                                       
  <guid>http://fabiensanglard.net/anotherWorld_code_review/index.php</guid>                                                               
  <link>http://fabiensanglard.net/anotherWorld_code_review/index.php</link>                                                               
   <description>&lt;img src=&quot;http://fabiensanglard.net/anotherWorld_code_review/mainImage.jpg&quot;/&gt; &lt;br/&gt;       
&lt;br/&gt;                                                                                                                                    


I spent two weeks reading and reverse engineering further the source code of Another World (Out Of This World in North America). I based my work on Gregory Montoir's binary to C++ initial reverse engineering from the DOS executable.&lt;br/&gt;
&lt;br/&gt;                                                                                                                                                                                                                                            
I was amazed to discover an elegant system based on a virtual machine interpreting bytecode in realtime and generating fullscreen vectorial cinematic in order to produce one of the best game of all time.&lt;br/&gt;                                 
&lt;br/&gt;                                                                                                                                                                                                                                            
All this shipping on a 1.44MB floppy disk and running within 600KB of RAM: Not bad for 1991 ! As usual I cleaned up my notes, it may save a few hours to someone.&lt;br/&gt;                                                                           
                                                                                                                                             






&lt;br/&gt;                                                                                                                                  
.&lt;a href=&quot;http://fabiensanglard.net/anotherWorld_code_review/index.php&quot;&gt; More...&lt;/a&gt;                                
</description>                                                                                                                               
   <pubDate>Sun, 27 Nov 2011 01:08:45 0000</pubDate>                                                                                         
 </item>                                                                                                                                     
  

<item>
   <title>Progressive playback: An atom story.</title>
  <guid>http://fabiensanglard.net/mobile_progressive_playback/index.php</guid>
  <link>http://fabiensanglard.net/mobile_progressive_playback/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/mobile_progressive_playback/exploded-andy-small.jpg&quot;/&gt; &lt;br/&gt;
&lt;br/&gt;

I have been doing a lot of work with video containers recently, especially figuring out interoperability between iOS/Android and optimizing progressive playback. In particular it seems Android devices fail to perform progressive playback on certain files while iOS and VLC succeed:&lt;br/&gt;
&lt;br/&gt;
Why ?&lt;br/&gt;
&lt;br/&gt;
As usual understanding things to the deep down proved extremely worthy. &lt;br/&gt;
         &lt;br/&gt;
&lt;br/&gt;
.&lt;a href=&quot;http://fabiensanglard.net/mobile_progressive_playback/index.php&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Sun, 27 Nov 2011 01:08:45 0000</pubDate>
 </item>  


<item>
   <title>How to build Doom3 on Mac OS X with XCode.</title>
  <guid>http://fabiensanglard.net/doom3_macosx/index.php</guid>
  <link>http://fabiensanglard.net/doom3_macosx/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/doom3_macosx/doom3_macosx.jpg&quot;/&gt; &lt;br/&gt;
&lt;br/&gt;
The source code of Doom3 has been released three days ago :) ! I have started to read it and I will probably write a code review if enough people are interested.&lt;br/&gt;
      &lt;br/&gt;
      According to the README.txt  the source code is building well with Visual Studio 2010 but it is not building at all on Mac OS X with XCode 4.0 ( it is actually very broken :( !).&lt;br/&gt;
      &lt;br/&gt;
      Here are the instructions to get it to run...but if you just want to download Doom3 source code for Xcode 4:&lt;br/&gt;
      &lt;br/&gt;
      I uploaded it on github.
      
        &lt;br/&gt;
         
&lt;br/&gt;
.&lt;a href=&quot;http://fabiensanglard.net/doom3_macosx/index.php&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Fri, 25 Nov 2011 01:08:45 0000</pubDate>
 </item>  
 




  
<item>
   <title>Quake 2 Source Code Review</title>
  <guid>http://fabiensanglard.net/quake2/index.php</guid>
  <link>http://fabiensanglard.net/quake2/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/quake2/quake2_icon.jpg&quot;/&gt; &lt;br/&gt;

         I spent about a month in my spare time reading the source code of Quake II. It was a wonderful learning 
         experience since one major improvement in idTech3 engine was to unify Quake 1, Quake World and QuakeGL 
         into one beautiful code architecture. The way modularity was achieved even though the C programming language 
         doesn't feature polymorphism was especially interesting.
         
&lt;br/&gt;
.&lt;a href=&quot;http://fabiensanglard.net/quake2/index.php&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Tue, 20 Sep 2011 01:08:45 0000</pubDate>
 </item>  
 
   
  
  
<item>
   <title>Solving Ghost in The Wire codes</title>
  <guid>http://fabiensanglard.net/Ghost_in_the_Wires/index.php2</guid>
  <link>http://fabiensanglard.net/Ghost_in_the_Wires/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/Ghost_in_the_Wires/icon.jpg&quot;/&gt; &lt;br/&gt;

         100% completed: All codes from kevin mitnick book (&quot;Ghost in The Wires&quot;) have been broken.
         
&lt;br/&gt;
.&lt;a href=&quot;http://fabiensanglard.net/Ghost_in_the_Wires/index.php&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Sun, 11 Sep 2011 01:08:45 0000</pubDate>
 </item>  
  
   
  
<item>
   <title>Solving Ghost in The Wire codes</title>
  <guid>http://fabiensanglard.net/Ghost_in_the_Wires/index.php</guid>
  <link>http://fabiensanglard.net/Ghost_in_the_Wires/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/Ghost_in_the_Wires/icon.jpg&quot;/&gt; &lt;br/&gt;

         I received today my copy of Kevin Mitnick's book: Ghost in The Wires. It is a great read so far. But even more interesting are the cyphered sentences at the beginning of each chapters. I am trying to solve all of them but if you can contribute, comment or send me an email !
         
&lt;br/&gt;
.&lt;a href=&quot;http://fabiensanglard.net/Ghost_in_the_Wires/index.php&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Thu, 8 Sep 2011 01:36:45 0000</pubDate>
 </item>  
  
  
  
<item>
   <title>Hacker Monthly publication</title>
  <guid>http://fabiensanglard.net/hackerMonthly/index.php</guid>
  <link>http://fabiensanglard.net/hackerMonthly/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/hackerMonthly/hackerMonthly.jpg&quot;/&gt; &lt;br/&gt;

         Hacker Monthly July edition has published my article in which I described the internals of Doom engine.. &lt;br/&gt;
  
&lt;br/&gt;
.&lt;a href=&quot;http://fabiensanglard.net/hackerMonthly/index.php&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Fri, 15 Jul 2011 01:36:45 0000</pubDate>
 </item>  



<item>
   <title>SHMUP Source Code</title>
  <guid>http://fabiensanglard.net/shmup_source_code/index.php</guid>
  <link>http://fabiensanglard.net/shmup_source_code/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/shmup_source_code/source_code.png&quot;/&gt; &lt;br/&gt;

         I have decided to release the full source code of &quot;Shmup&quot; a shoot'em up 3D engine specially designed for mobile platform and released on iOS in 2010. The game and engine are fairly inspired of Ikaruga, the legendary shmup from the 1999 DreamCast. Anything you saw in Ikaruga, this engine can do it too.&lt;br/&gt;
	The license is GPL which mean you have to release the source code of what you produce with it. Note that the &lt;code&gt;data&lt;/code&gt; folder is provided so you can play with it but you are not free to redistribute it and I remain the owner of the content (except for the song from Future Crew that was licensed). &lt;br/&gt;
	
&lt;br/&gt;
.&lt;a href=&quot;http://fabiensanglard.net/shmup_source_code/index.php&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Thu, 30 Jun 2011 01:36:45 -0600</pubDate>
 </item>  
 
   

<item>
   <title>Polygon Codec</title>
  <guid>http://fabiensanglard.net/polygon_codec/index.php</guid>
  <link>http://fabiensanglard.net/polygon_codec/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/polygon_codec/polyCodec.png&quot;/&gt; &lt;br/&gt;

          Back in the summer of 2009 I was working on a 3D engine that would power my next game: A 3D shoot'em up a la Ikaruga. The target was the very first iPhone (now called iPhone 2G). Despite being impressive on paper (600Mhz with dedicated GPU), the hardware had several issues and the lack of dedicated VRAM was a huge bottleneck.&lt;br/&gt; 
      &lt;br/&gt;
      Unwilling to settle for anything less than 60 frames per second I became obsessed with saving bandwidth and I tried different approach until an idea proved to be not so bad...but I had to dive in the four dimensionnal world of homogeneous coordinates to make it work.

&lt;br/&gt;
.&lt;a href=&quot;http://fabiensanglard.net/polygon_codec/index.php&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Sun, 26 Jun 2011 15:36:45 -0600</pubDate>
 </item>  





<item>
   <title>dEngine Source Code Released</title>
  <guid>http://fabiensanglard.net/dEngineSourceCodeRelease/index.php</guid>
  <link>http://fabiensanglard.net/dEngineSourceCodeRelease/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/dEngine/dEngine.jpg&quot;/&gt; &lt;br/&gt;
I've decided to release the source code of the OpenGS ES 1.0/2.0 renderers I wrote in the summer of 2009 nicknamed "dEngine". It was the first renderer to feature Shadow Mapping and Bump Mapping on iPhone at the time. Note that shadow mapping was achieve by packing the depth informations in a color texture but now you have access to GL_OES_depth_texture so you should be able to gain so more speed.&lt;br/&gt;
&lt;br/&gt;
I consider it a good tutorial for OpenGL ES 2.0, you can read about bump-mapping and shadow-mapping with a fun example from a Doom 3 level.&lt;br/&gt;
&lt;br/&gt;
The OpenGL ES 2.0 renderer feature uber-shaders: Depending on the material currently renderered a shader is recompiled on the fly in order to avoid branching.&lt;br/&gt;
&lt;br/&gt;
Enjoy: &lt;br/&gt;
&lt;br/&gt;
.&lt;a href=&quot;http://fabiensanglard.net/dEngineSourceCodeRelease/index.php&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Thu, 28 Apr 2011 15:36:45 -0600</pubDate>
 </item>   



<item>
   <title>To generate 60fps videos on iOS</title>
  <guid>http://fabiensanglard.net/shmup_generate_videos/index.php</guid>
  <link>http://fabiensanglard.net/shmup_generate_videos/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/shmup_generate_videos/video_icon.jpg&quot;/&gt; &lt;br/&gt;
Back in winter 2009 I was working pretty hard on the 3D engine that would power my next iPhone/iPad game: &lt;a href=&quot;http://itunes.apple.com/us/app/shmup/id337663605?mt=8&quot;&gt;"SHMUP"&lt;/a&gt;. To demo the work in progress required to generate videos, a task far from being trivial on a smartphone: Slow CPU/GPU, Little RAM, no TV output, no storage space, no real multitasking. Hence I had the idea to have the engine generate its own videos. This is how I did it, maybe it will inspire someone..&lt;a href=&quot;http://fabiensanglard.net/shmup_generate_videos/&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Mon, 21 Feb 2011 15:36:45 -0600</pubDate>
 </item>   
  
<item>
   <title>To become a good C programmer</title>
  <guid>http://fabiensanglard.net/c/index.php</guid>
  <link>http://fabiensanglard.net/c/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/c/c2.jpeg&quot;/&gt; &lt;br/&gt;
Every once in a while I receive an email from a fellow programmer asking me what language I used for one of my games and how I learned it. Hence, I thought it may help a few people to list here the best things to read about C. If you know of other gems, please email me or add a comment at the bottom of the page.&lt;a href=&quot;http://fabiensanglard.net/c/index.php&quot;&gt; More...&lt;/a&gt;
</description>
   <pubDate>Wed, 02 Feb 2011 15:36:45 -0600</pubDate>
 </item> 

<item>
   <title>SHMUP Lite</title>
  <guid>http://fabiensanglard.net/shmupLite/</guid>
  <link>http://fabiensanglard.net/shmupLite/</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/shmupLite/shmupLite.jpg&quot;/&gt; &lt;br/&gt;
I have decided to release a free version of &lt;a href="http://fabiensanglard.net/shmup/"&gt;"SHMUP"&lt;/a&gt;. It is called &lt;a href="http://itunes.apple.com/app/shmup-lite/id407588246?mt=8"&gt;"SHMUP Lite"&lt;/a&gt; and the only limitation is that you can only play the first level for free, if you want to continue further you have to go for the full version.
</description>
   <pubDate>Sun, 19 Dec 2010 15:36:45 -0600</pubDate>
 </item> 

<item>
   <title>All about the fillrate.</title>
  <guid>http://fabiensanglard.net/fillrate_issues/</guid>
  <link>http://fabiensanglard.net/fillrate_issues/</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/fillrate_issues/bladeInfinity.jpg&quot;/&gt; &lt;br/&gt;I bought "Blade infinity" yesterday. The game is a lot of fun and has the ability to satisfy both people looking for instant fun and people wishing for a long game while collecting powerful items. At $5.99 it is a bargain, a must have not only for the gameplay but also for its graphical breakthrough, just like Rage HD.&lt;br/&gt;
&lt;br/&gt;
The game programmer in me really wanted to understand the engine and I was especially interested to see the game being released as a universal binary running on iPhone 3GS, iPhone4 and iPad. Those three devices have different capabilities but down the line it is often about managing the fillrate.</description>
   <pubDate>Sat, 11 Dec 2010 15:36:45 -0600</pubDate>
 </item> 

<item>
   <title>Tracing the baseband.</title>
  <guid>http://fabiensanglard.net/cellphoneModem/index.php</guid>
  <link>http://fabiensanglard.net/cellphoneModem/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/cellphoneModem/androIphone.jpg&quot;/&gt; &lt;br/&gt; I  was reading an article on planetbeing's blog the other day and my curiosity was tipped off when he mentioned that phones don't run only one operating system but two. I decided to learn a bit how all this really works and here are my notes with the source code associated. Hopefully it will help someone investigating the subject..</description>
   <pubDate>Thu, 27 May 2010 12:08:27 -0600</pubDate>
 </item> 


<item>
   <title>Doom iPhone  code review.</title>
  <guid>http://fabiensanglard.net/doomIphone/index.php</guid>
  <link>http://fabiensanglard.net/doomIphone/index.php</link>
   <description>&lt;img src=&quot;http://fd.fabiensanglard.net/doomIphone/doomiPhoneEngine.jpg&quot;/&gt; &lt;br/&gt; I took some time away from programming something I hope will become a really good shmup and read the source code of Doom for iPhone. I was very interested in finding out how a pixel oriented engine made the transition to openGL. Here are my notes, as usual I got a bit carried away with the drawings.</description>
   <pubDate>Mon, 1 Feb 2010 00:33:27 -0400</pubDate>
 </item> 

<item>
   <title>Doom engine 1993 code review.</title>
  <guid>http://fabiensanglard.net/doomIphone/doomClassicRenderer.php</guid>
  <link>http://fabiensanglard.net/doomIphone/doomClassicRenderer.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/doomIphone/doomClassic.jpg&quot;/&gt; &lt;br/&gt; Before studying the iPhone version, it was important for me to understand how Doom engine WAS performing rendition back in 1993. After all the OpenGL port must reuse the same data from the WAD archive. Here are my notes about Doom 1993 renderer, maybe it will help someone to dive in.</description>
   <pubDate>Wed, 13 Jan 2010 00:33:27 -0400</pubDate>
 </item>   
    
<item>
   <title>Don't learn Assembly on Mac OS X.</title>
  <guid>http://fabiensanglard.net/macosxassembly/index.php</guid>
  <link>http://fabiensanglard.net/macosxassembly/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/macosxassembly/macosxassembly.jpg&quot;/&gt; &lt;br/&gt; I had to do some low level work with Mac OS X snow-leopard using my MacBookPro CoreDuo2. I learned plenty regarding GAS for i386 and x86_64 but I would not recommend this setup to learn assembly. I think Apple's specific would discourage a beginner and impair ability to use code samples found in most books. I would rather recommend a IBM T42 with Linux Ubuntu.</description>
   <pubDate>Thu, 31 Dec 2009 00:33:27 -0400</pubDate>
 </item>  
  
<item>
   <title>Apple iPhone Tech Talk 2009 tricks and treats</title>
  <guid>http://fabiensanglard.net/appleTechTalk2009/index.php</guid>
  <link>http://fabiensanglard.net/appleTechTalk2009/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/appleTechTalk2009/appleTechTalk2009.jpg&quot;/&gt; &lt;br/&gt; Today I took a day off from work to attend the iPhone Apple Tech Talk 2009 in Toronto. I learned a few cool things and though I should share it with the two lost developers that may stumble on this page. I haven't had time to test and verify all of this so as usual: Do your own testing and trust nobody!.</description>
   <pubDate>Thu, 03 Dec 2009 00:33:27 -0400</pubDate>
 </item>


<item>
   <title>iPhone 3D engine programming part 1</title>
  <guid>http://fabiensanglard.net/dEngine/index.php</guid>
  <link>http://fabiensanglard.net/dEngine/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/dEngine/dEngine.jpg&quot;/&gt; &lt;br/&gt; Pumped up by the tremendous success of Fluid (4,000,000+ downloads) and Fluid 2 (50,000+ downloads), I started two month ago to write a real game for iPhone: Here is a modest report of my experience in the process.</description>
   <pubDate>Mon, 19 Oct 2009 00:33:27 -0400</pubDate>
 </item>
  
 <item>
   <title>Armadillo Space T-shirt</title>
   <link>http://fabiensanglard.net/armadilloSpace/index.php</link>
   <guid>http://fabiensanglard.net/armadilloSpace/index.php</guid>
   <description>&lt;img src=&quot;http://fabiensanglard.net/armadilloSpace/armadilloSpace.jpg&quot;/&gt; &lt;br/&gt;Finally received my Armadillo Space T-Shirt and mug. I recommend them !</description>
   <pubDate>Wed, 14 Oct 2009 00:33:27 -0400</pubDate>
 </item>

<item>
   <title>Fluid speed issues!</title>
   <guid>http://fabiensanglard.net/fluide/index.php</guid>
   <link>http://fabiensanglard.net/fluide/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/fluide/fluide.jpg&quot;/&gt; &lt;br/&gt;Fluid v1.3 is too fast on 3GX iPhones ;( ! I will released a fix tonight !</description>
   <pubDate>Mon, 29 Jun 2009 00:33:27 -0400</pubDate>
 </item>

<item>
   <title>Fluid2 RELEASED ! Fluid 1 now at 3,000,000 downloads !!</title>
   <guid>http://fabiensanglard.net/fluide/index.php/.</guid>
   <link>http://fabiensanglard.net/fluide/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/fluide/fluide.jpg&quot;/&gt; &lt;br/&gt;Fluid 2 was released today with plenty of news features, check it out !</description>
   <pubDate>Tue, 9 Jun 2009 00:33:27 -0400</pubDate>
</item>

<item>
   <title>Fluid: 1,000,000 downloads !!</title>
   <guid>http://fabiensanglard.net/fluide/././index.php</guid>
   <link>http://fabiensanglard.net/fluide/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/fluide/fluide.jpg&quot;/&gt; &lt;br/&gt;Version 1.1 is a HUGE success, I've just posted revision 1.2 and started working on 1.3 and 2.0 ! Stay tuned !</description>
   <pubDate>Thu, 14 May 2009 00:33:27 -0400</pubDate>
  
</item>

<item>
   <title>Fluid v1.1 up and coming...</title>
      <guid>http://fabiensanglard.net/fluide/./././index.php</guid>
   <link>http://fabiensanglard.net/fluide/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/fluide/fluide.jpg&quot;/&gt; &lt;br/&gt;Fluid version 1.1 will be released next week. Zen music and changing background...</description>
   <pubDate>Sat, 9 May 2009 00:33:27 -0400</pubDate>
</item>
  
<item>
   <title>Wolfenstein 3D for iPhone code review</title>
   <guid>http://www.fabiensanglard.net/wolf3d/index.php</guid>
   <link>http://www.fabiensanglard.net/wolf3d/index.php</link>
   <description>&lt;img src=&quot;http://fabiensanglard.net/wolf3d/wold3Dthumb.jpg&quot;/&gt; &lt;br/&gt;For once, developers were able to read the source code of an id software product just a few days after its release. I spent a week in my spare time reading the internal of the Wolfenstein 3D for iPhone engine. It is by far the cleanest and easiest id source code release to date.
</description>
	<pubDate>Sat, 9 May 2009 00:33:27 -0400</pubDate>
</item>	
  
<item>
   <title>Fluide</title>
    <guid>http://fabiensanglard.net/fluide/././././index.php</guid>
   <link>http://fabiensanglard.net/fluide/index.php</link>
   <description>Fluid tech demo released on iPhone !!!</description>
   <pubDate>Wed, 15 Apr 2009 00:33:27 -0400</pubDate>
</item>	
  
<item>
   <title>BumpMapping hell</title>
   <guid>http://fabiensanglard.net/bumpMapping/index.php</guid>
   <link>http://fabiensanglard.net/bumpMapping/index.php</link>
   <description></description>
   <pubDate>Wed, 4 Mar 2009 00:33:27 -0400</pubDate>
</item>	 
  
 </channel>
</rss>
    

