Cutting texture loading from 4 minutes to 4 seconds

My previous demo took about 4 minutes to load. It had a lot of big textures, usually 1024x1024, and most of them were TGA files.

My previous demo took about 4 minutes to load. It had a lot of big textures, usually 1024x1024, and most of them were TGA files.
I’ve been racking my brain for a fresh game idea. It’s harder than I thought.
I have one idea, maybe a stupid one: an atomic bombing, shown in detail. In the first part you are the pilot of the bomber. After that you are a civilian escaping from the town, with burning people and death everywhere. The game would be about how terrible that is. It would be short, made specifically for the IGF, and closer to an interactive movie than a normal game.
I’d do it all in real 3D, with plenty of detail. Or maybe in 2D for the IGF, since they seem to like 2D games there.
I’m reading up on how a small developer can get a game noticed without a marketing budget. Two articles worth your time:
In testing, my game ran at an average of 40 fps on a GeForce 9600 with an Intel quad-core CPU. That’s the version I sent to the IGF.
A few days ago I noticed that every shadow in the level was being drawn every frame. I searched the source and found a line I had commented out for debugging. Putting it back doubled the speed, to about 80 fps. Then I switched off the grass and the NPC sensor system, which searches for enemies five times a second, and the frame rate went up to 400.
I didn’t show all of the gameplay in the trailer. I wanted to keep a bit of mystery.
There is a lot more in the game. There are puzzles built around creating paths for your NPC, mines, automatic weapons, fights with humans, eating cows and so on.
I’ll post pictures and videos of all this here as I go.
This is the first screenshot from my new game, Little Zombie Susie. It’s the game I’ve been rushing to get ready for the IGF, and today, 1 November, is the deadline for the competition demo.

This video shows Recast navigation working together with the Havok physics engine.
Recast builds the navigation mesh, and in August I added support for dynamic objects to it. Havok handles the physics. Anything that physics pushes around has to be taken into account by the navigation mesh, which is the job of the tile updates I described in my post about the Intel Level Up demo.
I’m trying to finish a demo for the IGF (Independent Games Festival) competition, and the deadline is 1 November.
The new game has a zombie in it. This short video shows two things I’ve just got working: explosions, and a weapon for the zombie.