Crashes are the main thing I've been working on this week. This other stuff I use to keep myself from going insane.
Here is why your game crashes on you (example):
You have a city selected. You decide to build an improvement. Game crashes...
...Because in another thread it was looking through all the improvements at that city at that moment...
Another example...
You're just playing, you hit the turn button, it crashes....
...Because in another thread, it's doing an autosave and just as a goodie hut was being removed from the world, it was trying to save that goodie hut.
...
Now, those are obvious cases and so they're already protected. The cases I'm dealing with are a lot lot more obscure.
The original WOM wasn't multithreaded (in fact, a lot of games only use 1 thread). But not having threads crippled our ability to have a lot of sophistication (like the computer AI) that FE has. So "they" brought me onto FE to rearchitect the engine to be highly threaded. But there's a transitionary time (i.e. now) where some systems are thread safe and some aren't.
That's why you see journal entries from me where I do something...different. Because I have to play the game over and over and over again and certain things end up bugging the hell out of me after awhile. Jaggies. Long turns. Sound effects. Ugly textures. Etc.
And in the process of making the game highly threaded, I had to redo the memory manager. So for example, I can play 7 games within a game and still only be using about a gigabyte of memory now (before you would have run out of memory -- assuming you didn't crash).
People with Windows XP are still in for some pain I suspect as we're not going to gimp the game for people who won't upgrade from Windows XP (they can only see 2 GB, Windows 7 users can see 4GB) But XP users should be fine now unless they run mods.
Anyway, with this extra memory I went ahead and redid some of the textures in ways that are pretty subtle (the artists will be able to do a lot more).
Every noticed how crappy the grass looks in the game? That's because it's a picture that's only 32x32 (pixels). Now they're 256x256 and anti-aliased.
