You are not logged in.
If you want to start from scratch, you could also use FreePascal. May be more high level than C, but you can still write very fast code that does what you want, and you get an object oriented standard library. Disadvantage may be the low number of library bindings, but the most important stuff for gaming is available though (OpenGL for rendering, look here, GLFW or SDL for context creation, SDL or OpenAL for sound, however i also got FreeType 2 and Vorbis to work using my own header translations.)
Last edited by ThunderGod (2012-04-23 11:02:44)
Offline
I mean that C++ is badly designed. Its standard library is badly designed such that everyone hesitates to use even its string library; no native thread support; templates are hard for the compiler to reason about and produce cryptic errors; etc.
*-pedantic* In C++11, a quite capable threading library is supported by the standard. In addition to that, there is a standard memory model.
Offline
*-pedantic* In C++11, a quite capable threading library is supported by the standard. In addition to that, there is a standard memory model.
1) That's not pedantic, it's actually handy information.
2) C++11 is too little too late.
If I were to ask you a hypothetical question, what would you want it to be about?
Offline
It sounds like you would be good using the D programming language. It's a compiled language so it's just as fast as C++ but was reinvented from the ground up so it's not as ugly as C++. It's multi paridigm, can interface to C libraries, and optionally garbage collected.
It's a new language so it's not used often but the compiler has matured recently and is in the [extra] repository. It's mature enough to handle any project C and C++ can do at this point.
sudo pacman -Sy dmd
I recommend learning some C as well though so you can call C libraries easier and reason about how they work, especially OpenGL. I've used SFML, it's faster than SDL because it isn't software rendered and has good object orientation.
From what I've read about D, I second this post. D seems like a good shot.
In what ways do you feel SDL is better than Allegro?
I find them to be incredibly similar, but the Allegro API to be a little more tailored to writing video games (which could be a good thing) and the SDL API to be a little more of a generic media library. (which could be a good thing)
I'm not saying Allegro is bad. Hell, if it works for the programmer using it I say go for it. My personal gripe came from my own first hand experience with it back when I was just learning C++ and had barely been programming for more than...4 or so months (my first language was C#). I'd say SDL is great for game development, just as much Allegro if anything. I find SDL to be simpler as well in implementation; the fewer arguments I pass to a function in my init calls, the better. I found it easier to develop with as well and over all just less complicated.
On a further note, I've been noticing that some people are stating that C++ is badly designed. I agree with this to an extent, and when D takes off I'll likely be moving towards using that myself. The gripe about the STL though...well, yes, for today's standards (especially when you compare it to a library such as Java's or .Net) C++ is lacking incredibly. There are still choices though such as Boost or Qt, which are both great. And if you're looking to write Qt code for Android it CAN be done, though Necessitas isn't quite to the point where it's the de-facto Qt to Android port, but I have a feeling it could get there rather quickly.
Still, despite C++'s somewhat bad design, I can't say that I hate it or that it's a bad language. I actually think for the most part it's well designed; they just could have really done a much, much better job.
Oh, Bjarne...what were you thinking?
Offline