top | item 44995147

LunarEngine: An open source, Roblox-compatible game engine

281 points| njredar676 | 6 months ago |github.com

99 comments

order

extraduder_ire|6 months ago

Cool. There's an incredible amount of content created for roblox that's stuck on it currently.

wernerb|6 months ago

Need to set free all that 'Club' content for sure.

poly2it|6 months ago

Best wishes, this is really neat. I hope it won't get slaughtered by Roblox's legal team. A potential use-case might be to create a Linux-native client. The one used by most right now (Sober) is proprietary, after the previous (Vinegar) got shut down because of Linux haxxors.

Wowfunhappy|6 months ago

> I hope it won't get slaughtered by Roblox's legal team.

I'm not saying Roblox won't try, but this project strikes me as very obviously legal.

If legality was a spectrum, I'd rank this higher than VLC Media Player (patents) and way above an NES emulator. I suppose it'd be below Android, and Oracle did sue over Android.

(Disclaimer, I am not a lawyer, etc.)

bitwize|6 months ago

I have a feeling projects like this rank higher on Roblox legal's priorities than does the rampant child predator activity on Roblox's platform.

westurner|6 months ago

Does this increase local testability and thus QA-ability for roblox devs?

I was just looking at trying to get Lemur (archived) running in Lune in order to run jest tests running in a react-lua app the other day. I have a start at a test runner with optional in-game output, but getting jest tests to run at init in studio in order to not require run-in-roblox which doesn't yet work on Linux with vinegar flatpaks studio or vinegar in a devcontainer. It would save so much trouble if RobloxStudio.exe could take `--place game.rbxlx --script test_runner.lua --keep-open` args and regularly flush console output to a file.

westurner:lemur:patch_for_roblox_support: https://github.com/LPGhatguy/lemur/compare/master...westurne... .. new require() implementation in lune v0.10: https://github.com/lune-org/lune/issues/311#issuecomment-320...

I started to add loadPlaceFile to read an rbxlx to lemur and thought it probably the wrong place given that it's archived. TIL about Librebox, which can hopefully run tests with Jest with this stemgame react-lua app I've MIT licensed, in local CI too years later.

There is a hosted CI service for running Luau code in Roblox places.

"[Beta] Open Cloud Engine API for Executing Luau" https://devforum.roblox.com/t/beta-open-cloud-engine-api-for...

Advantages to running tests locally: record screenshots and screencasts and save on test failure, immediate feedback, -i/--interactive drop into game session on test failure

bstsb|6 months ago

can't find anything about the developers from the github repo.

their discord server is even stranger; there's absolutely nothing in the channels, and the only member with a developer role is an account dedicated to the "project".

looking at the source, work has absolutely been done - this isn't just a README - but it's still all a bit strange

njredar676|6 months ago

Hey, thanks for informing us about this.

I apologize if the first impression was crude -- I was in an hurry to get the engine out at this time. I understand that the Discord server simply consisted of a few channels (since then, I've cleaned that up).

I had actually wanted to make a new GitHub account for the project, to separate concerns (GitHub ToS prohibits this, and I had to learn the hard way), so I eventually renamed my old account. I'll make sure to provide more resources under my account so it doesn't seem empty.

In regards to developer attribution, we will have a developer page as well as a resource hub so it seems more than an "account". I had not anticipated that people would look deeper into the account -- I had simply wanted to get the demo out, to show the concept.

On a separate note, I acknowledge some people found it suspicious that the initial commit was every file at once. This doesn't mean I don't know how version control works. It was because I had actually worked on the project alone on my computer and, subject to release, released the full source at once.

Once again, thanks for informing us about these issues. Perhaps, I will better prepare my future releases to avoid this issues, even if I was under time constraints. I think that there are great things that can be accomplished with this project.

JoeOfTexas|6 months ago

One man shows be like that =(

mattigames|6 months ago

My most charitable interpretation is that they are hiding their identities because they are afraid of any legal trouble, after all Roblox is an 81 billion organization.

glitchc|6 months ago

Yeah but can I spend Robux on it? If not, pass.

The whole problem is Robux isn't it? It's not like the engine is anything special.

a2128|6 months ago

There's a number of developers who get stuck on ROBLOX because they learned their creation tools when they were younger (they're easy to use and easily accessible to any desktop ROBLOX player), spent their formative years mastering their skills, and those skills turn out to be niche and not easily transferable to most other game engines. The choice is between basically restarting as a beginner in Unity, or continue making advanced creations on ROBLOX with all their friends and prestige they've earned in various sub-communities. To be honest I'm surprised it took this long for someone to try making an API-compatible alternative

andybak|6 months ago

Maybe the idea is that developers can release standalone versions of their Roblox games and escape the platform lock-in? Of course - whether their audience will come with them is a different question.

burgerrito|6 months ago

Maybe this can be used as a way to archive a Roblox game?

I'm not really a Roblox player so I'm not sure.

Wowfunhappy|6 months ago

I haven't used them (and I despise Roblox) but my understanding is that the Roblox creation tools are actually pretty good.

koshergweilo|6 months ago

> Librebox is currently in demo stage (it implements a limited subset of the Roblox API

Probably worth mentioning this is just a demo. There's a looooong list of API features that aren't implemented (most notably servers and networking)

jay_kyburz|6 months ago

I would start with the servers and networking if I were them. It can be really hard to bolt that on later.

doctorpangloss|6 months ago

There are a lot of free remakes of commercial games, and a lot of free remakes of commercial game platform engines. How do the developers of Librebox decide to work on this instead of:

- remaking one specific, good game on Roblox, such as remaking Bloxburg, in something more practical like Unity?

- working on an existing free remake of a Roblox game, like Nexus Battles, which of course, was archived?

- working on something else?

I’m asking the “Libreboxdevs.” It’s nice to hear these POVs directly from the developers. As you guys read this on a Saturday morning, consider that I’m not asking for, what features are going to be added to your GitHub project, or a comparison between Librebox and other game engines or whatever. I’m asking about your personal decision making.

ktallett|6 months ago

This is fantastic! It is a very useful tool for preservation of games on Roblox. I hope this can be used for good to save the many creative and original works on the platform in a way that we didn't with flash games.

Dilettante_|6 months ago

>in a way that we didn't with flash games

I thought Flashpoint[1] did pretty well about that? The full download is 1.68TB, I'd wager most stuff you'd have seen back then would be on there.

[1]https://flashpointarchive.org/

unleaded|6 months ago

Roblox preservation has pretty much been a solved problem since around 2016. The clients all have built-in network servers and many people have built launchers to let you easily play a server with your friends. A lot of the knowledge is unfortunately gatekeeped inside Discord communities of crazy people but there are a few "good names" out there (Novetus is the big one)

madjam002|6 months ago

This is pretty cool and brings back a lot of memories for me. When I was younger I remember building a clone of Roblox in C# with the Lua scripting engine part as well. I even ported some script builder scripts over to it (Player199 admin commands or something like that, can’t remember the name exactly)

Good times

kragen|6 months ago

Are the majority of programmers currently Roblox programmers? I think they might be.

whizzter|6 months ago

No, but there's an ridiculous amount of programmers whose first language will have been Lua and have grown up with using first class functions and composition over inheritance from day one.

paweladamczuk|6 months ago

>missing :WaitForChild()

That's good... isn't it?

DistractionRect|6 months ago

It's not the end of the world, it's a minor convenience and better than busy waiting.

There are plenty of cases where you want to manipulate an object but it's not guaranteed that it exists before your code is run. You get similar functionality with:

while not parentObj:FindFirstChild("childObj name") do wait() end

AFAIK, wait() is >= 1/30 of a second, if you wanted to be extra timely you'd instead run every heartbeat.

Imustaskforhelp|6 months ago

OH PARDON ME BUT Y'KNOW WHY I AM GETTING SO EXCITED to talk in caps on HN?

Because I was on discord the other day and was talking about roblox and literally everyone hates it but people there were saying eh, we just play with friends we don't care, and I was like we definitely need to figure our shit since roblox doesn't give a (if I might swear since roblox disgusts me, but roblox doesn't give a fuck about child safety) I was thinking of having roblox be sorta as the what'd you say, minecraft but less blocky.

So to me, an open world which can be modded till now was maybe creating a whole game (which imo is wrong approach for things like roblox) and to me the thing which made sense back then (2 weeks ago) was Luanti (formerly minetest) with custom mod and hosting the server.

I am so excited,so doped for this one man. Heck, I will build products for this and host them for free or maybe create jupyter python notebook scripts which can run the games don't worry. I want open source to succeed so badly in this genre just because of the safety aspect.

rfl890|6 months ago

What?

tomjuggler|6 months ago

Can we expect a clone here, like Mine Test for Minecraft?

difirant|6 months ago

This is some fine repository.

daft_pink|6 months ago

The Roblox debacle really reminds me of the 90’s where almost every arrested child predator was using AOL, but the news media would use the word “online service” or some really generic term as AOL spent so much money on advertising.

A 5 year old isn’t going to be using IRC after all.

sejje|6 months ago

This is about an open source coding project

533474|6 months ago

You should rename the project to OpenBox if you are not using a copyleft license. It is not libre.

LtdJorge|6 months ago

Libre means free. MIT gives more freedom than copyleft.

njredar676|6 months ago

I mean, is it not 'Libre' to use the word 'Libre' in the name?