This was a somewhat slower week, but still productive! This week there are a few new changes that really make a difference. The first is finishing adding city personality items. The personality now fully works, including testing!
The biggest improvement, however, was in speed improvements. I did a lot of code profiling this week, and found where there are bottlenecks in my code. The biggest ones are in my A* implementation, which I was able to speed up quite a bit. I still have a fair bit of work to go, but the game has gone from occasionally having unplayable slowdowns to simply noticeable slowdowns, which I am confident I can make go away. That should make things much smoother! For the technically minded out there, I found that using arrays instead of dictionaries can make things go much faster, especially for things that change a lot.
The other thing that I’ve done is to start to re-write the contracts system. Contracts now will be to carry a good that is in short supply to somewhere needed, or to bring in a good that is much needed. I’m still working the details out, but it’s coming along!
I hope by the end of this week to have most of the hard stuff done. I might even have a test build to try, likely one that I will only send out to my Google Groups page. The key things that I am trying to do is to finish the contract model, and to model shipping by sea to other locations. I might even model moving from a land based city to a sea based city. Thus far I don’t have any land based cities, so… I’m hoping by mid-September to have something that’s in really good shape, possibly ready to start bringing it to the next level!