Original Post
I'm developing a small game at the moment, and I'm using wxWidgets and it's abundance of features. The basis of the code I've written is pretty simple. I have the core GUI, some abstract classes for game graphics, and then two branches of sorts. I have it set up so I can develop both 2D and 3D classes that implement certain functions (based on the abstract classes). The core GUI uses and interacts with these classes seeing them only as the abstract ones. For example, I have a MapPanel that draws the current Map and all of the Players on the Map. But, I have Player2D and Map2D classes (and *3D classes) that are created and stored in the Map and Player references (the ones chosen are based on a #define who's value I set to 2 or 3).
Anyway, I've developed the code in Ubuntu 10.04 using Code::Blocks 8.02. The "rendering loop" is set up via a wxTimer set to launch a function every 10 milliseconds. In Ubuntu, this runs great. I took the code onto a Windows Vista Ultimate installation with Code::Blocks 10.05 and (after some work) compiled it, and the results weren't so pretty. The graphics were flickery and one of my objects (a little image that was to be moved around via the arrow keys) wasn't even being drawn (that I could see).
I chopped this problem up to one of three problems (although it could still be something else I didn't think of):
1) The difference in IDEs and/or compilers could have created issues. I sort of casted this one aside, because I figured since I was using wxWidgets and standard C++ code, that shouldn't be a big deal.
2) A general design flaw in my code. This one is very plausible, as I'm not too experienced in game programming.
3) wxWidgets itself not being a good toolkit to develop a game in.
I'm looking to confirm or invalidate number 3 before I get too into whether or not my design is flawed. I read somewhere that wxWidgets is not well suited for high end game rendering loops, but the features and portability of it is just too enticing to just let it go without consulting some knowledgeable people, first.
Anyway, I've developed the code in Ubuntu 10.04 using Code::Blocks 8.02. The "rendering loop" is set up via a wxTimer set to launch a function every 10 milliseconds. In Ubuntu, this runs great. I took the code onto a Windows Vista Ultimate installation with Code::Blocks 10.05 and (after some work) compiled it, and the results weren't so pretty. The graphics were flickery and one of my objects (a little image that was to be moved around via the arrow keys) wasn't even being drawn (that I could see).
I chopped this problem up to one of three problems (although it could still be something else I didn't think of):
1) The difference in IDEs and/or compilers could have created issues. I sort of casted this one aside, because I figured since I was using wxWidgets and standard C++ code, that shouldn't be a big deal.
2) A general design flaw in my code. This one is very plausible, as I'm not too experienced in game programming.
3) wxWidgets itself not being a good toolkit to develop a game in.
I'm looking to confirm or invalidate number 3 before I get too into whether or not my design is flawed. I read somewhere that wxWidgets is not well suited for high end game rendering loops, but the features and portability of it is just too enticing to just let it go without consulting some knowledgeable people, first.