Well, Core speed will continue to speed up... but mostly on high end CPU since Intel seems to fight on smaller and more low power CPU. But prefetch, better cache, technologies like "turbo boost" and maybe new instructions will help maintaining single core perf.
As for multithreading, use "import threading" in Py http://docs.python.org/library/threading.html. At first I recomande you to multithread only different part of your program ( like the logs, the UI, the music and the AI that aren't related ). Then you can monitor witch thread is the bottleneck, and try to make like one thread for ally AI, and another for the foe, then another for faraway combats. You know, with proper multithreading, my fortress in DF could at least three time bigger.
That makes a lot of sense. Thing is, though, Python seems to imply it still only uses one thread 'at once', so I'm unclear how this is faster than just using a single thread. Excuse my hardware ignorance
. Surely using multiple cores, but in sequence, is no different from using one? Still, I've started looking at the documentation for the multithreading Python stuff...
I always thought that civilization could be simulated with simple voting rules. First, the people of a family eventually learn to elect a leader. The leader gets old. He tries to make sure *someone he trusts* gets the succession. People elect different guy upon death. Fighting ensues. If monarchs son gets it the people will be sad, but eventually try again to restore monarchy. If the elected gets it, he will try to get his son in power causing possible fighting again. Fighting can occur in stalemate. Losers become #slaves# based on law. This was inspired by CK2 motives. I want CK2, but I gots macs
*often family, because you know family won't do bad.
#worst case scenario they become slaves and slavery is invented. Best case they lose a title.
Somehow one day I will translate this into numbers and chances. But for now I give you this very, very, very watered down look into my convoluted and biased (towards liberalism of course ) mind.
I think that would all be awesome. Some of that is being incorporated in the very basic histories I'm having the game generate for now, though these will only get more advanced as time goes on. Whoever leads a particular group - be it a bandit chief of the king of an empire - should have a history (of varying length) behind them explaining how they got that position/throne, and what's happened since they got it. Once you enter as a player character, you should be able to get to the top in the same ways...
If you don't implement multithreading now, you'll have lots of fanboys (including me) begging you to include it later
Just look at Dwarf Fortress. People debated about it for a long time but I understand. It could mean Toady spending a year rewriting codes for multithreading. You don't just go "meh, I'll multithread this shit" while in development.
I'm thinking about it
! I'm just not clear what the advantage is to using many if Python only actually accesses one at once. But maybe I'm misunderstanding this. Anyway - I'll keep looking into it this week, and I'll post here once I've made a decision (which is to say, once I've understood it...)
Meanwhile, this week's devblog is on species-specific name generation. I think it's producing some great dwarf names and elf ones, but I think the human names might need a little work... thoughts?
http://www.ultimaratioregum.co.uk/game/2012/02/27/whats-in-a-name/