April 19, 2010

Aurora Update

Menus are working, including cool special effects. Three unique and interesting levels are in place. Basic systems work and are fun.

More importantly, the performance of the game just got better by a factor of LOTS. At first, having hundreds of units floating around freely and constantly checking for collisions was just too much to handle. I was able to make that problem go away most of the time with a more efficient algorithm, but the problem was still very much apparent when large groups got close to each other (i.e. a battle). The game would stutter, go down to a couple frames-per-second, and recover as soon as most of the units disappeared.

I finally pulled out the adult dev tools. I downloaded and used NProf, a .NET profiler. It records how much time is spent in the different functions of the game. I discovered that 80% of my difficulties were coming from a single function. It involved a lot of checking lists for members. I figured out that I could greatly trim the amount of checking performed, did so, and figured out a bunch of other performance hacks along the way. Performance still dips during a battle, but down to a still-playable rate. I doubt anyone will mind, now. Victory!

Still left to complete:
- Endgame conditions and an end-of-game finale effect
- Improve visuals and effects for building / destruction events
- Retool all my sound effects
- Tweak the soundtrack songs to make sure they're perfectly aligned with the game beat
- Polish
- Package
- Ship

The end is in sight. I'm feeling awfully optimistic about this.

No comments: