In my opinion, the best thing about Irrlicht is the learning curve. I was literally programming 3D applications after I had examined the "hello, world" sample program. It uses a class-based system that is intuitive and easy to remember. It is also simple, and much of the complexities are handled by the engine itself, rather than making the programmer responsible.
Irrlicht supports a wealth of file formats. It will load and display 3ds Max files, Quake 2 MD2 Models, Maya .obj objects, Quake 3 .bsp maps, Milkshape3D objects, and DirectX .x files. 3ds Max and Maya objects are widely supported by many 3D modelers (such as Wings3D), so creation of these files is very easy.
Particle systems are also implemented in the engine, making creation of complex effects such as fire and fountains of water very easy. It even has a rudimentary gravity effect that you can attach to particle systems that cause the particles to fall after a few seconds.
Another nifty feature is the concept of "animators." Animators are classes that can be attached to any object within your program, and are primarily involved in smooth movement of 3D objects. They are easily extended to fit your needs. For example, I had no trouble modifying the "FlyCircleAnimator" to cause the object to fly on an oval-shaped path.
Irrlicht is also well-documented. Although its author, Nikolaus Gebhardt, is slightly rusty on some of his English, the API reference is by no means unreadable. For some of the inner workings of the engine, there is no documentation, but most of the undocumented classes are fairly self-explanatory.
The engine has one shortcoming that I find annoying: It is virtually impossible to create Irrlicht-compatible animated models without high-end software. The animated model formats that Irrlicht supports are MD2, the Quake 2 character model format, and Microsoft's own .x format. I found creation of models in these formats to be cumbersome at best. I plunked down $25 for Chumbalumsoft's Milkshape3D, but found even that to be lacking in model creation capabilities. It would seem that the best way to design .x models is to model in 3ds Max and use Microsoft's exporter. However, this is but wishful thinking for those of us with limited resources (3ds Max costs $4,000).
Also, as of version 0.6, the "skybox" object is only capable of displaying 16-bit textures, thus showing color banding on higher-quality images. I find this to be a nuisance.
When using the Direct3D renderer, the engine will cause the program to crash if it's running in windowed mode and the user's color bit depth is not 16 or 32 bits. However, this is easily overcome with some basic error checking.
While Irrlicht is clearly still in the beta stadium, it shows some real promise. It has a large, active community that can (and will) answer questions about it.
Irrlicht gave me the motivation to learn C++, as well as teaching me many programming skills. The entire package is only 10MB, so I encourage you to download it and give it a shot! Both Windows and Linux are supported, but Direct3D is only available for Windows (naturally). I have not tried using Irrlicht under Linux, so your mileage may vary.
3D Modeling Solution
What you need, good sir, is Blender (http://www.blender3d.org (http://www.blender3d.org) ) and a proper exporter: http://bane.servebeer.com/programming/blender/index.html (http://bane.servebeer.com/programming/blender/index.html). Enjoy. :)
Re: 3D Modeling Solution
> What you need, good sir, is Blender
> (http://www.blender3d.org ) and a proper
> exporter:
> http://bane.servebeer.com/programming/blender/index.html.
> Enjoy. :)
Whoa! Pretty cool. That gives me an incentive to learn blender :)
Ian
Re: 3D Modeling Solution
>
> % What you need, good sir, is Blender
> % (http://www.blender3d.org ) and a
> proper
> % exporter:
> %
> http://bane.servebeer.com/programming/blender/index.html.
> % Enjoy. :)
>
>
> Whoa! Pretty cool. That gives me an
> incentive to learn blender :)
>
> Ian
>
>
Glad to be of service. :)
James
Your game
Is your game up anywhere? I'd love to have a look at what a beginner can achieve these days (as a beginner too)
BozMo (http://catesfamily.org.uk/)
Some Thoughts
IMHO there are only 2 things that stop beginers from doing great things: 1-fear from unknown and complicated things; 2-boredom that appears because of the "interest treshold level", that merely roots from the first problem, and fear of unsuccesful end...
AS you see I would better speak, and urge someone to write an article more about the way people get things done, and motivation that drives them to do them and keep them cool.
Also, about the 3D Game programming, I think it is great to start doing it using a library that gets you away from all math and low level directives... You learn the abstract concepts, and only if you are really a future Carmack, you will dive into the realm of games' 0's and 1's :).
Mediocre level engine, wich is a good start for most..
<br>
I'v tried this engine myself to see what the fuzz is all about :-)<br>
The engine (and techdemo provided) looks (at first) nice. It has some nice things in store to fiddle with. (wich is nice for beginners too)<br>
However, after playing with it for some time, the engine began to show more and more negative setbacks... for instance... <br>the graphic render module is not that good, it lacks the quality AAA-class engines have. (it actually made me think that i was seeing a render of a game back in 1998).<br>
So the engine is more an educational kind of engine, and not an engine usable for a commercial class game. <br>
So if you want to be in 3d gaming business, this engine can proof itself, in the way of learning you how some things are accomplished in the 3d programming.<br>
<br>
I'll stick with a more AAA class engine.....
Re: Mediocre level engine, wich is a good start for most..
Mediocre, yes, but you must realize that this is only in the 0.7(as of last saturday) stadium, which is hardly production-level quality. I chose Irrlicht a) for its ease of use and b) for its licensing: it's under a zlib-style license. I doubt you'll find a less restrictive license on any 3D engine. It ain't Torque, but it has a good features-to-ease-of-use ratio.
> <br>
> I'v tried this engine myself to see what
> the fuzz is all about :-)<br>
> The engine (and techdemo provided) looks
> (at first) nice. It has some nice things
> in store to fiddle with. (wich is nice
> for beginners too)<br>
> However, after playing with it for some
> time, the engine began to show more and
> more negative setbacks... for
> instance... <br>the graphic render
> module is not that good, it lacks the
> quality AAA-class engines have. (it
> actually made me think that i was seeing
> a render of a game back in
> 1998).<br>
> So the engine is more an educational
> kind of engine, and not an engine usable
> for a commercial class game. <br>
> So if you want to be in 3d gaming
> business, this engine can proof itself,
> in the way of learning you how some
> things are accomplished in the 3d
> programming.<br>
> <br>
> I'll stick with a more AAA class
> engine.....
>
Re: Mediocre level engine, wich is a good start for most..
Ian,
Ok, you're right. It was (and is) a bit premature to compare the engine towards well known engines (wich i've used too).
Don't get me wrong: The engine has huge potential, sure, no doubt about it.
In other words, keep it up! still there is a long way to go... :-)
cheers, Rogier van Gemert
> Mediocre, yes, but you must realize that
> this is only in the 0.7(as of last
> saturday) stadium, which is hardly
> production-level quality. I chose
> Irrlicht a) for its ease of use and b)
> for its licensing: it's under a
> zlib-style license. I doubt you'll find
> a less restrictive license on any 3D
> engine. It ain't Torque, but it has a
> good features-to-ease-of-use ratio.
>
>
> % <br>
> % I'v tried this engine myself to see
> what
> % the fuzz is all about :-)<br>
> % The engine (and techdemo provided)
> looks
> % (at first) nice. It has some nice
> things
> % in store to fiddle with. (wich is
> nice
> % for beginners too)<br>
> % However, after playing with it for
> some
> % time, the engine began to show more
> and
> % more negative setbacks... for
> % instance... <br>the graphic
> render
> % module is not that good, it lacks the
> % quality AAA-class engines have. (it
> % actually made me think that i was
> seeing
> % a render of a game back in
> % 1998).<br>
> % So the engine is more an educational
> % kind of engine, and not an engine
> usable
> % for a commercial class game.
> <br>
> % So if you want to be in 3d gaming
> % business, this engine can proof
> itself,
> % in the way of learning you how some
> % things are accomplished in the 3d
> % programming.<br>
> % <br>
> % I'll stick with a more AAA class
> % engine.....
> %
>
>
>
Re: Mediocre level engine, wich is a good start for most..
> <br>
> I'v tried this engine myself to see what
> the fuzz is all about :-)<br>
> The engine (and techdemo provided) looks
> (at first) nice. It has some nice things
> in store to fiddle with. (wich is nice
> for beginners too)<br>
> However, after playing with it for some
> time, the engine began to show more and
> more negative setbacks... for
> instance... <br>the graphic render
> module is not that good, it lacks the
> quality AAA-class engines have. (it
> actually made me think that i was seeing
> a render of a game back in
> 1998).<br>
> So the engine is more an educational
> kind of engine, and not an engine usable
> for a commercial class game. <br>
> So if you want to be in 3d gaming
> business, this engine can proof itself,
> in the way of learning you how some
> things are accomplished in the 3d
> programming.<br>
> <br>
> I'll stick with a more AAA class
> engine.....
>
I happy to see that someone who can afford $1Mill per project for a AAA 3d Engine (i.e Id's Commercial Engine) still chooses to browse around freshmeat.net......
as for looking like something from '98 try running it on hardware from 2004
($1500 laptop amd64 3gigHZ 512Mb 64meg-ati 9600igp
@ 200+fps on the Techdemo with q3ctf2.bsp & textures
(thats 39000+ polys in that map)
with OpenGL & D3D8 D3D9 support & True Platform Independance)
it leaves a lot of overheadroom for dynamic game content.
try doing that in '98 without an SGI Onyx WorkStation($50,000+ and propriatary API's !!!)
but for my money Irrlecht is quite a feat,
the best part about it is if something is not quite to ones taste, the source is there to spice it up,(a true 3D programmers gift from the gods), and it also works as promoted right out of the box. PreCompiled DLL's WOW.
also
i rebuilt the entire project without having to debug a single line of code,or download any 3rd party libs, incredible.
(on msvc6++ noless)
as a Graphics programmer since the raster&vector days (that is back in '84) i am IMPRESSED
it definitly paves the road for the next generation of programmers to concentrate on intuitive gameplay and dynamic content without having to write 150 lines of code just to init a gfx mode, or lay out 10 grand for an entry level 'AA' Engine. (note thats only 2 A's meaning only adequate)
AnyOne Interested in Irrlecht OpenGL Support for
the i-glasses 3D display and/or HeadTracker please let me know, I could use some beta testers,
Also i am personaly offering webspace for Articles/Examples/Tutorials etc.. for the Irrlecht API (Comming Soon to a URL near you...... send all inquiries to 3D@jkromero.com)
Blender does support .X export
You dont have to purchase 3dsmax for anything! Blender has an .X file exporter. Besides that, Blender can also export OBJ files so there is no downside in this regard anymore.