Performance Clues
BlitzMax Forums/BlitzMax Programming/Performance Clues
| ||
Hey all, I'm starting to wrap up my get-my-feet-wet project, and to think about a larger scale one. The one I have in mind is a high-level strategy game - think along the lines of the Europa Universalis / Hearts of Iron games from Paradox Interactive. I'm wondering a couple things that I'm hoping some of you veterans might know answers to, or point me in good directions to investigate. 1) I expect this game to be much more expensive computationally than graphically. Are there any key areas that Blitz bottlenecks early, non-graphically? 2) One goal I have for the game is to make it very user extensible. This will involve having a ton of accessible data for modders. I haven't gotten far enough along to look into this much - the benefits of text vs xml vs scripting vs whatever. My current view is that it will be a tradeoff between ease of end-user modding and speed. How prone a given method is to bugs will also enter into it, I'd guess. Any thoughts are appreciated. 3) Anything else you think might be helpful for me to know. ;) I realize this is a big project, and will take a while, and that I'll be writing and rewriting of code as I go - especially given my lack of experience. My goal at this point is to make sure that I have my head around some of the really important stuff early on, so I can make better decisions at the start. I'm viewing those items as having a good grasp of OOP (to ease refactoring), and have some approach in mind to deal with user extnsibility and the eventual perf bottlenecks. Thanks. |
| ||
1) Nothing really, but there is no multi-threading. 2) BriskVM is a really good scripting language - you can limit what your modders have access to aswell. |
| ||
There aren't any performance bottlenecks until you write some code ;-) I think you may need to outline what kind of things you will be `processing` before you can get down to figuring out if there will be any bottlenecks - you'd have to have some idea of the kind of algorithms you're going to use, what kind of data, how much of it how often etc. Extensibility-wise I recommend scripting. I think xml is highly overrated. It's supposed to be used for giving `meaning` to otherwise meangless out-of-order data and I don't see why so many people use it for meaningless things like config files and the like. It may be an improvement over a proprietary file format that's not human readable, but xml isn't exactly very friendly to read either. |
| ||
Thanks guys. @ImaginaryHuman - yeah, I realize these are about as overly broad as I could get on questions, but I wanted to see if there was an, "Oh God, never do it like X issue in the weeds." |
| ||
Are you aware that Paradox Interactive recently gave away the game engine used to make Hearts of Iron and Europa Universalis 2? Might be worth a look given your interest in making this type of game. http://www.gamersgate.com/engine/ |