Stuff I've worked on.. woohoo !!
Well, the released stuff at least. So, much time spent on both personal projects and employers' projects that were eventually cancelled (such is the world of game dev !). be continued..


Sub-pixel displacement mapping, done with a shader.
Take that Direct3D and OpenGL!
A RenderMan-like rendering engine optimized for parallelism at the SIMD, multi-thread and multi-process levels.
It abstracts SIMD as much as possible and implements an early prototype of Intel Larrabee's publicly available intrinsics, other than the SIMD normally found in SSE instruction set.
Multi-threading is performed per-bucket, with due work to handle geometry that overlaps buckets.
For this renderer I also wrote a virtual machine an assembly format and an high level RSL-like shader compiler that converts the C-like language in my RRASM assembly format.

This has been a lot of fun, though I worked on this in my spare time.. coming home from work usually around 11 or midnight and working a few hours into the morning. Plus weekends, of course.
It was only an hobby, but I learned a lot from this project and I still use and maintain some of the basic libraries I made for it.

R&D at Square Enix

Old and cheap hair shader
at the time of the interview.
But still cool!
Some exciting work involving playing in real-time on PC, Final Fantasy XIII's cut scenes meant for off-line rendering. Meaning, the movie clips prerendered with Mental Ray and RenderMan.

The only available public images are from a very early version filmed during an interview to the company's president.

Final results of course were a lot better.. but it's a killed project meant to be forgotten so, I'm showing the only known public display of it.

The sour ending for the project was the last drop for me as an employee and it's what made me go independent.. so to avoid to work again on stuff that I can't publish. (fack that, really..)

All geometry and vertex-animated.
Down to the eyelashes and eyebrows.
The project to me was eye-opening nonetheless. Working so closely to the production rendering world.. gives a different perspective, and it showed me how hacks in CGI are sometimes even worse than those used in games !

I was responsible for the run-time and the 3D engine for the project.
There was some heavy streaming and compression of both geometry and texture.. for which I created custom formats based on Wavelet and DCT algorithms.

The project also involved a very heavy back-end asset build pipeline and whatnot. That was a key factor in this, but I mostly worked on the run-time.

Tetris: The Grand Master Ace for Xbox 360 (2005)

Launch title for the Xbox 360 in Japan. I spit a lot of blood on this.. worked on an early devkit (Mac G5 !) with no experience with the Xbox online stuff.
Only 2 months before going gold I realized that the VDP protocol was indeed unreliable like UDP.. and rushed to build some sort of  reliable protocol on top of it.
Doing the whole on-line stuff was the harshest part of it all.
This is also the first (and only ?) title that got me a nervous breakdown.. working for months non-stop.. it can do strange things to your body !

See more on IGN

Final Fantasy VIII for PC (1999)

So much time wasted looking at sexy Shiva
doing her magic !
This game needs no introduction.. only that I didn't know how popular it was when I joined Squaresoft to work on it.
I mostly worked on the graphics programming and basic PlayStation simulation, since that was my strength.
The porting was controversial.. I put a lot of effort on the graphics department myself, but we were given low resolution 320x240 backgrounds and that was it.
Backgrounds were split into tiles and layered, so I couldn't even do a plain blit-stretch with bilinear filtering.
I eventually came up with a 2 pass "technique" that had a similar-bilinear look. Four passes would have been ideal, but too heavy on those early GPUs.
Fonts in the released version were also crapped out because of the silly subpixel conventions going around. We eventually released a patch for that.. but people had to go grab it with an FTP client (^^;)

PSEmu Pro (1998)

Here's Tekken 2 running on PSEmu with my
GPU plugin.. I did not work on Tekken
Joined Duddie & Tratax to help developing this mythical PlayStation emulator ! ..which is all but forgotten, but lived on for long because of its winning strategy of using a DLL plugin system to separate tasks such as GPU emulation (in fact, I started developing a GPU plug-in and later on joined the team to work mostly on GTE and MDEC).

Some PSEmu Pro history on wikibin

Abe's Oddysee for PC (1997)

A port of the popular PlayStation game.. for Windows and MS-DOS (!)
I had some fun adding a touch of CRT-ness by blit-stretching with linear interpolation and interline the original 640x240 screen to 640x480 on PC (SVGA resolution).
I also developed an MDEC video format decoder to use the same video data (though we had to reencode for a slightly different resolution anyway).

Apparently available on Steam now.

Zeitgeist (aka Jupiter Strike) for PC (1997)

A Windows 95 game.. software rendering (DirectDraw for double buffering), simulating the PlayStation's LibGS API and some of the hardware.
This was mostly a one-man port.

Toshiden for PC (1996)

The conversion of the popular early PlayStation game to MS-DOS and my first real game release, coincident with me moving to the US from Italy.
Software rendering all the way and later on some early 3D accelerators support (!)
We worked on this with no source code at the beginning.. so it was mostly a rewrite.
Later on we got the source code.. and I was impressed by the fact that the original camera state-machine's code looked incredibly similar to what I wrote !

RTMZ 3D Engine (1995)

For MS-DOS.. all software rendering.

Simulating different materials, with Phong lighting, but rendering with Gouraud shading and a 256 colors palette. Also some early support of perspective-corrected texture (midpoint polynomial interpolation) and z-buffer.

This is the demo that got me my first real job in the game industry.

No comments:

Post a Comment