Luxe: free, cross platform, open source, rapid development game engine

7 years ago (luxeengine.com)

I was wondering about the interesting choice of an obscure language as the first language to roll out with luxe, but it seems really interesting [1]

I am definitely biased once I realized the primary author of the language (Wren) is Bob Nystrom, someone with professional experience in both game and language development [2]

[1] http://wren.io/

[2] https://github.com/munificent

If you are looking of a free, cross platform, open source game engine that is already out and ready to use you should check out Godot: https://github.com/godotengine/godot

  • Can anyone that has experience working with game engines speak to the capability and quality of godot or luxe in relation to commercial game engines like Unity or Unreal?

    I'm all for a free and open-source alternative game engine, but the commercial engines are quite battle tested, and I've always thought of game engines as highly complicated pieces of software that can easily go haywire. Can anyone speak to the quality of the architecture of godot? (or even open source game engines in general, game engines are a subject I presume most are ignorant to).

    • Unity and Unreal vs Godot

      Unity and Unreal = Huge engine that can make life like multi-million dollar games. Can be overwhelming for small teams

      Godot = Awesome engine where almost anyone can make a game quickly. Release a game in a week or you can work with a team for over a year with a polished game. Godot is the killer Indie Game Engine due to how easy it is to make a game but you can really get something that scales but it isn't as capable as Unity or Unreal.

      Godot vs Luxe (Haven't programmed in Luxe yet) - Godot you really using a lot of menus to make your game, though you can now in Godot 3.0 do everything (mostly) code based now (Great thing in my opinion). Luxe seems to try and make it more code based with the ability to use menus and a API that will allow you to use almost any language (Though I think languages similar to Python with a ton of libraries might not be well suite for porting. I really think Racket would make a killer game scripting language if people will get over brackets.

      3 replies →

    • Bennett Foddy (maker of, among other things, Getting Over It with Bennett Foddy and QWOP) said that he enjoyed porting QWOP to Luxe [0].

      As somebody who has worked in Unity for a number of years, I am really excited to trying out the new engine. Unity is incredible for rapid prototyping and pretty good at making certain types of games, but there is a lot of bloat if you don't use all of their systems. Seeing something more modular is super exciting, and I can't wait to try it out.

      [0] https://twitter.com/bfod/status/975492015860236288

      1 reply →

  • yea, there are several engines out there! It's great. I'm glad godot exists, the more usable engines around the better I say. (Although there are many reasons people choose to use godot (or other engines) to make games over another existing engine, similar reasons exist for why I make luxe for me to use!)

Nice work! I remember when this was written for Haxe. The project seemed to be quiet for a while so I assumed the project was dead. Very happy to see it’s almost ready! I have some questions.

1. There aren’t a lot of mentions of Haxe. Are you moving away from Haxe?

2. Will there be any console support? There are very very few decent 2D frameworks with good console support that are simple and just work. There’s Unity (for 2D... yuck) and Monogame, but these frameworks still have quite a few rough edges.

3. How hard is it to build your own custom shaders with custom geometries. Do you need to delve into C if you want to mess around with vertices and shaders?

  • Thanks!

    1. see the dev log on language - https://luxeengine.com/dev-log-5/ - dev log 4 also mentions this aspect a bit.

    2. The website mentions consoles in passing - I can't talk about them yet, but the intent is strong native console support.

    3. Trivial :) The full engine is available from scripts directly (the same api that is available on the C++ side). for example: var geo = Geometry.create(Primitive.triangle, material, vert_count) and from there, you can populate the vertex buffers any way you choose. the engine provides generators (like "make me a quad" etc).

    • Tl;dr for the post on languages:

      They will use a language called Wren but they also say that any language will be possible to use through script system plugins.

      According to them, “the API can be bound to other languages easily, and the workflow for that language can be idiomatic”.

      They’ve made bindings for rust, c# (mono), c++, js, lua, dart, python and swift, but they point out that it is unrealistic to expect one person to maintain said bindings.

I think it's missing the "open source" bit. The github link just goes to an org with a single "support" repo for issues.

  • This 1.0 version of the engine is not yet available, the source will come along when it is :) (The older iterations (not representative of 1.0) source is up on the alpha page).

    • As you likely know, it is a common idea now to "release early, release often." This encourages community participation and investment.

      Best of luck

      1 reply →

Maybe I'm lazy but this took too many clicks to get to the actual source code:

https://github.com/underscorediscovery/luxe

  • This is the old 'alpha' engine written in Haxe. The new 1.0 is written in Wren and not released yet.

    • It's actually written in C++! wren is the scripting language on the high level, and as the site links to - later any language can be used :) I've updated the language part in the about section to clarify that.

Why "game" engine? I mean, there's probably a dozen uses for 3D + audio + user input mix. Industrial automation? Scientific modelling? Fancy screensaver? Edutainment?

Maybe it's time to know more than one trick?

  • Oh yea, but I make games for a living. It's tailored for making games, and I made it to make games with. It can be used for any number of things as you suggest, but I have a goal and focus and vision and describe it according to that :)

    • Disclaimer: I work on a game engine for fun. (MOAI)

      Game engines are no longer 'games' engines, in my opinion. Its really far better to pitch them as "Interface" engines, in as much as a significant majority of the interaction with the engine is to get an interface on the screen - whether that be for gaming purposes, or application interaction.

      These days, the line is very blurred, don't you think?

How does this compare to Unity?

  • 1. Luxe is a 2D-first engine, Unity is a 3D-first engine. 2. Luxe is emphasising modularity. Unity includes a lot of things for making different types of games before you even start importing packages (this is not always a good thing). 3. Unity has been around for more than a decade, and it has picked up some cruft in that time. For example, there are a large number of APIs in the Unity engine that are marked as "deprecated" and "obsolete" yet continue to persist for Legacy Support reasons. Any new engine is a fresh start.