Please add multi-threading to the next version of Rogue Survivor. These days, most PCs have multiple cores. Even my cheapy Asus Eee PC netbook as 2 cores with 2 hyperthreads per core. When playing on my netbook, Rogue Survivor uses at most 25% of my netbook's CPU resources. Yet when I travel from one district to another, there is a long wait as the game simulates the district that I am moving into.
With a configurable thread pool containing multiple worker threads, you Rogue Survivor could create chunks of turns that need to be simulated. So while in a district, the surrounding districts could be simulated. Also, in Rogue-likes, the player typically performs many moves and then takes a long pause. During that idle play time, the worker threads in the thread pool could be churning away simulating surrounding districts. This would dramatically reduce the wait time when traveling between districts because the surrounding districts would be kept up-to-date by the worker threads.
It isn't exactly easy (or good for one's sanity) to implement multi-threading, as the implementation depends wildly on the language and many languages have pretty goddamn poor implementations available. You also need to program from the ground-up to make it work and if you've programmed a certain amount already it can take days of tedious refactoring to get your processes into the right state. Additionally, generating surrounding districts before they are needed adds to total CPU use as many games you may never use 3/4 of those districts and so you're just wasting CPU and memory to store worthless data.
Not saying that multi-threading isn't worth implementing, but I'd personally rather have another version or two of iterations to core gameplay before RJ commits to that much effort for something that is easier to fix by simply taking a break from the game every now and again while it loads. It's not like we're expecting heart-pounding scare-per-second gameplay from a roguelike.
I hereby proclaim that no-one uses the "Anonymous" option anymore and instead makes some random name so it is easier to reply to them. Thank you for your patronage.
prioritize! =D
ReplyDeleteKeep up the good work. Just letting know I'm tuned in.
ReplyDeleteEat brains? Is that directed towards the female playerbase? Or everyone? ............. :P
ReplyDeleteGreat game btw
Remember kids, take it from Mistah T. Have teeth, study fun, brush your brains, and eat your school.
ReplyDeleteGlad to see you're still around. Talking code with you was interesting.
ReplyDeleteKeep up the good work!
ReplyDeletegood luck for your courses :)
ReplyDeleteSo what's next and how far into the distant future is it?
ReplyDeletePlease add multi-threading to the next version of Rogue Survivor. These days, most PCs have multiple cores. Even my cheapy Asus Eee PC netbook as 2 cores with 2 hyperthreads per core. When playing on my netbook, Rogue Survivor uses at most 25% of my netbook's CPU resources. Yet when I travel from one district to another, there is a long wait as the game simulates the district that I am moving into.
ReplyDeleteWith a configurable thread pool containing multiple worker threads, you Rogue Survivor could create chunks of turns that need to be simulated. So while in a district, the surrounding districts could be simulated. Also, in Rogue-likes, the player typically performs many moves and then takes a long pause. During that idle play time, the worker threads in the thread pool could be churning away simulating surrounding districts. This would dramatically reduce the wait time when traveling between districts because the surrounding districts would be kept up-to-date by the worker threads.
@Multi-threading:
ReplyDeleteIt isn't exactly easy (or good for one's sanity) to implement multi-threading, as the implementation depends wildly on the language and many languages have pretty goddamn poor implementations available. You also need to program from the ground-up to make it work and if you've programmed a certain amount already it can take days of tedious refactoring to get your processes into the right state. Additionally, generating surrounding districts before they are needed adds to total CPU use as many games you may never use 3/4 of those districts and so you're just wasting CPU and memory to store worthless data.
Not saying that multi-threading isn't worth implementing, but I'd personally rather have another version or two of iterations to core gameplay before RJ commits to that much effort for something that is easier to fix by simply taking a break from the game every now and again while it loads. It's not like we're expecting heart-pounding scare-per-second gameplay from a roguelike.
I hereby proclaim that no-one uses the "Anonymous" option anymore and instead makes some random name so it is easier to reply to them.
ReplyDeleteThank you for your patronage.
That is, using the Name/URL option. Not making some random email address.
ReplyDeleteThey should make an edit button for comments. >.>