Karukef
07-30-2003, 05:49 AM
After reading the post about 3d engine build vs buy, and looking at the featurelist of the torque engine impressed me a lot. The amount of work saved vs building your own engine is just staggering. It is of no use for me though, as my design focus is entirely on 2d game environments. It did however make me think. How can I minimize my work in creating 2d-oriented games?
So far, I have think I have been pretty decent at using as much as possible of other peoples work. I use graphics libraries, sound libraries, music libraries, whatever. But there are a lot of these libraries available, and they are often tied to eachother (GUI library A only works with GFX library B and so on). I realize it is impossible for me to try out all engines, and all libraries and combination of libraries and tools.
The question is, does anyone have recommendations and experience to share in how to do as little non-game specific work as possible?
Let me describe what I want to accomplish, and what I am currently using. The accomplish list is more of a dreamlist than what I actually expect any combination of engines or libraries to provide.
I want to have an easy to use and easy to customize GUI system in 2d, including buttons, fonts, tooltips whatever. Very important.
I want an easy to use bitmap system, possibly sprite and animation system if it is flexible enough.
I want to load png and jpg, or any superier format.
I want to play tracked music (.it) as well as .ogg (or superior) music
I want alpha-support and maybe lighting (preferrably with software compability)
I want a good resource management system, for loading and organizing both on disk and in memory.
I want EASY to understand\integrate scripting support. (LUA for example seemed too difficult for me to implement, and I did try)
I want to be able to load variables and data with the appriximate complexity of an excel sheet.
A good networking solution.
I want to use the very best of C++ general programming aids such as some of the nice libraries found in boost (shared pointer, lambda expressions etc)
I want all of the above to be beautifully OO, hopefully in C++ since it is the only OO language I know, and with friendly documentation (As in, understandable).
And what about all the stuff that might make game making easier that I haven't thought of? I want that too! ;)
I have to admit that I am actually using most of the things on the above list already. But none of it is object oriented. I am using Allegro with libraries for fonts, jpg, png, it and ogg, a network library and I already wrote a decent resource management system like what i described and the beginning of a gui. But I am spending so much time simply writing OO wrappers around libraries, using my very limited OO experience trying to create a good OO system. It is a lot of work and I will certainly create very mediocre classes and to be honest, a OO system that stinks of "inexperienced".
I want to know about every good free or affordable library, engine or similar that can be used in making games! (and to my interest, 2d ones)
I am sure it will not only help me, but a lot of people, in picking the absolute best starting point before beginning to code.
So far, I have think I have been pretty decent at using as much as possible of other peoples work. I use graphics libraries, sound libraries, music libraries, whatever. But there are a lot of these libraries available, and they are often tied to eachother (GUI library A only works with GFX library B and so on). I realize it is impossible for me to try out all engines, and all libraries and combination of libraries and tools.
The question is, does anyone have recommendations and experience to share in how to do as little non-game specific work as possible?
Let me describe what I want to accomplish, and what I am currently using. The accomplish list is more of a dreamlist than what I actually expect any combination of engines or libraries to provide.
I want to have an easy to use and easy to customize GUI system in 2d, including buttons, fonts, tooltips whatever. Very important.
I want an easy to use bitmap system, possibly sprite and animation system if it is flexible enough.
I want to load png and jpg, or any superier format.
I want to play tracked music (.it) as well as .ogg (or superior) music
I want alpha-support and maybe lighting (preferrably with software compability)
I want a good resource management system, for loading and organizing both on disk and in memory.
I want EASY to understand\integrate scripting support. (LUA for example seemed too difficult for me to implement, and I did try)
I want to be able to load variables and data with the appriximate complexity of an excel sheet.
A good networking solution.
I want to use the very best of C++ general programming aids such as some of the nice libraries found in boost (shared pointer, lambda expressions etc)
I want all of the above to be beautifully OO, hopefully in C++ since it is the only OO language I know, and with friendly documentation (As in, understandable).
And what about all the stuff that might make game making easier that I haven't thought of? I want that too! ;)
I have to admit that I am actually using most of the things on the above list already. But none of it is object oriented. I am using Allegro with libraries for fonts, jpg, png, it and ogg, a network library and I already wrote a decent resource management system like what i described and the beginning of a gui. But I am spending so much time simply writing OO wrappers around libraries, using my very limited OO experience trying to create a good OO system. It is a lot of work and I will certainly create very mediocre classes and to be honest, a OO system that stinks of "inexperienced".
I want to know about every good free or affordable library, engine or similar that can be used in making games! (and to my interest, 2d ones)
I am sure it will not only help me, but a lot of people, in picking the absolute best starting point before beginning to code.