OGRE and OpenGL and Crystal Space, oh my!
Posted: Fri Jan 02, 2009 10:26 am
Hello,
I already have what I would consider an intermediate level of skill in C++. That is, I read Sam's Teach Yourself C++ in 24 Hours, and have a firm understanding of everything discussed there. I am now looking into game development, and I have decided to learn graphics programming first. After a few minutes of Wikipedia research, I learned of several graphics options, as well as the details of the French Revolution (interesting how that happens...). I came up with the following: OGRE 3D, OpenGL, SDL, Irrlicht, and Crystal Space. I understand that OGRE 3D, Irrlicht, and Crystal Space are higher-level graphics engines, and are theoretically more simple, but offer a lesser level of control. OpenGL and SDL are graphics libraries, which is far more lower-level, thus allowing (theoretically) more control over the graphics programming, but of course at the price of being more complicated.
Though I wholeheartedly enjoy programming and having control over what I create (not to mention having complete ownership of it), I would much prefer to spend time actually creating the game and its storyline than spend all my time writing boring code. However, if it means the game will be less mine, and less controllable, a higher-level graphics library might not be for me.
Of course, I don't expect whatever path I choose (hopefully based on your advice) to be "easy"-I expect to work on it, and spend many months just learning the basics of said libraries. However, I would hate to spend those months learning something I realize isn't actually what I was looking for, and have all that work go to waste.
It is, obviously, possible that I have missed an important library/engine here and feel free to correct me.
So, there you have it: the background. Just to clarify, here's my question: which of these libraries/engines would be the best combination of ease, control, and personal ownership?
Thanks in advance,
Arc
P.S. I would want a method that would allow me to create 2D games at first, as 3D games are, as I understand, quite a bit more difficult; both with graphics programming and the art department (2D sprites are easier to create than textured 3D models). Though, it would be nice to learn something that will eventually allow me to create 3D games with little additional learning.
I already have what I would consider an intermediate level of skill in C++. That is, I read Sam's Teach Yourself C++ in 24 Hours, and have a firm understanding of everything discussed there. I am now looking into game development, and I have decided to learn graphics programming first. After a few minutes of Wikipedia research, I learned of several graphics options, as well as the details of the French Revolution (interesting how that happens...). I came up with the following: OGRE 3D, OpenGL, SDL, Irrlicht, and Crystal Space. I understand that OGRE 3D, Irrlicht, and Crystal Space are higher-level graphics engines, and are theoretically more simple, but offer a lesser level of control. OpenGL and SDL are graphics libraries, which is far more lower-level, thus allowing (theoretically) more control over the graphics programming, but of course at the price of being more complicated.
Though I wholeheartedly enjoy programming and having control over what I create (not to mention having complete ownership of it), I would much prefer to spend time actually creating the game and its storyline than spend all my time writing boring code. However, if it means the game will be less mine, and less controllable, a higher-level graphics library might not be for me.
Of course, I don't expect whatever path I choose (hopefully based on your advice) to be "easy"-I expect to work on it, and spend many months just learning the basics of said libraries. However, I would hate to spend those months learning something I realize isn't actually what I was looking for, and have all that work go to waste.
It is, obviously, possible that I have missed an important library/engine here and feel free to correct me.
So, there you have it: the background. Just to clarify, here's my question: which of these libraries/engines would be the best combination of ease, control, and personal ownership?
Thanks in advance,
Arc
P.S. I would want a method that would allow me to create 2D games at first, as 3D games are, as I understand, quite a bit more difficult; both with graphics programming and the art department (2D sprites are easier to create than textured 3D models). Though, it would be nice to learn something that will eventually allow me to create 3D games with little additional learning.