Sign up

Fabien Sanglard

Not verified No WebSub updates No webmention support Not yet validated

Chronicles of software wizardry

Public lists
davewiner/hackerNewsStars
Fetched

Fabien Sanglard

Another World Code Review

I spent two weeks reading and reverse engineering further the source code of Another World (Out Of This World in North America). I ...

Fabien Sanglard

Progressive playback: An atom story



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:

Why ?

As usual understanding things to the deep down proved extremely worthy.


. More...

Fabien Sanglard

How to build Doom3 on Mac OS X with XCode



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.

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 :( !).

Here are the instructions to get it to run...but if you just want to download Doom3 source code for Xcode 4:

I uploaded it on github.

. More...

Fabien Sanglard

Quake 2 Source Code Review


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.
. More...

Fabien Sanglard

Solving Ghost in The Wire codes


100% completed: All codes from kevin mitnick book ("Ghost in The Wires") have been broken.
. More...

Fabien Sanglard

Solving Ghost in The Wire codes


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 !
. More...

Fabien Sanglard

Hacker Monthly publication


Hacker Monthly July edition has published my article in which I described the internals of Doom engine..

. More...

Fabien Sanglard

SHMUP Source Code


I have decided to release the full source code of "Shmup" 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.
The license is GPL which mean you have to release the source code of what you produce with it. Note that the data 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).

. More...

Fabien Sanglard

Polygon Codec


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.

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.
. More...

Fabien Sanglard

dEngine Source Code Released


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.

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.

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.

Enjoy:

. More...

Fabien Sanglard

To generate 60fps videos on iOS


Back in winter 2009 I was working pretty hard on the 3D engine that would power my next iPhone/iPad game: "SHMUP". 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.. More...

Fabien Sanglard

To become a good C programmer


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. More...

Fabien Sanglard

SHMUP Lite


I have decided to release a free version of "SHMUP". It is called "SHMUP Lite" 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.

Fabien Sanglard

All about the fillrate


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.

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.

Fabien Sanglard

Tracing the baseband


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..

Fabien Sanglard

Doom iPhone code review


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.

Fabien Sanglard

Doom engine 1993 code review


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.

Fabien Sanglard

Don't learn Assembly on Mac OS X


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.

Fabien Sanglard

Apple iPhone Tech Talk 2009 tricks and treats


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!.

Fabien Sanglard

iPhone 3D engine programming part 1


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.

Fabien Sanglard

Armadillo Space T-shirt


Finally received my Armadillo Space T-Shirt and mug. I recommend them !

Fabien Sanglard

Fluid speed issues!


Fluid v1.3 is too fast on 3GX iPhones ;( ! I will released a fix tonight !

Fabien Sanglard

Fluid2 RELEASED ! Fluid 1 now at 3,000,000 downloads !!


Fluid 2 was released today with plenty of news features, check it out !

Fabien Sanglard

Fluid: 1,000,000 downloads !!


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 !

Fabien Sanglard

Fluid v1.1 up and coming...


Fluid version 1.1 will be released next week. Zen music and changing background...

Fabien Sanglard

Wolfenstein 3D for iPhone code review

fabiensanglard.net/wolf3d/index.php


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.

Fabien Sanglard

Fluide

Fluid tech demo released on iPhone !!!

Fabien Sanglard

BumpMapping hell