
Show HN: Lumix Engine – Open source C++ 3D game engine - mikulas_florek
https://github.com/nem0/lumixengine
======
cyborgx7
Maybe I'm just now getting aware of it but I just recently learned of Godot[1]
and now this as well. Seems like we have the chance to replace Unity as the
"Community" game engine with a free open source version.

[1] [https://godotengine.org/](https://godotengine.org/)

~~~
pjmlp
A lot of work still needs to go into those engines to achieve feature parity,
specially in regards to GUI tooling.

Just check Unreal's 2017 roadmap.

~~~
trueSlav
Whoever thinks that all these random 3D engines are worth anything to anyone
but hobbyist programmers is delusional to say the least. "gui tooling" (or as
I like to call it: "the engine") represents maybe 80 to 90% of value of an
engine like Unity or Unreal. I'm sure that anyone who's actually done some
project in one of these can confirm what I'm saying. The amount of money and
time spent on the tools of UE is simply insane.

~~~
jackmott
Unity had no GUI tooling until very recently, yet was already very popular.

~~~
dkonofalski
I think they're referring to the GUI of the actual tools you're using within
the engine, not the ability to create a GUI for your project in the engine.

I mean... just look at the screenshot of the OP. That needs some pretty
serious work. :-/

------
sytelus
So... Unreal Engine is already open source and cross platform. I understand
they want royalty for revenues > $3000 but that seems ultra reasonable to me
considering you get reliable large team to put out release after release.

Does any of the engines mentioned in this thread come close to feature set in
Unreal? What's the value here other than creating basic 2D/3D games?

~~~
mikulas_florek
You are right that UE/Unity/Lumberyard? is the way to go for 95% of users,
but:

* UE may have it's source code publicly available, but it's definitely not free (as freedom to do anything with it)

* UE is very _resource heavy_

* You can not use it to create gambling or military stuff

* 2D possible, but not very nice

* Complicated code

None of the open source engines come very close to UE, but you pay the price
for it. Even Unity (without any 3rd party plugins) is not close, but I argue
Unity is still very useful.

~~~
Namrog84
UE4 is only as resource heavy as you want it to be, just as Unity can be
resource heavy if you follow certain patterns. Unity and UE4 and many others
can achieve quite a bit of parity in performance nowadays. There are scenarios
that either one has potential to win out in.

Epic has made great strides in so many areas that if you haven't tried it in a
few releases(6ish months?), there is quite a bit of stuff that is better (both
in cleanliness/precision but also in performance and overhead)

~~~
mikulas_florek
I just tried to open UE 4.14.2 (no scene) - it took 140seconds, how is that
not resource heavy? Opening some basic project - 15 seconds. Making a small
change in my plugin and compiling it ~2minutes. Intellisense are quite slow,
VisualAssist even slower. Donwloading UE - several GBs.

I can recompile my whole engine in 20 seconds (and I am not using precompiled
headers), editor launches in ~1 second, basic scene load ~1 second. Small
change in source code - compile & link in 3 seconds. Intellisense brokes from
time to time when using FBX SDK, but it's fine otherwise and without FBX SDK
there is no problem. Engine size with some necessary data - a few tens of MB.

When I am doing something in my game and I have to change something, turn off
engine + make change + compile it + start engine + load the scene = few
seconds. It's so fast I did not even bother to implement hotreload for native
code.

When I'm working on my UE plugin - the same cycle is several minutes.

~~~
Namrog84
the 140 seconds seems like something is wrong or some weird bottleneck is
happening especially for a empty scene. I feel like opening a scene for me is
about 10 seconds at most.

I thought you were talking about it being resource heavy relative to unity,
not to your own home grown one, which is likely (and obviously) much lighter.
I have no doubt in that comparison all the larger game engines have quite
resource heavy editor. But the tradeoff is supposed to be that few extra
seconds loading it up and few GB downloading it, saves you potentially months
of work you don't need to do yourself in a more custom engine.

the 2 minute plugin change also seems really off. I can tweak my plugins and
recompile in a few seconds.

Intellisense is much better than it used to, at least on my own machine, but I
will admit it was finicky for me for a while. Its usually instant for me
nowadays, though I will admit at one point it was ridiculously slow(5-10
seconds). I have no idea what I've changed and I am on the same computer.

no getting around UE4 being quite big, several GB, to download.

------
dimillian
What the big difference between the OpenGL and D3D renderer? Are they
performing and look the same across Windows and Linux? What about MacOS? I
guess if it run on Linux I can fiddle with the source and make it run on it?

Look awesome! Always good to have diversity in 3D engine.

~~~
daemin
Generally Direct3D is for Windows and OpenGL is for all other platforms.
Sometimes the OpenGL renderer works on Windows as well for easier testing and
development.

~~~
pjmlp
When "all other platforms" does not include gaming consoles, as there is this
urban myth of OpenGL support on them.

Only partially true on the PS3 (GL ES 1.0 with Cg), which was largely ignored.

~~~
daemin
Yes, consoles have their own rendering libraries, well for the XBoxOne it's
DirectX, but for the PS4 it's a proprietary library (Source: currently working
at a AAA studio).

But that is a technicality, because most developers that are making an engine
(especially indie or hobby developers) don't have access to development
hardware and SDK's.

So it's valid to say that OpenGL runs on all other platforms (that the
developer is targeting).

------
locusm
Came across this one too the other day - Xenko
[http://xenko.com/](http://xenko.com/)

~~~
mikulas_florek
Xenko looks very professional, pity it's GPL.

~~~
antoinealb
Apparently they allow you to keep your game's source closed. From their FAQ:

> Yes, you can sell your game without any constraints as long as you use the
> binary version distributed on the website. If you modify and recompile the
> engine yourself, you can still sell your product, but you have to open the
> source code of your game and the modifications made to Xenko as stated in
> the GPL license.

~~~
mikulas_florek
Yes, binary release is not GPL. However the main advantage of open source
engines for game developer is their source being opened so you can change it.
I wished so many times I have access to Unity source in my dayjob. But in case
of Xenko, if you modify it you have to publish the source code of your game -
which is a no-go for most game companies.

~~~
ralfd
> I wished so many times I have access to Unity source in my dayjob.

Wouldn't that be trap though in practice? Everytime a new Unity version comes
around you would have to patch/test your changes back in.

~~~
mikulas_florek
Yes, it might be a trap. However you could at least:

* submit a patch

* find out that it's specific behaviour causing the bug and avoid it

* now how to optimized your code

* know how things work - Unity's docs misses a lot of details.

------
xando
Hey, this looks really good. Thanks for the good work.

A question. Please don't get it wrong.

How you going to maintain that? Recently more than anything I'm more afraid of
investing my time in some tool will go away in the near future. While UE and
Unity 3D are not perfect, neither free (or even cheap). But those teams have
all the money to support next releases, and I have some guarantee that they
will exist next year.

~~~
mikulas_florek
Perfectly valid question. You are right, while there is a high chance that UE
and Unity will be maintained, there is no guarantee. In any single person
project, especially noncommercial, the chance it will not be maintained is
much higher and Lumix Engine is not an exception. The only "proof" that it
will be maintained is that I already worked on this 4+ years (as you can see
on github) and that I'm making a commercial game with the engine.

If someone is not prevented by something (personal preference, license issue,
features) there is no reason to use Lumix Engine rather than UE/Unity.
UE/Unity should be the right option for 95% of developers.

~~~
laythea
I do not wish to appear overly cynical (and apologies if this does), but what
is stopping me investing all my time/effort into this, and finding out the
licensing terms have changed such that it becomes more on par with commercial
offerings?

Seems like the only benefit would be short lived, whilst I would take on a lot
of the disadvantages of not going to a more commercial offering immediately.
I'm genuinely interested. I can imagine this putting a lot of people off
"committing".

~~~
mikulas_florek
You/I/Anybody can not change the license retrocatively. It means that current
source code is MIT and it always will be. I/Anybody might fork the engine
under different license or even close source it, but that won't change the
fact that current source code is still MIT licensed. Me close-sourcing it is
the same as me abandoning it - you can still continue using/developing it
under any license you wish.

~~~
laythea
Appreciate the answer, thanks. I guess that would rule out the people who
definitely do not even want the possibility of the prospect of maintaining
their own engine. I would be curious to know what kind of percentage we would
be talking about...

~~~
mikulas_florek
No engine is guaranteed to be maintained, not even the UE/Unity. Look at
CryEngine, once a big, popular engine. Now with all the CryTek's problems, I
would not bet it won't get dumped.

------
sddfd
What became of ogre3d? [http://www.ogre3d.org/](http://www.ogre3d.org/)

~~~
iainmerrick
There's Urho3D ([https://urho3d.github.io](https://urho3d.github.io)) which
seems to be mostly a clone of OGRE. I don't know if any of the same people
work on it.

Xamarin have a C# wrapper for it, UrhoSharp
([https://developer.xamarin.com/guides/cross-
platform/urho/](https://developer.xamarin.com/guides/cross-platform/urho/)).
I'm working with it now and I like it a lot better than Unity so far; but I
strongly prefer to work in code rather than doing everything in Unity's IDE.

~~~
mikulas_florek
Urho is so much much more than Ogre3D and it's definitely not a clone of
Ogre3D. It's full game engine with a lot of features - audio, physics,
navigation, ... while Ogre is basically just rendering library. And Urho's
rendering is not closer to Ogre than any other rendering solution out there.
The only thing they seem to have in common is that people are slowly losing
interest in them, which is unfortunate.

------
veli_joza
Very cool technology, both the engine and studio/editor. Impressive, judging
from commit stats it seems to be one person project. Kudos!

What happened to FieldsGame? Sounds interesting, but the link on readme page
doesn't have any information except it's a physics sandbox of some sort.

~~~
mikulas_florek
Thanks. It's mostly one person project. There once was another programmer
working on it but now it's just me and from time to time some people I do not
know.

FieldsGame is made by 3rd party developer, so I do not know in what stage it
is. It is possible it's abandoned.

------
jokoon
Can it support a large, procedural open world? I tend to think such feature
would require its own engine...

~~~
mikulas_florek
I do not think there is an engine which can be used to create game such as No
Man's Sky without a lot of custom code. This is open source so it can be used
as a base for such game.

------
gerardogc2378
Hey guys do you know Armory3d plus Blender integration
[http://armory3d.org](http://armory3d.org)?

~~~
mikulas_florek
I've seen it several times, however it's quite confusing what it really is.
From their webpage:

> The goal of Armory is to bring real-time rendering to artists. Everything is
> fully integrated into Blender, turning it into a complete authoring tool for
> real-time content.

and

> Everything is bundled to provide the ultimate game development tool.

That's two quite different goals.

------
imtringued
Why is are the components limited to 64 distinct types? That sounds low to me.

~~~
mikulas_florek
It's a performance optimizations at the moment, since there is much less
types. However I know this is an issue for the future and I have a solution
prepared.

------
tobyhinloopen
Is there still room for another game engine?

~~~
mikulas_florek
I started Lumix Engine years ago for fun and as a test bed for new ideas,
which were later implemented in my dayjob. Now I am using it to make a game. I
never intended to fill some gap on the market.

~~~
pvg
What's the game?

~~~
mikulas_florek
[http://www.indiedb.com/games/on-the-hunt](http://www.indiedb.com/games/on-
the-hunt)

