Lost is the first game that I worked on at Ubisoft. It was a really fun project, the game was very well done and quite true to the Lost Canon. I was interesting working on an older engine but we were still able to produce a high quality product. While it didn't get a huge Metacritic score (54) I'm happy that users enjoyed it and rated it well (80).

I started on Lost a bit early production. I was hired as a Generalist at Ubisoft so my work mainly centered around engine development. We were using the same engine as GRAW 1 and 2 and Bewolf, YETI. It was a capable engine but was developed primarily for ps2/xbox generation development. It still used MFC but on the flip side had an extremely powerful scripting system.

For my work I did some of the normal engine/tool stuff, improving interfaces, fixing bugs. Some of the more interesting things were that I basically rewrote the file system and refactored the memory system. I worked a lot with really low level things, improving strings and containers. I even managed to get my Const Hash incorporated into Yeti and the Dunia engine.

My two greate achievements on this game are file Linearization and Code Cleanup.

Linearization - Towards the end of the game I had to write a system to linearize the data on the bigfile, to ensure that data is loaded in order as we need it. I was able to log information from the testers to gather information about how data was loaded in the game. I used this information to reorder the data on the disk so that when loading a world there were zero back-seeks on the DVD. This process took our loading time from an average of 1.5 minutes per level to around 25 seconds.

Code Cleanup - I did a lot of refactoring and cleanup. I find that big engines tend to have few people that really go through old code to see what's actually used anymore. Overall in the project estimated that I had a net loss of nearly 100,000 lines of code. In the good old days of programming I would be paying people to work, good thing we don't get paid by line anymore.