I'm interested in using a low-level c++ framework (engine?) for creating games in 2D while not costing much and containing the following cross-platform (across PC) functionality:
- Graphics
- Input
- Networking
- Physics
- Sound
I haven't had much luck finding anything that matches this criteria... Torque2D seeming the closest. I couldn't find much documenation/tutorials about working with the engine on a core level (seems mostly scripting examples).
In my spare time I created a DirectX11 framework that suits most of my needs listed above (c++, 2D, graphics, Input, Physics(Box2D)). Since I couldn't find much else I'm thinking its best to continue developing the framework, making it cross-platform (across PC). At present I'm trying to do this with the graphics & input.
So I'm looking into openGL 3.3... I'm thinking it will match all of the functionality I'm using in dx11 (Currently using feature level for dx10) allowing games I created to be run on Windows XP/vista, Mac & Linux as well instead of just windows 7+.
Currently I'm focusing on making these components cross-platform:
- Input (Keyboard and mouse)
- Window (Will need to work with both dx11 and opengl 3.3)
- Timing
...Followed by implementing opengl 3.3.
Research I've done so far:
- Going cross platform in this way across PC means I can target roughly another 20% of people using PCs (according to steam surveys)
- freeGlut - Stay away from, don't even have control over render loop
- SDL - Input, Window (usable with dx11 & opengl 3.3?), Timing
I'm unsure if SDL is usable with opengl 3.3, especially since I'd be using an "unstable" version.
I'd like to control initialization of opengl directly if possible/reasonable and sending the handle of the window (if that is how it is done on other OS's besides Windows)
I'm thinking a good source of information would be the fifth edition of the OpenGL SuperBible.
Given all this... can anyone give advice of mention any other resources.