
Luxe: free, cross platform, open source, rapid development game engine - ingve
https://luxeengine.com/
======
merlinsbrain
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/](http://wren.io/)

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

~~~
danielbarla
Unrelated to Wren, but I felt that Bob's book "Game Programming Patterns" ([1]
and a free web version [2]) was excellent, and a very down to earth treatment
of the topic. All of the examples were relevant and pretty hard hitting.

I know patterns (especially "design patterns") have become a bit of a swear-
word, something which hints at severe engineering malpractices, especially
along the lines of introducing unnecessary complexity for seemingly its own
sake. I think that view oversimplifies the topic greatly, so hopefully people
don't dismiss it at face value.

[1] [http://gameprogrammingpatterns.com/](http://gameprogrammingpatterns.com/)
[2]
[http://gameprogrammingpatterns.com/contents.html](http://gameprogrammingpatterns.com/contents.html)

~~~
_discovery
GPP was great. Plus, Bob's new book is about writing interpreters!

[http://craftinginterpreters.com/](http://craftinginterpreters.com/)

~~~
danielbarla
Ah cool, thanks for the link.

It sounds like it may actually come in handy - I've ended up creating a number
of solutions which came pretty close to being fully fledged domain specific
languages. Sadly, despite nominally passing a CS compilers course about 20
years ago, my implementations have been horrifically incorrect. Maybe it's
time to refresh my memory of how to actually do this.

~~~
_discovery
oh nice, yea it's coming along (the book is not complete yet, like before,
it's written and each chapter put up when complete). There's a github repo as
well.

I'd say it's worth the fun of writing your own alongside or after!

------
coppolaemilio
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](https://github.com/godotengine/godot)

~~~
aspaceman
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).

~~~
baldfat
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.

~~~
tominated
A little off topic, but Racket is definitely used by Naughty Dog in their
games. Here's a talk they did a while back
[https://www.youtube.com/watch?v=oSmqbnhHp1c](https://www.youtube.com/watch?v=oSmqbnhHp1c)

~~~
vanderZwan
Given the history of Lisp & Naughty Dog, I wouldn't have expected anything
else. Hadn't seen that video yet though, thank you!

------
JoeyJoJoJr
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?

~~~
_discovery
Thanks!

1\. see the dev log on language - [https://luxeengine.com/dev-
log-5/](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).

~~~
bringtheaction
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.

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

~~~
_discovery
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).

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

Best of luck

~~~
_discovery
yep, thanks!

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

[https://github.com/underscorediscovery/luxe](https://github.com/underscorediscovery/luxe)

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

~~~
_discovery
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.

------
thriftwy
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?

~~~
_discovery
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 :)

~~~
mmjaa
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?

------
relyks
How does this compare to Unity?

~~~
oscargrouch
I guess this is more orthogonal to löve. A 2D game engine in C++ where you
program the game in Lua.

[https://love2d.org/](https://love2d.org/)

~~~
Angostura
I suspect when you said ‘orthogonal’ you meant similar or akin

~~~
taneq
Analogous?

~~~
Angostura
Ah, yes - that could be what the poster was grasping for.

------
msrpotus
Is this connected to the iPhone game Luxe (a Risk knockoff)?

~~~
_discovery
nope

