Irrlicht - Fast Realtime 3D Engine 221
Surye writes "Though a few days late on the release, Irrlicht has released version 0.7 of its engine. The site describes it as 'an open source high performance realtime 3D engine written in C++. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.' Bindings for java, perl, ruby, and python, and it is platform independent (only implemented currently on Windows and Linux, but when it moves to other platforms, the code will be completely portable). The feature list is simply amazing, and since it's still being quite actively developed, I can see this becoming a major player soon."
game applications (Score:5, Insightful)
Re:game applications (Score:4, Insightful)
The problem with all game-oriented graphics engines I've seen is that they do more than it says on the box. They handle input, XML parsing, file handling, etc. and you end up re-implementing a lot of stuff to tie it in with your code unless you let yourself depend completely on the engine in question.
~phil
Re:game applications (Score:2)
Furthermore, if the engine is done correctly why not just rely on it for things like file access. Either it, or the library it relies on, will provide a simply method to access the direct cont
Re:game applications (Score:5, Interesting)
XML parsing was possibly a bad example, but we've basically got two XML parsers compiled into the game right now. Irrlicht's XML parser would be a pain to get running with PhysFS, and it only works once the graphics engine is set up, at which point we'll actually have done a considerable amount of XML file loading already.
The problem with all this added functionality is that it's fairly laborious to work around if you don't want it, and it's quite likely that that is the case, because the way it's integrated into the engine isn't especially flexible.
Input handling is another one of these problems. We support keyboard and joystick input in our game. Because keyboard input is heavily tied in with the windowing abstraction, and thus the graphics engine, it seems sensible to put it into the graphics engine. It isn't that clever though, because you'd now have two seperate systems doing almost the same thing - the graphics engine doing keyboard input, and the input system doing joystick input. It's barmy!
I also shy away from anything but graphics being dependent on the graphics engine. If there was an Irrlicht file handling module, an Irrlicht Input module, and an Irrlicht graphics module, that would be great. If I decided to drop Irrlicht graphics I could still use Irrlicht file handling without having this behemoth sleeping in my source tree. As it is, I wouldn't even want to rely on loading sound files with the Irrlicht file system, because sound and graphics are, and should be separate.
It can certainly be worked around, it would just be a lot friendlier to make it inherently more extensible, for example by creating a very simple file handling interface, providing a standard implementation that uses fstream objects or whatever, but leaving you the ability to create another implementation to that interface which happens to use your file handling system of choice. Lots of C-based libraries use callbacks for this kind of stuff, and in C++, with polymorphism in the language, it should be even cleaner!
~phil
Re:game applications (Score:4, Informative)
Re:game applications (Score:2)
Re:game applications (Score:5, Insightful)
I do think that even commercial developers would give something back to a community that provided them with a free, robust, and mature game engine.
-kaplanfx
Re:game applications (Score:2)
Not entirely true, although your idea is correct.
As you know, the Quake 2 engine is released under the GPL. As an alternative to abiding by the rules of the GPL, you may shell out a single payment to change the license to something closer to your liking. (To prevent some potential issues, the alternate license should only apply to the base source code tree, as well as changes intended to be merged int
Re:game applications (Score:4, Insightful)
Not unless the game developers provide recompiles for all platforms. The only programs that are truly "platform independent" come with source code.
license (Score:5, Informative)
Here's the actual license, for those too lazy to follow the parent's link. It's very short, and allows you to do pretty much whatever you like with it:
-jim
This liscensce needs some work (Score:3, Interesting)
If someone on the project is reading this may I suggest that the lisecensce be changed to add an additional clause. This additional clause would all
Re:game applications (Score:2)
Re:game applications (Score:2)
How does this compare... (Score:5, Informative)
Re:How does this compare... (Score:3, Informative)
Re:How does this compare... (Score:5, Informative)
As to design. CS is complicated to use (I agree with that) but the design of CS is geared towards flexibility (both for the game writer and also with regards to supporting new advanced features of modern 3D cards).
Of course, I'm the original creator of Crystal Space. So take my opinion with a mountain of salt
Greetings,
Re:How does this compare... (Score:4, Interesting)
Really, Crystal Space or the Nebula Device may be better in themselves, but if we were to use them, we'd have to recreate all these tools ourselves. Hint: if you are gonna do a game of any serious magnitude, you will need tools, and lots of them. If Crystal Space wants to start seeing games built, they should include starter kits (as in something simple to start modding instead of starting from scratch) and more importantly tools. Tools for manipulating terrain, creating particle effects, placing objects and so on. Being able to import stuff from Quark or Maya is not enough. DO you as a level designer want to place everything in your game by entering numbers in a text file? I thought not... =)
As for Irrlicht, I really like it a lot. It is cool, it is really, really easy to get something up quickly in, it has good performance and plenty of good examples to get one started. However, it is nowhere finished enough (but I can wait) and it is not a game engine - it is a 3D rendering engine that could very well be used to power an awesome game engine. I think some people over there are working on such beasts, though I don't know the status... if any of them also read this, remember the tools boys!
Re:How does this compare... (Score:4, Interesting)
I've always wondered why there seem to be so few (any?) licencees of Croteam's Serious Engine [seriousengine.com]. Are they just pricing themselves out of the market, or something? I mean, Serious Sam has proved that it's more than capable of getting the job done, and Serious Editor looks to provide all the tools you could want. So why aren't people using it? What made you choose Torque? What advantages did it have over the competition?
Re:How does this compare... (Score:3, Informative)
Re:How does this compare... (Score:3, Interesting)
If you are someone who has investors backing you, or have a company with money in the bank... or at least someone with a contract with a publisher, you maybe can afford to shell out that kind of money, b
Re:How does this compare... (Score:3, Informative)
However it's extremely powerful, and kicks the ass out of this engine from my impression. The existing renderer isn't too good, probably about the standards of this one, but their new renderer is capable of cel shading and bump mapping [sourceforge.net] to make Doom 3 envious. And as the poster pointed out it's behind a relatively big-name [planeshift.it] OSS game. Although
So how is this engine different? (Score:3, Insightful)
Ever tried coding with Genesis 3D? The documentation is shit. Take for example the explanation for the "GoEngine" function:
Yeah, hey guys, it seems to have something to do with something! Let's code with it! For fuck's sakes.
Show me a 3D engine with reasonably documented code and I'll jump at it. Until then, you may have all the features in the world Mr. Engine Programmer, but if I can't pick it up and start doing something meaningful within an hour, you've failed miserably at your primary task: making sure the engine is actually usable.
Re:So how is this engine different? (Score:5, Informative)
I guess Irrlicht is pretty good then...
Irrlicht Documentation [sourceforge.net]
Re:So how is this engine different? (Score:2)
Before you start bashing, check the site... (Score:5, Informative)
Welcome to the Irrlicht Engine API documentation. Here you'll find any information you'll need to develop applications with the Irrlicht Engine. If you look for a tutorial on how to start, take a look at the homepage of the Irrlicht Engine at irrlicht.sourceforge.net or into the SDK in the directory \examples.
The Irrlicht Engine is intended to be an easy-to-use 3d engine, so this documentation is an important part of it. If you have any questions or suggestions, just send a email to the author of the engine, Nikolaus Gebhardt (niko (at) code3d.com).
In the documentation are the classes explained in a quite clear and concise manner, in JAVADOC-style.
I'm sorry, but some 3D-engines do think that documentation is important, so I guess your 3D engine with reasonably documented code is already here....
Re:So how is this engine different? (Score:2)
However, the question in the subject is a valid one.
What makes Irrlicht different or even better than other libraries? Anyone here with some practical experience who can shed some light on that?
Re:So how is this engine different? (Score:2)
You may be smart and angry, Mr. Slashdot Commenter, but if you can't read any of the articles before ranting about something, you've failed miserably at your primary task: contributing to a meaningful discussion.
Within three hours of Irrlicht's release (Score:5, Funny)
When asked whether the move to Irrlicht would interfere with the work already done since their announcement last week that DNF had standardized on the Mario Party 6 engine, 3D Realms declined to answer, instead apparently becoming distracted by and taking chase after a rabbit running through the grass nearby
OSS needs this. (Score:3)
Karma whore? (Score:2, Informative)
Re:OSS needs this. (Score:2, Insightful)
Will It Last? (Score:4, Insightful)
Apparently the engine has only one developer who can supposedly drop the project at anytime. Probably not likely though. Maybe there are more developers now, this was weeks ago.
Re:Will It Last? (Score:3, Informative)
Even if that happens, you have the source code, so you can maintain it yourself.
Granted, if the project went under you wouldn't get any new bug fixes or patches, but for what you paid for it ($0), what can you expect?
Re:Will It Last? (Score:3, Informative)
So it would appear that source is in fact available.
Re:Will It Last? (Score:2)
Re:Will It Last? (Score:2, Informative)
Is there no CVS / Can you send me the code of the current development version of the engine?
No, I cannot send you the code I am currently working on. If I want someone to use new or updated code of the engine, I'll create a new release. And I am not going to create very unstable preview versions of the engine, because I don't have the time to answer thousands of arising questions which are caused by the inmaturity and instability of the released code. This is also the same reason,
Re:Will It Last? (Score:5, Informative)
My understanding is that the developer simply didn't wish to put his code into CVS or the like until after a version 1.0 release. Some other people at Irrlicht NX [mmdevel.de] decided to take the source, stick it in CVS, and apply patches and fixes and the like. The author had zero problems with this, and even lauded the effort.
Re:Will It Last? (Score:2)
No the source isn't GPL, yes it's available, no the developer doesnt have a CVS running, yes there is a forked one, see the parent's link.
Re:Will It Last? (Score:2)
Fear that the project will be abandoned is mostly unfounded. It is released under a libPNG style license and may be branched at any time.
"Game" engine vs 3D engine. (Score:5, Informative)
a 3d engine, which is about putting things on screen.
For making a full game, much much more is needed. Player control/input
handling, level loading when needed, loading saving of progress. Physics. AI. And , well, a _whole_ lot of other code. Plus some amazing
artists and a good way of dealing with content made in 3d party applications(modellers)..
So (Score:2)
Re:So (Score:2)
Re:So (Score:2)
SDL only gives platform independent access to sound, mouse, keyboard, joysticks, and 3D graphics through OpenGL. You have to develop your own 3D-engine using OpenGL when using SDL. Irrlicht saves you from that hassle. So combinig SDL and Irrlicht makes sanse, since they cover different areas of a game.
RTFA (Score:2, Informative)
- Here are some shots of new features of the development version of upcoming Irrlicht 0.5: The
- These shots show the development of version, 0.4.2: Ultra realistic terrain rendering, indoor rendering using the new high quality texture loader, some new features of the user interface syst
It's the tools. (Score:2)
If you don't have a solid development framework there's no way you can begin to make a successful game with it, because your artists can't begin to make real game content with it.
This code has to be mature because you don't it breaking whenever an artist or designer tries to create something awesome. Typically one of the major benefits you get w
Re:"Game" engine vs 3D engine. (Score:2)
handling, level loading when needed, loading saving of progress. Physics. AI. And , well, a _whole_ lot of other code.
Indeed, and sound, which I can't find any mention of on their website. Sound is often overlooked - consider how effective in creating atmosphere the advanced sound engine in Doom3 was, it made a significant difference to the feel of the game.
If you're looking to make a game I'd usggest you consider tenebrae2 [tenebrae2.com] which is a
Re:"Game" engine vs 3D engine. (Score:2)
Re:"Game" engine vs 3D engine. (Score:2, Informative)
Re:"Game" engine vs 3D engine. (Score:2)
Consider rendering in an octree model. First we can render everything in the cube the camera occupies, adding neighbor
... vs OpenSceneGraph? (Score:2, Interesting)
so far, so good. (Score:2)
Engine lacks... (Score:5, Informative)
However, it is open source so stay tuned in the future!
Re:Engine lacks... (Score:4, Informative)
Bump mapping and it's cousins are generally implemented using vertex and pixel shaders, which the Irrlicht Engine supports.
And how does that matter? (Score:2)
What you are saying is the typical vapourware talk.
Maybe there is even code for realtime radiosity in the cvs, it just doesnt work... Would you then also claim that the engine supports realtime radiosity?
not any amazing development since 0.6... (Score:2)
Bah... (Score:2, Funny)
...wake me up when we've got some hardware raytracers
RegardselFarto
Re:Bah... (Score:3, Funny)
Re:Bah... (Score:2)
In case you didn't know, you don't need an apostrophe to make a plural.
Re:Bah... (Score:2)
Well, it's not hardware (Score:2)
Re:Bah... (Score:2)
The benefits of a good virtual machine (Score:5, Interesting)
If PERL 6 and Parrot are able to get really mature in the next 6 months to a year, they owe it to their users to try to provide solid support for a library like this as part of the parrot distribution. A language like PERL 6 which is supposed to be really slick thanks to ruby's influence on its design would be great for opening up game development to the masses.
The way I see it, unless a game written in C/C++ is going to completely max out your CPU and GPU then it's probably worth being written in C# or PERL 6 eventually. Something like this would be Microsoft's worst nightmare for home users who play games a lot.
rotfl (Score:3, Funny)
perl6 won't even be beta within a year.
*cough* vapor *cough*
I can't speak for mono, but... (Score:3, Interesting)
As for maturing, well, I'd consider parrot to be of at least beta quality; it isn't stabilized yet, and many things are still subject to change, but on the other hand, it promises to be at least on par with (and in some cases substantially faster than) php, perl, ruby, and python as far as VM performance goes.
However, Perl 6 I'd consider to be alpha quality; more of its design is in flux, a
Re:I can't speak for mono, but... (Score:2)
Not true, especially on the PC where you can't assume people have the latest and greatest CPU and graphics card. I think this would be better phrased as "games whose authors decide that maxing out your CPU/GPU is a priority will do so." That really only covers a handful of games. Even DOOM 3 doesn't max out a 3GHz Pentium 4 with a Radeom 9800. (Yes, it has crazy settings that look 2% better and saturate the system bus, but turn them off and you're f
Re:The benefits of a good virtual machine (Score:2)
SDL is available, etc.
I'd prefer to write games in Python with platform-specific libraries available as modules for CPU-intensive sections. Of course, if a library for the current platform wasn't available, you'd just run in native Python mode instead.
Re:The benefits of a good virtual machine (Score:2)
Check out the author's blog... (Score:2, Informative)
And say an amen to his entry regarding linux and windows.
Good but not the best (Score:5, Informative)
That said, if you're new to 3D Irrlicht is a good place to start.
Re:Good but not the best (Score:4, Informative)
While Irrlicht may be designed to provide a very nice and quick API for beginners to 3D programming, Ogre has seemed more professional to me. As a graphics engine, Ogre seems top-notch in terms of performant implementation of bleeding edge features that won't run on anything less than the latest generation video cards. (I have not really taken a close look at Irrlicht since about version 0.5 though.)
There have been at least a couple commercial games released (an arcade machine and some game appearing on Finnish television) done with Ogre.
I think that because it is new, and maybe because it is a graphics engine and not a game engine, Ogre has been getting less press than it may deserve. Anyway, be sure to check it out.
Also, don't judge an engine by their demo screenshots. Open source authors often don't have the resources to make beautiful artwork to dazzle people with (nor do they have the financial incentive to do so).
Re:Importance of Developer Community (Score:2)
Re:Importance of Developer Community (Score:2)
Not Open Source, GPL of unfinished source (Score:2)
wip9.jpg [theshower.nl]
can you release a binary or any compiled source, even if "alpha" or worse, under the GPL without the source? That's what he claims to have done (you cannot obtain the source for the current development, nor could you in the past)
Re:Not Open Source, GPL of unfinished source (Score:2)
2. The engine was not released under the GPL in the first place.
Re:Not Open Source, GPL of unfinished source (Score:2)
2. Right
Re:Not Open Source, GPL of unfinished source (Score:2)
That's well documented in the GPL itself.
That said, the above is under the ZLIB license, not GPL.
Also, if you're the Copyright holder, you can release your Betas under a tighter license anyway. You can do whatever you like as the Copyright holder.
Re:Not Open Source, GPL of unfinished source (Score:2)
Crystal Space 3D (Score:5, Informative)
From the about us-blurb "Crystal Space is a free (LGPL) and portable 3D Game Development Kit written in C++. It supports: true six degrees of freedom, colored lighting, lightmapped and stencil based lighting, shader support (CG, vertex programs, fragment programs,
Read more at http://crystal.sourceforge.net/ [sourceforge.net]
Easy To Use... (Score:4, Informative)
a gamers POV (Score:2, Insightful)
You can't make a game with this easily. (Score:2)
Picture Quality... (Score:4, Insightful)
Re:Picture Quality... (Score:3, Informative)
Re:Picture Quality... (Score:2)
Irrlicht as at least one advantage: what it does just works. The same can't be said for OGRE.
This isn't a commentary on the relative power of the two engines. For the sake of argument, I will stipulate that OGRE is light years more advanced than Irrlicht.
I downloaded Irrlicht and ran the technology demo. It just worked and gave me a good benchmark of what it could do. It's library was precompiled for Linux, so I didn't have to both
Considering it's all done by one guy... (Score:2, Interesting)
Freshmeat is that you? (Score:2)
I hope they improved the renderer, as it used to have poor performance and poor visual quality.
OGRE3D (Score:4, Informative)
OGRE doesn't try to be a game engine - just an Object-oriented Graphics Rendering Engine. It can be easily integrated with other libraries to create a complete game framework - ODE for physics is a quite popular choice.
OGRE itself focuses on a clean and well designed API, while other engines are just hacks over hacks. It also has a very knowledgeable community and a very involved project leader.
Irrlicht Desktop? (Score:2)
"Powerful, customizeable and easy to use 2D GUI System with Buttons, Lists, Edit boxes,
2D drawing functions like alpha blending, color key based blitting, font drawing and mixing 3D with 2D graphics."
Irrlicht offers a GUI toolkit [sourceforge.net]. How about a window manager, so we can finally have realtime 2D objects like documents, lists, pictures and component GUIs, in a 3D space (not just Z-buffered)? I'd love to be able to stack tabbed windows in bundles, and turn them on their side (rotating around the Y axis),
What's so "real-time" about it? (Score:4, Interesting)
Not that I'd expect it to be real-time given it doesn't require any real-time OS features, and not that I know anything about whether game developers can use real-time features, just a pet peeve.
Re:What's so "real-time" about it? (Score:2, Interesting)
In other words, it's a 3d Engine suitable for use in a game, or other interective software.
The alternative is a batch renderer, where you would start it going, and then walk away.
The phrase "Real Time" is absolutely not limited to the applications you seem to think it is, and has a wider meaning that extend
Another one?? (Score:5, Informative)
There are quite [devmaster.net] a [849pm.com] few [tu-berlin.de] 3d engines out there. The biggest I guess are Crystal Space 3D [sourceforge.net], Genesis3D [sourceforge.net], OGRE [ogre3d.org], Toque [garagegames.com] (Tribes2), Quake and Quake II [idsoftware.com]. Of course there are others to fill certin niches like Yeti [theteahouse.com.au] or ExoEngine [exocortex.org] and libraries like DevLib [devlib-central.org] and G3D [sourceforge.net] for those who want to write their own engine, but don't feel like they need to implement yet another file loader. I'm not sure why 0.7 of Irrlicht was worth mentioning on /. as it is isn't clear what its roll is compared to those other engines.
I was at Siggraph 2004 and attended a round table on "how will you (game developers) feed next generation games". The problem is going from a Playstation1 to Playstation2 many developers found games now took roughly 2 to 3x the man years to create. But profits didn't really go up that much to compensate. This has happened every console generation and will happen again with the up coming generation. PC games don't have clear generations, but the same concept applies.
The main ideas were to reuse content. For example if you're making a Matrix game, get the 3d models from the movie instead of making your own and start from there. Or if you're making a port try to reuse as much as possible. Future games will have a lot of computer generated stuff which is artist guided instead of artist created so that one artist creates a forest instead of creating a bunch of leafs on a single tree.
A big surprise to me was open source wasn't mentioned until somebody asked. A company like id will implement something cool like unified lighting for all objects first, but a year later everybody has their own implementation of it. Every year has something like this that gets the anual lens flare award; colour lighting, ground clutter, normal mapping, rag doll physics, etc. Yawn. Every company spends all this time re-implementing the exact same technology. All developers can read the same papers from Siggraph, Eurographics, or GDC and then discuss them on the same mailing lists so there is plenty of open sharing happening already. So I was surprised to hear none of the guys at the round table thought open source would really be useful to help save them money in the future other than for rather basic things like zlib, lua, etc.
It sure would be nice to see some engines reach commercial quality to used in some good games instead of getting more and more re-implementations of the foundation, which /. apparently is finds interesting. Once it happens there will be a huge snow ball effect where it picks up a LOT of developer attention. Maybe in five years one of the existing engines will reach a level of maturity that it can start to be really used and then in another ten we'll see it catching on like GNU/Linux is now?
Hm ... (Score:2)
I like the name: Irrlicht (Score:2)
Fast? (Score:2)
There are stencil buffer bugs when the shadows of the character meshes are hidden behind a partical effect such as the flames.
I would not call this engine "fast" from the demo. Sure, the flyby ran at 75f
Re:Portable 3D Engine (Score:4, Interesting)
The only other reasonable option is the Torque3D [garagegames.com] engine.
Re:Portable 3D Engine (Score:2)
Re:Portable 3D Engine (Score:2)
REAL WORLD: Cost of Engine vs Senior Engineers (Score:3, Insightful)
That said, $250K is not cheap but it's not an exorbitant cost to license a full graphics engine and tool chain. That's the same order of magnitude cost as Criterion Renderware which many companies license (and is what we use at Midway Games for nearly all of our games including the upcoming Mortal Kombat 6). Of course, with Renderware you can license just the engine (without the tools like Renderware Studio / Physics) or the additional package
Re:REAL WORLD: Cost of Engine vs Senior Engineers (Score:2)
I've never had the chance to work with a modern commercial engine, so I don't know how they compare, but I'm grateful for things like Torq
Re:Portable 3D Engine (Score:2, Insightful)