Leaving Irrlicht?...

Discussion about everything. New games, 3d math, development tips...
chronologicaldot
Competition winner
Posts: 685
Joined: Mon Sep 10, 2012 8:51 am

Leaving Irrlicht?...

Post by chronologicaldot »

===== Complaint Rant... (skip if you want to stay positive)

I've toyed with Irrlicht for over a decade now, and while it's ok if you want to do everything yourself and just need to get something drawn on the screen, many of the features included with the engine are next to useless.
Examples:
1) Mesh importers are outdated, except for .obj. I tried IrrAssimp, but that fails to correctly load much including .fbx, which is the standard everyone is using now. Somehow other people have made it work, and I can't.
The best supported animated mesh format in Irrlicht is .x, which is outdated and no longer exported from Blender. In fact, there isn't a single animated mesh format that Irrlicht loads (e.g. md2, x) that you can create with Blender or 3DSMax (afaik), which is a real turn off for choosing Irrlicht as a 3D engine.

2) CAnimatedMeshSceneNode is useless. All it does is loop the entire animation. You can't control it. You can stop it and reset it, but it has no function purpose. You basically have to rewrite the whole thing if you want to animate meshes.

3) The basic font is ugly. (The CGUITTFont extension works, but despite using FreeType the fonts somehow come out fuzzier than GTK, and we don't have layout handling like Pango.)

4) No support for game controllers, and limited support for joysticks. I still own a joystick, but most people own game controllers now, and alot of games are more fun with a game controller.

Irrlicht is fine if all you want to do is draw a custom 3D object or do a 2D game.
But it seems like any time I try to do something with Irrlicht, like a game, I find I run into a number of brick walls and rewriting stuff from scratch. I'm rather curious to know what everyone else has done to make Irrlicht work for them.

Yes, I could put lots of time into writing new features for the engine, but it would be like putting new bells and whistles on an old car with an old motor and old transmission. It might be worth it, but I'm at that point in my life where I'm tired of writing everything from scratch that I know has already been done somewhere and better.
Other engines have lots of new features... but it lack things like the free license, ease of setup, ease of extending, ease of learning curve (and easy code to read), and relatively nice memory footprint.

===== Thanks

Irrlicht has been great for little pet projects and just throwing something 3D onto the screen quick. It's like a bicycle. I know it well. And it would be great for 2D games.
I have to thank everyone who has contributed to it and made all of it free.

CuteAlien, you're one of the best devs I've ever run across. You patiently respond to questions, work hard on bug fixes, and somehow have time to manage to add new features, and do it all for free. You're awesome!!


In the end, I feel like if I want to do serious 3D projects besides plotting points, I have to move on to some other engine.
It's been great being here, and I'll probably pop in every so often to see how things are or ask a random question.
I have noticed that activity has slowed down on the forums abit, so this is kind of a lonely place at times, but on the bright side, maybe that's less for the mods to think about.

Blessings, and take care! I wish you all the best in creating!
AReichl
Posts: 269
Joined: Wed Jul 13, 2011 2:34 pm

Re: Leaving Irrlicht?...

Post by AReichl »

I (we?) have a wish:
if your time and energy allows please inform us of your search for another engine and the final decision.
I am just curious.
CuteAlien
Admin
Posts: 9645
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Leaving Irrlicht?...

Post by CuteAlien »

No worries, trying out different engines once in a while is a good thing.

I know the limits of the engine well enough, so I use it in projects where those limits mostly don't matter much. Thought interestingly the limits that bother me tend to be a quite different list ;-) Maybe because I don't use it for games anymore.

I do agree on formats and wish we had gltf by now and thought a lot recently about starting with some irrJSON (that part is simple and having that would make support for gltf easier). Not having a good Blender -> Irrlicht pipeline is annoying. Just checked and seems Blender indeed no longer has any (official) way to export .x format. I didn't know, I thought it could still be enabled via plugins :-( I haven't done any real animations in Blender myself over last decade, so I'm sadly not too familiar with that anymore. B3D was an option for a while and if you search forum there was recently someone who got it working again.

CAnimatedMeshSceneNode doesn't play the whole animation but those frames you request in setFrameLoop. But I admit it's far from a complete animation system which makes it easy to blend partial animations and stuff like that. Sadly there hasn't been any coder interested in maintaining the animation system since Luke left.

No doubt about ugly basic font. There is a stupid reason why it's not replaced... it contains icons used for Irrlicht UI elements. Which I learned about when I found a nicer font and tried replacing it a few years ago *sigh*. And yeah, UI should not use the font and this should be changed. Preferably in a way that allows resizing UI elements in a nicer way. I didn't care enough because I rarely use the default font.

Lack of good controller support was one reason I used SDL for that part back when I wrote my racer with Irrlicht (my first project with Irrlicht).I think other one was some quirk in the input system which prevented me getting all joystick input (something about part of the input not beeing buffered but only polled so events got lost, but would have to experiment again to be certain about that). Sadly also something which has no maintainers and something I haven't needed in my own projects ever since.

Thanks for appreciating my work. I wish I could do more. And yeah, Irrlicht is nicer for quick pet projects where all you need is some simple 3D + GUI + input quickly. Well, it's not just pet projects, I also earned money once in a while doing a quick simply project :-) But with larger projects you have to code stuff at some point which large engines have by default.

Btw, what are you going to try then? Closed license (well, these days it's basically Unreal or Unity...)? Or checking out new Godot? I kinda like that one, just sadly can't be used as a library so doesn't fit my current projects.

Well, hope you are back some day. Until then - thanks for your engagement with the forum community over the years and good luck with your projects!
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
chronologicaldot
Competition winner
Posts: 685
Joined: Mon Sep 10, 2012 8:51 am

Re: Leaving Irrlicht?...

Post by chronologicaldot »

@CuteAlien - I have an irrJSON in IrrExtensions:
https://github.com/chronologicaldot/Irr ... il/irrJSON
Requires the irrTree, here:
https://github.com/chronologicaldot/Irr ... il/irrTree

Sadly, the plugins for Blender get outdated quickly, and unlike Irrlicht, Blender doesn't support backwards compatibility on most things.
Blender doesn't export to b3d either.

I've never used SDL, I should check it out.

For scientific projects, I can still use irrlicht. E.g. I created a quick program in irrlicht for drawing the spherical harmonics, which would have been tedious to do in other engines.
For game projects, the question gets interesting:
For some 2D games, I can still use Irrlicht, but I have to custom write a scene manager that renders images with the correct copy-with-alpha now that that's part of irrlicht. :D But I don't have any 2D games planned.
For other 3D projects esp games, I have considered Godot, Unity, and Unreal. Ogre is just a bigger beast than Irrlicht with more tools needed.
Godot: I found the 3D navigation controls in the editor were slightly annoying (I wonder if I can change them), and I have to learn Godot's own programming language and API. It does do some nice things easily, like handling collision physics even for cameras, and you can make a quick RPG cam. There are some demos, but after that, you're mostly on your own. I'm not sure how I feel about Godot yet.
Unity: The best games I've seen out of Unity were 2D. I don't know why. Is that indicative of what it's best for?
Unreal: I love the stuff coming out of unreal, and since it is industry standard, I need to give it a try at some point.

So we'll see...
CuteAlien
Admin
Posts: 9645
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Leaving Irrlicht?...

Post by CuteAlien »

Cool, I didn't know about your irrJSON! Not to mention that there's quite a lot other code there...

SDL is worth checking out, pretty low level, simple to use. And nice license as well. But not a game engine, more of an OS wrapper for multimedia stuff like window management, input devices, sound, setting up OpenGL.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
chronologicaldot
Competition winner
Posts: 685
Joined: Mon Sep 10, 2012 8:51 am

Re: Leaving Irrlicht?...

Post by chronologicaldot »

Thanks for the info on setFrameLoop(). It makes AnimatedSceneNode more useful, albeit still lacking, but at least useful enough for an old-style game. Wish I knew more about inverse kinematics and bone stuff, but for some reason some of that stuff in irrlicht always seemed alittle cryptic to me... at least at 1AM when I get around to looking at it.
It makes me wonder how SmartBody was incorporated into Irrlicht. I never did get to have a look at that code.

Update on the game engine list: Turns out, Unity is very pricey, and 30 day trial is hardly long enough to see if I like it, so I'm scratching that from the list.
CuteAlien
Admin
Posts: 9645
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Leaving Irrlicht?...

Post by CuteAlien »

If you ever want to code your own animation system I can recommend the book "Game Engine Architecture". It has a very long, very in-depth chapter about modern animation systems.

I'm mostly getting by now how Irrlicht animation system works, but never really started maintaining it (aside from bug-fixing). My main project on which I've been working on last years only needs static models, so currently I only take a look at animation when there are bug reports.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
AReichl
Posts: 269
Joined: Wed Jul 13, 2011 2:34 pm

Re: Leaving Irrlicht?...

Post by AReichl »

You HAVE to take a look at Urho3D.

It's one of the few engines that compiles "out of the box" without installing anything else or fiddle with parameters or settings.
It has everything you probably need and can be programmed in C++,Lua,Angelscript.

A question about the blender-irrlicht-pipeline:
can't you just save something in blender-format and load it in irrlicht with irrassimp?
CuteAlien
Admin
Posts: 9645
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Leaving Irrlicht?...

Post by CuteAlien »

Blend files are not a good data exchange format as it's not written for that. To my knowledge it's a binary format serializing the internal structures, so it can and will change between version. It's usually better to use exporters which target the data you really need in another tool.
For example generally you would like all modifiers applied before export, otherwise the tool reading it has to re-implement the modifiers the same way Blender does code them internally. Another example is that many exporters will convert to triangles before export which are easier to handle in game engines than other polygon forms.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Noiecity
Posts: 92
Joined: Wed Aug 23, 2023 7:22 pm
Contact:

Re: Leaving Irrlicht?...

Post by Noiecity »

I come from several engines, I have tried many, until I ran into irrlicht, I was surprised by the excellent performance, your problem with the mesh can be easily fixed by exporting the model to FragMotion, and from FragMotion to .x, it is a paid software /free, the license lasts 7 days but when the license ends it asks you to pray a biblical (literal) prayer and it gives you 7 days again, the problem you have with irrlicht I experienced using directx9.

You can develop a game without game engine, just using directx9 and c++, it has realtime rendering, input handling, even for joystick, connection handling for multiplayer games, basically directx9 is a microsoft SDL with better performance than opengl for most from windows 7 era graphics, people often compare opengl with directx9, but opengl would be direct3d and directdraw, directx9 are many features.

Now, current engines suck and are full of memory type errors, and they are not very useful for small projects, come on, you can make a gta san andreas just using directx9 and it will consume 500 ram and about 20 mb of graphics card running at 1300 fps on an old laptop, if you do the same using godot, unity or the newer unreal engines, it will ask for at least 4 gb of ram for 60 fps, if it reaches 60 fps, the same happens if you use versions of directx10 or higher , their performance sucks, they have some graphical improvements and they have better performance for projects that require a lot of power, but only that, very incompatible and many bugs.

Now, you can use OpenGL and c++, but for small projects I would recommend GLUT, it's like a mini version of opengl, it has better performance than opengl in general, although I don't use it with c++, I use assembly, directly with FASM( has its own "ide" with examples), with 7kb it builds a high-performance 3d project (with about 4mb of ram usage)

If you are going to use SDL2, I recommend Love2D, believe me, it will make everything easier for you, together with the ZeroBrane IDE, which is also not difficult to configure.

The only real competition that I would see for irrlicht would be with game studio 8 lite c, which is a game engine rather than a graphics engine like irrlicht, I would say that it is more complete for developing games than irrlicht, but irrlicht is a delight to try , game studio 8 is a bit more annoying, but it's excellent, even so, I prefer irrlicht, despite the fact that I've only been using it for a short time (have I spent 2 days on it?)

Irrlicht in combination with irredit reminds me of unreal engine 2, robust, good performance, easy to program, compatible.

Unfortunately unreal engine 2 cannot be used for game development according to its license, only unreal tournament mods, but its performance and compatibility is superior to unreal engine 3.

When you use other engines you will be disappointed, they have many errors that are practically impossible to solve, solving them would be equivalent to rewriting the engine, and then the engine usually loses interest.

I want to develop a game in irrlicht, I was surprised how easy it was for me to get used to it, one graphic engine made with love, the others seem to be made with hate in comparison.

Other engines that were also made with love, although their documentation is a bit messy are ORX (for 2d) and Cube 2 Sauerbraten (their developer died)
**
If you are looking for people with whom to develop your game, even to try functionalities, I can help you, free and in an anonymous way if necessary. You can send me a private message.

https://www.artstation.com/noiecty
**
Noiecity
Posts: 92
Joined: Wed Aug 23, 2023 7:22 pm
Contact:

Re: Leaving Irrlicht?...

Post by Noiecity »

By the way, if you want a model to have several animations, you only have to use one animation line, and recognize them by the frames, for example, from frame 1 to 30 is walking, from frame 31 to 60 is running, at least that's how I've seen work the .x models with animations in irrlicht, I recommend you use irredit to create your worlds, have the models and textures in a folder, inside the folder of the executable that is produced, the paths are saved as if it were xml but with . irr, you can open it with a text editor and check the paths
**
If you are looking for people with whom to develop your game, even to try functionalities, I can help you, free and in an anonymous way if necessary. You can send me a private message.

https://www.artstation.com/noiecty
**
BlitzCoder
Posts: 9
Joined: Wed Jun 15, 2022 6:49 am

Re: Leaving Irrlicht?...

Post by BlitzCoder »

Irrlicht is still a good game engine to get something going.

For starters, one major suggestion I could think of is having basic shaders that is:

- Combined Normal mapping + Specular mapping + Shadowmaps (Basic and preferably PSSM/CSM).
- The above should work on all light types, opaque or alpha transparent materials and other basic scene components like fog, etc.
- Post Effects like Bloom, Volumetric Lighting, GreyScale, etc. common effects stuff.


A good documentation on how to use Irrlicht Shaders, perhaps some tutorials and examples
since most shader adaptation are from tutorials and even port from other renderers/engines.


I have seen XEffects and it is a very nice extension, but under utilized or perhaps needs an update.

I remember testing a PSSM demo in XEffects or IrrCg and it sort of works on a decent or large level.
I'm trying to find the link perhaps that was a late addition.
This PSVSM demo also seems interesting, but apparently now a broken link.

IrrRender and IrrPP are also nice addons.

cheers.

Edit: so it's IrrCG for PSSM and found an old screenshot.

Image
New Blitz3D/BlitzBasic/BlitzMax Home - https://blitzcoder.org
CuteAlien
Admin
Posts: 9645
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Leaving Irrlicht?...

Post by CuteAlien »

We did add a post processing shader example (no. 27) not too long ago in Irrlicht trunk. But yeah, we should add at least a shadow map example.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
BlitzCoder
Posts: 9
Joined: Wed Jun 15, 2022 6:49 am

Re: Leaving Irrlicht?...

Post by BlitzCoder »

That's a good step in the right direction. It's really about getting those common shaders that I think what draws at least some attention.

The OP also mentioned about issues with animation (#2), is this the really the case? or perhaps there are some extensions to solve it?

In Blitz3D, the bones can be manipulated to do some blending but to some extent, here it is in action:
https://www.youtube.com/watch?v=dkx8zKbefOU

I'm sure something can be done on Irrlicht as well, without any drawbacks in performance.

Documentation is also a major thing, aside from the generated ones.. an overall wiki of some sort would make a huge difference.
New Blitz3D/BlitzBasic/BlitzMax Home - https://blitzcoder.org
CuteAlien
Admin
Posts: 9645
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Leaving Irrlicht?...

Post by CuteAlien »

Animation issues discussed above already ;-) So yeah, Irlricht can do a bit more. Also a bit blending. But it's still a long way from a modern animation system.

And yes, loss of Wiki was bad (happened due to some changes in sourceforge server we are using). Thought it never was maintained that well either.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Post Reply