Advertisement

Skipping Over the Big Stuff

Started by July 19, 2004 08:39 PM
6 comments, last by nonnus29 20 years, 4 months ago
Hey, I've been learning C/C++ on and off for the past year or so, and I still haven't amassed a great amount of knowledge for it; I usually end up quitting for a month or two because it's so boring. Anyway, I've finally reached the point where I'd like to look at graphics libraries. While trying to decide, I also looked at open source graphics engines, OGRE and Irrlicht stood out he most. Well, OGRE is really definately too hard for a programmer of my cailbre, I tried some tuts and didn't get far. Then I looked at Irrlicht. The API is painfully easy. This has just about got to be the easiest 3d engine I've ever come across. I'm able to pump out stuff from it even with my limited knowledge after following the tutorials; I loved the gratification, it was so simple and I saw something immediately! I've been contemplating creating a simple game with this... But then I think I should learn Allegro, SDL, or some other library first. So, my question is, what are your experiences with first libraries you learned, engines you've used, maybe the order you learned things in, etc. I'm also interested in your opinions on skipping a library and moving directly to an engine--it seems pretty unwise and terribly unorthodox to me, but I think I might be able to do it. Would it hurt the learning proccess if I did? Of course... I'd probably end up getting stuck once I get past the simpler concepts of Irrlicht. I don't really care if I create a 2d or 3d game first. 2d is really fun, but the Irrlicht API actually seems to be easier than using SDL or Allegro though; well, make that less time-consuming and less typing because you don't have to set anything up. Anyway, all comments are appreciated!! [smile]
well, its great that Irrlicht is working out well for you. as for your question, its really just a matter of what you want to do. if you don't ever really plan on getting down to the nitty gritty of programming, which seems to be true from your statement about C++ being boring, then there really is no problem. just understand that you're limited to whatever the engine can provide . . . . . one point you need to understand is that the engines implement the libraries - Irrlicht is simply another layer over the APIs that implement your beloved graphics functions, as the functions themselves are layers to the hardware. so by learning sdl, opengl, ect, you're really learning what makes Irrlicht run - minus the specifications and other goodies the original makers threw in.
for the record, i think its good to at least learn one graphics API in 2D and one in 3D. i attempted to first learn opengl, got annoyed with the win32 part, backtracked to sdl, thanked god i could port opengl through sdl, then swore profusely when i learned directx ran only under win32. oh well, i got over that after i invested the time in making wrapper classes.
anyway, to cut this preaching short, i'd recommend learning at least sdl or allegro. you'll probably need to learn them later anyway. however, if you can get away without it, then do so. i'm always for the fastest route to where i want to be. :)
Advertisement
Finish a game first. However you can manage and of whatever type. I will probably get flamed for this but however you can finish a game that is playable and fun, do it. After you have completed a game, you might want to add more features that an existing engine is too rigid for you to include. You might want to start making your own engine that is LIKE the other one but with more flexibility etc. Don't get too bogged down by all of this "It has to be multi-platform" and "Be as generic as possible" stuff you hear a lot of people ranting about. Get it done. As finishing a game is the hardest part of making one, get it working first, then fix it later. I think you should go as far as you can with Irrlicht until it no longer does what you need or want it to do. When you feel it is time to move on, you will. If you are not ready, then why force it?
Evillive2
My experience: I taught myself some VB in high school, got halfway through a CompSci degree, took a class on game development in Director / Lingo where I learned more than I did in the "serious" CompSci classes -- but that's not saying too much, then developed a commercial application in Lingo. Now I'm doing similar application development in C++... which is how I've been learning C++. [grin]

I'm a big fan of "learn by doing," and by "doing" I mean "deciding what you want to do, then figuring out what you need to know to do it," not "working your way though someone else's tutorials." If you're bored by your current method of learning, I say: start a project. If you're learning what you need instead of what you might need, it shouldn't be boring.
"Sweet, peaceful eyelash spiders! Live in love by the ocean of my eyes!" - Jennifer Diane Reitz
If you think C++ is boring, then you'll probably never complete a decent engine of your own. Also, if you think OGRE is too hard, then you definately have a lot to learn. My recommendation: program more. At this point, I dont think it matters what you program or what you use, just program more. period. Irrlicht? I've used it before myself, and found it a little frustrating, but others like it and it sure is easy to use. Sure. It doesn't really matter. Coding is coding.

Brien Smith-MartinezGarbage In, Games Out
If you're confortable with using Irrlicht, then I'd say go with that. Keep learning how to do things, building up small or even large games with the engine until you hit a point where you start finding yourself limited by what the Irrlicht engine can do for you. It's when you reach this point that you'll probably realise you have learned more than you expected and should hopefully be able to transition over to another engine or even feel confident enough to build your own.

The thing to bear in mind is this, there's far more to games than the engine they run on - you have to learn all about game logic, program structure, content creation and all those sort of things. I think you should carry on with Irrlicht and concentrate on making the games and learning these other aspects of game programming. As you said, it'd be gratifying seeing things quickly and the chances are that you'll be a lot further on and a lot less frustrated with your games in 6 months time then you would have been if you'd decided to learn C++ inside and out, building your own engine to run them on.

You'll learn the C++ aspects as you start coding your games and also study the Irrlicht implementation more, I say go with that.
Advertisement
Thanks for the advice everyone! [smile]

I've picked Allegro back up and I'm starting to work on some small games with it. I'll probably go back to Irrlicht sooner or later or something larger if it doesn't suit my needs.

Thanks for your time and advice, it's really help me out!!

[smile]
To me the greatest thing about libs like allegro and sdl is how easy they make it to simply get gfx on the screen. Its way more fun to learn programming concepts when you can apply what your learning to even simple video game ideas, like moving sprites around.

This topic is closed to new replies.

Advertisement