Remix.run Logo
Irrlicht Engine – a cross-platform realtime 3D engine(irrlicht.sourceforge.io)
75 points by smartmic 5 days ago | 56 comments
irrlichthn a day ago | parent | next [-]

Strange to wake up and see this on Hacker News - in 2025. I originally created this but am no longer involved - AMA if you like.

rafaelmn a day ago | parent | next [-]

Thank you for doing it ! What was the motivation behind it/when did you start building it ?

I never built anything with it but reading through the source code got me to learn so much about programming. I probably spent more time copying stuff from Irrlicht/Ogre3D/ODE (although I never managed to grok that one) than anything else in high school.

irrlichthn a day ago | parent [-]

I originally wanted to create a 3D game - and needed an engine for it. Never made it to the 3D game part, though :)

uncircle a day ago | parent [-]

Many such cases

digitalbreed 20 hours ago | parent | prev | next [-]

An old gamedev teammate sent me this link - got hit with a wave of nostalgia. Big thanks for creating Irrlicht back in the day.

lasagna_coder a day ago | parent | prev | next [-]

What was the main learning you got from building the engine? Was there some feature you wanted that no other engine at the time had? If you built an engine today, what would you do differently?

irrlichthn a day ago | parent [-]

I thought most of the existing engines out there were too complicated, so I wanted it to be easy to use. Probably that's also why it became that popular.

For a modern engine today - I think the architecture of the engine would look different - and would focus more on creating and organizing content then mostly on rendering.

ta12653421 a day ago | parent [-]

I was involved in 3D back then wenn Irrlicht & Co had some traction:

Todays graphics engine look completely different than the first flexibel pipelines around 2002-2005, and the rise of AI for usage during rendering will change the tech paradigms further (for the younger ones: In 2001, NVidia announced the Geforce1, we had 1 pixel shader and 1 vertex shader :-D LOL)

le-mark a day ago | parent | prev | next [-]

I spent a lot of time studying this code way back when, it was a valuable resource in my personal journey, so thank you x1000!

jarrell_mark a day ago | parent | prev | next [-]

Thanks for the quality software. Had some good times in high school trying out Irrlicht

kaiokendev a day ago | parent | prev [-]

It was a great engine. You built a great piece of software.

valorzard a day ago | parent | prev | next [-]

I wish there were more standalone 3D renderers like this. This, Ogre3D[0], and Wicked Engine[1] seem to be the last of their kind

[0] https://github.com/OGRECave/ogre

[1] https://github.com/turanszkij/WickedEngine

dualogy a day ago | parent | next [-]

Wicked, fully FOSS for non-console targets, I had some fun with earlier this year, it's a great very-modern full-featured D3D-or-Vulkan renderer under active development with a lively yet cozy-sized community (including a handful of folks taking care of the Linux side). The API is easily learned and can be operated via your game code from Lua or C++ or a mix, as you see fit, with Lua scripts being executable also in Wicked's editor app (Windows/Linux).

My hunch is that by sticking to just Windows/Linux/consoles and firmly-decidedly-skipping other cross-platform platforms such as Apple's Metal, mobile's OpenGL, WebGL/WebGPU/WebAssembly, it is kept maintainable, unbuggy (not 100s of bug-tagged Open Github Issues) and capable of ongoing rapid feature iteration.

skocznymroczny a day ago | parent | prev | next [-]

What do you mean by standalone renderers? There's Forge [0], which was used for Starfield. Also, there's nothing stopping you from taking a popular engine and using it as a renderer only. Remaster of Oblivion is running the original game code underneath and using Unreal Engine 5 for rendering. I assume Diablo 2 remaster did something similar because you can seamlessly switch between old and new graphics.

[0] https://theforge.dev/products/the-forge/

valorzard 12 hours ago | parent [-]

I mean yes you can do that, but it’s pretty hard since the engine expects you to work within its framework. Not saying it’s impossible of course, just annoying. Also, if I’m not mistaken, the forge is just a cross platform graphics wrapper? You still need to write a GLTF renderer and all that yourself if I’m not mistaken.

modeless a day ago | parent | prev | next [-]

Does this one count? http://cubeengine.com/

valorzard a day ago | parent [-]

Yeah I guess so, lol. I don't think its super updated though. Pretty sure Red Eclipse has long since forked cube engine and done it's own thing with it

pjmlp a day ago | parent | prev | next [-]

There are a few .NET and Java ones still going at it as well.

LibGDX, jMonkeyEngine, FNA, MonoGame, Silk.NET, Vortice

alecthomas a day ago | parent | prev | next [-]

https://hazelengine.com/ is another

valorzard 12 hours ago | parent [-]

Big fan of the cherno!

whstl a day ago | parent | prev [-]

bgfx is another option, it's quite active and support modern 3D APIs.

valorzard 12 hours ago | parent [-]

Ah forgot about bgfx. Though, I thought it wasn’t a renderer? Just a high level graphics api wrapper like wgpu?

jasperry a day ago | parent | prev | next [-]

And don't forget the GUI editor for Irrlicht, CopperCube! I had an easier time getting started with this than with the more modern but heavier frameworks (never finished anything though). https://www.ambiera.com/coppercube/index.html

crivlaldo a day ago | parent | prev | next [-]

I made a course project on Irrlicht back in 2008. It was a shooter with a Quake map, medkits, and ammo. I don’t even remember who you were supposed to shoot at.

The point of the project was to show what a graphics engine is, and why I could get in just a few evenings what used to take man-months or even years only a few years earlier.

I got the highest grade.

gatane 2 days ago | parent | prev | next [-]

Luanti (ex Minetest) also uses this engine btw

https://www.luanti.org/

jsheard 2 days ago | parent [-]

Kind of, they forked Irrlicht and took it in their own direction.

https://github.com/luanti-org/luanti/tree/master/irr

webprofusion a day ago | parent | prev | next [-]

Godot is currently used as the 3D engine in the Tesla in-car UI, possibly also in their apps (?). It's cross platform and open source and has a pretty vibrant dev community.

modeless a day ago | parent [-]

They're reportedly switching to UE5.

77pt77 a day ago | parent [-]

For a car UI?!

Seems complete overkill.

modeless a day ago | parent [-]

Rivian has been using it for a while. Yeah, it's overkill.

8f2ab37a-ed6c a day ago | parent [-]

It's reasonably modular and you get access to the full source, so if you wanted to drop many chunks of it that aren't relevant to you, you could, in theory. Of course it's still a 20M+ LOC codebase and all future version updates integration are going to suck big time, but a large enough team can likely power through the suffering here.

jsheard 2 days ago | parent | prev | next [-]

Now there's a blast from the past. Irrlichts heyday was around ~2010, but it looks like there's still a few people keeping the lights on.

TIL it was actually used in a commercial game (Bugsnax) relatively recently, although the devs said that it will be their final release on the engine.

https://xcancel.com/luthyr/status/1271866001467080705

frainfreeze 2 days ago | parent | next [-]

Blast from the past indeed! I ve toyed around with it, Ogre3D and others, finally setting down on P3D. Over a decade ago I maintained unofficial Panda3D Facebook page, and had page analytics track followers count again Ogre3D and Irrlicht Engine pages, trying to surpass them..

garaetjjte 2 days ago | parent | prev | next [-]

Ogre3d also seems to be alive.

steve_taylor 2 days ago | parent [-]

I remember a time when the topic of a lot of forum posts was Irrlicht vs. Ogre3D. If I recall correctly, Ogre3D was harder to get started with and had a smaller scope (just the scene graph), but was the better of the two 3D scene graph implementations.

skocznymroczny 2 days ago | parent | next [-]

I miss the era of websites like flipcode (archives are still available https://www.flipcode.com/ ), people sharing screenshots of their OpenGL/DirectX engines. Nowadays making a 3D engine is more of a hobby, because you'll never catch up with the big ones.

thegeomaster a day ago | parent | prev | next [-]

Well this was a trip down the memory lane. I built a small game on Irrlicht at the time and I remember these discussions also.

Irrlicht had its editor (irrEdit), a sound system (irrKlang), and some basic collision detection and FPS controller was built right into the engine. This was enough to get you a considerable way through a fully featured tech demo, at the very least. (I even remember Irrlicht including a beautiful first-person tech demo of traversing a large BSP-partitioned castle level.)

However, for those not afraid to stitch these additional parts from other promising libraries (or derive them from first principles, as was fashionable), OGRE offered more raw rendering prowess: a working deferred shading system (this was the heyday of deferred shading), a pop-less terrain implementation with texture splatting, and more impressive shader and rendering pipeline support, with the Cg multi-platform shading language. I remember a fairly impressive ocean surface and Fresnel refraction/reflection demos from OGRE at the time.

jesuslop a day ago | parent | prev | next [-]

I remember being lured at the time by Irrlicht learning curve for a professional project and migrating to Ogre in the middle... How nightmarish was using assets coming from 3D authoring software. Repressed memories return about switching from 3D studio to XSI (better) and fighting with Collada converter plug-ins quality issues. Prefer the dentist.

protocolture a day ago | parent | prev [-]

Yeah classic haha. I think the Ogre forums especially had quite a few of these comparison threads.

"Ogre3d is a graphics engine, if you want to spend the time to strap a game to it, go for it."

emmelaich a day ago | parent | prev | next [-]

The news page mentions a few games released last year (2024).

monkeyelite a day ago | parent | prev | next [-]

In retrospect, I think you are far better off forking Quake rather than messing with these kinds of 2010 projects which attempt to solve all problems, and do none of them very well.

jsheard a day ago | parent [-]

The problem with forking IdTech is that it's GPL, which is a problem if you ever want to release your game on consoles. The vast majority of new Quake-inspired boomer shooters take the pragmatic approach and just use Unity or Unreal instead.

indrora a day ago | parent | next [-]

Saleco is doing just fine, and it's based on Doom.

MindSpunk a day ago | parent [-]

Isn't Selaco desktop only? The problem is GPL on consoles, because you can't ship GPL code to a console because it's impossible to meet the modify+re-link requirement since the consoles will only run signed code.

a day ago | parent [-]
[deleted]
monkeyelite a day ago | parent | prev [-]

> which is a problem if you ever want to release your game on consoles

The direction of dependency is from your program to the console specific stuff. You can write a platform library which is linked to your program without releasing that library.

> modern boomer shooters

I didn't say for boomer shooters. It's a general 3D game engine.

> just use Unity, Unreal or occasionally Godot instead of the actual Quake engine.

Because they are popular and familiar, not because they did a serious evaluation.

Also my comment was about Irrlicht/Ogre, etc.

jsheard a day ago | parent [-]

If you know of an example of GPL code being cleared for release on consoles I'd be interested to hear it because I'm not aware of any. The game Wrath: Aeon of Ruin was built on a fork of the Quake engine, but then they had to spend years rebuilding it from scratch in Unity for the console releases because GPL was verboten.

monkeyelite a day ago | parent [-]

Maybe you're right. I have not tried this and don't know someone who has.

I am reasoning with the example of DirectX. You should be able to release a GPL program that uses DirectX, even though nobody has the source code for it.

If some version of that is not right, it's impossible to make a GPL windows or Mac UI application.

a day ago | parent [-]
[deleted]
PenguinRevolver a day ago | parent | prev [-]

Holy crap, I didn't know that they used that engine for that game. I thought they stopped using it after Octodad: DC.

pjmlp a day ago | parent | prev | next [-]

It was one of the most well known engines, alongside Ogre3D, before the whole Unreal/Unity dichotomy took off.

fidotron a day ago | parent | prev | next [-]

There was a certain French mobile games company that maintained a private fork of this. Quite how used it was in production was never entirely clear.

jtfrench a day ago | parent | prev | next [-]

I thought you died alone. A long, long time ago.

DeathArrow a day ago | parent | prev | next [-]

When seeing this I wondered if I somehow accidentally accessed a 15 years old version of HN.

brcmthrowaway 2 days ago | parent | prev [-]

How does this compare to Godot

monkeyelite a day ago | parent [-]

Not at all similar. Godot follows the Unity model of focusing around a GUI editor. This is a set of cpp libraries.