Game Design Music and Art

Irrlicht Game Engine? – LegaianLight

LegaianLight

Member

Posts: 71
From: Colorado, United States
Registered: 04-04-2006
I found this game engine called Irrlich and i was wondering if anyone else has heard of it? It looks similar to Torque and looks like a quality engine. If you want to check it out, the site is http://irrlicht.sourceforge.net/ .

------------------
O Praise Christ, O Praise Christ, He Is Holy, He Is Holy - O Praise Him,

Lazarus

Member

Posts: 1668
From: USA
Registered: 06-06-2006
From what I've heard and read it's a good engine, and can be used with many different languages,

Here's a link to some programmers talking about it:
http://www.devmaster.net/engines/engine_details.php?id=4

Taken from that page:
" Please note Irrlicht is a 3D Engine, NOT a GAME ENGINE, but, you can EASILY integrate physics and sound libraries (there are TUTORIALS on how to do this in the SDK!)"

HTH
Lazarus

HanClinto

Administrator

Posts: 1828
From: Indiana
Registered: 10-11-2004
Steve Goss (He goes by Steveth45 on here) gave a presentation at this year's Christian Game Developer's Conference on using Irrlicht. He made a simple sample game using Irrlicht in C++ and gave a presentation on it.

Here's his post about it:
Ninja Robot Attack

Cheers!

--clint

buddboy

Member

Posts: 2220
From: New Albany, Indiana, U.S.
Registered: 10-08-2004
lots of people on here have already talked about Irrlicht..

------------------
WARNING:

RADIOACTIVE IE AHEAD!
--------------------
#include <spazz.h>

int name()
{
char name['B','u','d','d','B','o''y']

steveth45

Member

Posts: 536
From: Eugene, OR, USA
Registered: 08-10-2005
Did somebody say Irrlicht? I thought so. The main difference between the Torque Game Engine and Irrlicht is a matter of scope. Irrlicht is mainly a 3D engine with a little game specific code, such as input and a simple first person shooter style predefined camera code. Torque covers a whole lot more territory for game developers. I personally prefer Irrlicht for my 3D game projects because it is such a simple, easy API. It's free for just about any use, even commercial uses. It's also fast and cross-platform.

If Torque is that big stereo at the shopping mall with two tape decks, a CD changer, a built-in receiver and all the bulk and expense that comes with it, Irrlicht is a component amplifier, that you found at a garage sale but works fine and can be combined with other separate components to taste.

------------------
+---------+
|steveth45|
+---------+

dartsman

Member

Posts: 484
From: Queensland, Australia
Registered: 03-16-2006
The general censis from the comments on devmaster is that the engine is good to start with, I'd also agree with that. When I was looking into engines (about 2-3 years ago) I tried out Irrlicht and Ogre. Irrlicht is ok, but seemed heaps easy and quick to load up a bsp map and add a first person camera which walks around, I believe it was like 16 lines or less :S although that might sound good, it made me uneasy as I felt I was only scriting when using the engine, and kept at arms length from the core code.

Ogre was pretty hard to get started with, it wasn't until I got to uni that I was able to get it compiled. But it's great once you start working with it. The community is pretty good too. Note though, Ogre is only a Rendering Engine, you will need to use it with say Newton, Tokamak, ODE or Novodex (free for non commercial use) to get physics, and then say FMOD or OpenAL for audio.

I'd recommend Irrlicht to beginners who wish to muck around with 3D graphics. But if you really wanted to learn game programming, you should really take up OpenGL and/or DirectX. Although that is more graphics programming, still a facet that you'll need as a games programmer.

Ogre is great for the intermediate C++ coders, I wouldn't recommend Ogre to a beginner C++ coder. Intermediate C++ coders should have more experience with the OOP which Ogre uses and also capable with their IDE. A lot of the problems/errors which could occur with Ogre are due to wrong IDE settings, especially beginner problems (not including the right libraries).

------------------
"But it is God who judges: He brings one down, he exalts another." - Psalm 75:7

steveth45

Member

Posts: 536
From: Eugene, OR, USA
Registered: 08-10-2005
Dartsman,
I strongly disagree with your assessment of Irrlicht. The built-in FPS camera in Irrlicht is simple, has some problems, and doesn't jive well with other physics implementations. It's just a starting point, a way to have working demos for Irrlicht. Any serious game wouldn't use it, and there isn't much else like it in the engine. But, the code for it is available as a learning tool. Once you use Irrlicht for awhile, you'll realize how much it doesn't provide for you. It's hardly a scripting language, it's just a great, cross-platform C++ API for input and 3D graphics. Plus, since it relies on almost no outside libraries, so compiling it is a breeze.

------------------
+---------+
|steveth45|
+---------+

dartsman

Member

Posts: 484
From: Queensland, Australia
Registered: 03-16-2006
yay... steveth45 the main man... hehe... yeah, I was wondering when you'd reply to my post :P haha...

I know how much ya like Irrlicht... I just recon that Ogre would be a much better solution. But then people complain about the "Compiling Issues", it's mainly down to inexperience with their IDE or C++ skills. I don't want to sound all high and mighty. I had the exact same problem with Ogre about 2-3 years ago. Hence why I tested out Irrlicht.

This could be an Ogre/Irrlicht battle... but I'll cut it here, theres enough already out there. People should give both a chance. Like really give them both a chance. Spend the time to get Ogre compiled/running and then have a mess around with it. Also do the same with Irrlicht. Although I've been rather bias to Ogre, I'm definately not going to give Irrlicht another go... I have my own reasons.

anywho...

------------------
"But it is God who judges: He brings one down, he exalts another." - Psalm 75:7

LegaianLight

Member

Posts: 71
From: Colorado, United States
Registered: 04-04-2006
Well, i cant argue with the compiler issues that ive had with ogre. Ogre looks like pretty quality engine when its compiled. Since i have one who enjoys ogre and one who enjoys Irrlicht, what would each of you say your favorite aspect of each are?

------------------
O Praise Christ, O Praise Christ, He Is Holy, He Is Holy - O Praise Him,

dartsman

Member

Posts: 484
From: Queensland, Australia
Registered: 03-16-2006
Ogres' Community is awesome... Post a question, get a reply quickly. On the two main projects I worked on in Ogre I had several Bone Animation/Manipulation questions. I got great feedback rather quickly too.

The engine too is very nicely created with OOP. Note though, if you want to make a game with it you will need to do your own phyiscs and/or use a physics library such as Newton, Tokamak, ODE, Novodex, etc, and other libraries such as for networking, audio, etc. Input is easy in C++ if you don't know how...

if (GetKeyState(VK_UP) & 0x80) { /* do something */ }

Note: To use GetKeyState() include the windows.h file. Needs to be a windows app I think to use that function. Otherwise look into "ReadConsoleInput()", which can be used in a console app.

Wow... just went to www.devmaster.net to see what Ogre is ranked at... Ogre 2nd... Irrlicht 3rd... Crystal Space 1st!? I didn't even know they had been updating it :P haha

Crystal Space though however seems to be lacking the shader support which Ogre has. And some other stuff... possibly not a good choice, wonder why it's 1st then??

Anywho... On the two main projects I worked on in Ogre I had to do a fair bit of research into some bone manipulation. Ogre is really setup well to handle this.

possibly a good idea would be to way up both against each other... so here it goes...


Graphics API : Ogre - OpenGL, Directx | Irrlicht - OpenGL, DirectX, Software
Programming Language : C/C++ | C/C++, C#, VB.Net
OS : Windows, Linux, MacOS | Windows, Linux, MacOS
Status : Productive/Stable | Alpha
Scripting : Scripted Material Language, Scriptable multipass rendering | support LUA scripts
Physics : Basic Physics, Collision Detection, Rigid Body | Bounding box and triangle based collision detection and response
Lighting : Per-vertex, Per-Pixel, Lightmapping | Per-vertex, per-pixel, lightmapping
Shadows : Shadow Mapping, Shadow Volume (you'll have to read the rest) | Shadow Volume
Texturing : Basic, Multi-texturing, Bumpmapping, Mipmapping, Volumetric, Projected (Supports PNG, JPEG, TGA, BMP and DDS image files) | Basic, Multi-texturing, Bumpmapping, Mipmapping (Support for BMP, Photoshop, JPEG, TGA, PCX, PNG)

Ah... this'll take all day... but I've got things to do... anywho... ppl just have a look at:

Irrlicht
Ogre

Way it up yourselves, as I'm sure both Irrlicht and Ogre have their benefits/disadvantages. I would honestly recommend Ogre. If you spend the day (or two/five) getting it setup/compiled and running then you will reap the rewards. But also if you are going to go onto the forum to post about an issue with compiling or what have you, make sure to search first, and check any tutorial too. Also be able to show the problem such as, "LNK 1234: problem finding blah.lib... no such file exists... blah" (just an example). It's more then likely someone has raised that issue and is something easy to fix.

------------------
"But it is God who judges: He brings one down, he exalts another." - Psalm 75:7

steveth45

Member

Posts: 536
From: Eugene, OR, USA
Registered: 08-10-2005
Some more info for comparison:
When you make games with either of these engines, you need to package them with some .dll files.

Ogre redist: 18 .dll's at 8.57 MB
Irrlicht redist: One .dll at 1.06 MB

The Ninja Robot Attack game that I made with artwork and Irrlicht.dll and .exe was a total of 1.5 MB zipped. This is the reason I have avoided the bulkier engines like Ogre and Torque. The API's for both Irrlicht and Orge are available in .chm (Windows compiled help) format. The Ogre API is 8.7 MB while the Irrlicht API is 1.2 MB. Neither of the files are artificially inflated with screenshots or anything like that. It's an indicator of how much more complex Ogre is. Ogre is more "stable" and definitely has a few more advanced features than Irrlicht, so you'll have to weigh the benefits yourself. Even though Ogre is a more mature engine, it has a much higher learning curve than Irrlicht, IMO. Plus, Irrlicht has a .NET interface, so you can utilize the flexibility and ease of C#.

For smaller projects where you don't want to spend much time worrying about compilation issues, download sizes, and more advanced features, there is no choice--Irrlicht all the way. However, for larger projects where download size is not as important as advanced features, Ogre may be the right choice. Both engines come with great sample programs that can get you started.

As a side note, comparing the source code for the sample programs that come with each API is what made me go with Irrlicht.

------------------
+---------+
|steveth45|
+---------+

dartsman

Member

Posts: 484
From: Queensland, Australia
Registered: 03-16-2006
I wouldn't be soo bold to say for a specific size go with one engine rather then another...

I think "Baal Cadar" summed it up the best in the Irrlicht forum with his post...

quote:
I don't get this one. Ogre's development is much more open than Irrlicht's has been in the past. By a great margin. What's done in the CVS is well documented in the wiki. Supplied patches are listed in the patch tracker. When patches are not accepted, the reason is communicated but it can be discussed and after a few changes the patch might still be applied. zenaku, what do you mean specifically here?

From my experience Sinbad and the others in the Ogre team are very open for discussion, but they also have their view of what the engine should be, which Nico and its team has too for Irrlicht.
And the views differ much.
In so far, there cannot be a simple order between the engines from "the generic programmer's" POV, as this too much depends on the purpose.

From my POV the main design differences between Ogre and irrlicht is, that Ogre is made more generic, while Irrlicht is made more for immediate use.Things that are hard wired in Irrlicht, are free to choose in Ogre.
Two examples:

Material subsystem: Ogre has the most flexible system I have see so far.
A material can have one or more techniques, that decide LODing or fallbacks (if no hardware shader available for instance), as many passes as you like with as many texture units as you like. (automatically split into several passes, if hardware texture units don't suffice) Completly free blending between the texture units and the passes and very customisable depth handling. Downside: As a beginner you have to read heaps of documentation you don't understand well at first. Even a simple material looks complex and in the beginning you can only do copy/paste and change a little.

Irrlicht on the other hand has ready-made materials for a variety of purposes, easy to use and ready for production. But if you need more than that things get complicated and you end up changing the source.

Meshes: Ogre has a very flexible hardware buffer setup. Vertex format is completly free, you can use any semantic in any order, split them up in several buffers if sensible for the application. But setting this up manually (which you don't need to do that often though) or reading from it for some reason (like physics engine feeding) is extremely hard for a beginner and even after some working with Ogre I have to look things up over again if I work in that area.

Irrlicht has software buffers with hard wired vertex layouts. Easy to use, but if you need something special, you are on your own and probably have to change the code in many places.

Ogre is not that hard to use really, it is just extremely big and complex. It is difficult to learn and to get into, but usage isn't. The design is clean and sharp. I just mention this here, because it is one of the most often heard prejudices here.
Anyway, enough differences between both, for both having their place in the community. My whole point is, that none is strictly worse or better than the other, but that purpose and level of the programmer define individually what is better.


http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=11254&highlight=ogre

EDIT: Added URL

------------------
"But it is God who judges: He brings one down, he exalts another." - Psalm 75:7

[This message has been edited by dartsman (edited June 22, 2006).]

jestermax

Member

Posts: 1064
From: Ontario, Canada
Registered: 06-21-2006
i'd like to add that Ogre also has a .NET extension