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.
> 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.
Emulators are unambiguously legal as long as the emulator author doesn't distribute copyrighted software without permission, and as long as no encryption is involved (recent action by Nintendo have made that bit a little unclear).
I don’t know of any country where emulation is illegal? Do you?
As the GP pointed out, OEMs use copyright and encryption to protect against unapproved execution. But that doesn’t apply to all systems.
Given countries like the UK and US have the strictest intellectual property and computer misuse laws, and emulation is legal there (bar the aforementioned caveats), I’d be surprised if there was a jurisdiction where emulation was illegal. However if you do know of somewhere then please do share.
To my knowledge emulation is illegal in Japan, as is modding consoles.
Edit: I looked into it a bit more. As it is against the law to dump ROMs from games you have legally purchased, as well as acquiring them through other channels, there is no way to emulate games in Japan in a legal manner.
This looks like it just reimplements a few Roblox APIs in an open source engine. It would of probably made more sense to just create a Roblox to Godot translator or something.
Second, your poking a multi billion dollar bear. If this project ever takes off Roblox will take action, right or wrong that's enough to stop most small projects. You can be right, but you don't have millions to fight non stop lawsuits.
In reality this is a cute proof of concept. It's never going to compete with the actual product. If it does Roblox will have it stopped in 72 hours
pokemon showdown is insanely and I mean insanely successful but it seems to have been almost blessed by the pokemon company.
I genuinely don't know how its legal, when I shared the link to pokemon showdown to one of my friends, his first thoughts was, wait how is this legal? This is such a good thing, I wonder why this is free. Only for me to tell it its open source and bro was flabbergasted to say the least.
Curious what makes you say it'd be less legally dubious than an emulator? To me, it seems this would be at the same legality as the NES emulator because you're basically 'emulating' the environment Roblox game code runs in. To be fair if that intuition's correct it'd still be legal like emulators are if they're careful.
So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API. It does not matter that the declaration or method header lines are identical.
Emulators often require handling copyrighted materials like games or firmware, whereas APIs are not copyrightable.
The NES itself contains no code. Any NES emulator that ships with no software, or software under proper license (such as homebrew) is unambiguously legal. Does your PC, and the OS that drives it, suddenly become inherently illegal if you, as a user, installed pirated software? No, of course not.
No firmware, no microcode. The NES uses an old 8-bit CPU and a few custom chips; at the time, including firmware would've been too costly (think of the RAM and ROM!).
The supreme court ruled against oracle that an API cannot be copyrighted, but Roblox can still ban you for using an unofficial client (like discord does)
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.
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
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.
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
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.
I have some kids into editing Roblox, and I'm a full time Unity / Unreal dev, and I would say that the Roblox editor and engine _are_ really good.
Kids don't care about fancy graphics, they care about connecting and running around with their friends, in a wide variety of games, that are downloaded and up and running within seconds.
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.
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.
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.
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
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.
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.
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)
To be honest this librebox project looks kinda fishy to me. Seems like the author never used version control before. They put everything into one commit [1] and are making changes to the repo using the Github web UI. I wish the dev the best of luck but I wouldn't be surprised if this project gets abandoned in a few months
Whether MIT-type licences give more freedom than copyleft is very disputable, since they make it extremely easy to lose. But you are right that terms like ‘free’ or ‘libre’ are in no way restricted to copyleft.
I think they're saying that "Libre" typically implies Copyleft, with a GPL or AGPL or MPL License. Something that (in some cases) forces you to make your changes available.
LibreOffice, for example, is Mozilla Public Licensed, which is a weak copyleft, like LGPL (I think).
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.
> 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)
I would start with the servers and networking if I were them. It can be really hard to bolt that on later.
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.
> 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.)
Emulators are unambiguously legal as long as the emulator author doesn't distribute copyrighted software without permission, and as long as no encryption is involved (recent action by Nintendo have made that bit a little unclear).
In all jurisdictions? What are the principal pieces of caselaw?
I don’t know of any country where emulation is illegal? Do you?
As the GP pointed out, OEMs use copyright and encryption to protect against unapproved execution. But that doesn’t apply to all systems.
Given countries like the UK and US have the strictest intellectual property and computer misuse laws, and emulation is legal there (bar the aforementioned caveats), I’d be surprised if there was a jurisdiction where emulation was illegal. However if you do know of somewhere then please do share.
To my knowledge emulation is illegal in Japan, as is modding consoles.
Edit: I looked into it a bit more. As it is against the law to dump ROMs from games you have legally purchased, as well as acquiring them through other channels, there is no way to emulate games in Japan in a legal manner.
Two factors are at play.
This looks like it just reimplements a few Roblox APIs in an open source engine. It would of probably made more sense to just create a Roblox to Godot translator or something.
Second, your poking a multi billion dollar bear. If this project ever takes off Roblox will take action, right or wrong that's enough to stop most small projects. You can be right, but you don't have millions to fight non stop lawsuits.
In reality this is a cute proof of concept. It's never going to compete with the actual product. If it does Roblox will have it stopped in 72 hours
> It would of probably made more sense to just create a Roblox to Godot translator
Its meant to be running live so you can play the many dynamic roblox games, I guess you could but it would be a mess.
The open source part is key. Plenty of online Pokemon and World of Warcraft clones out there, they can't seem to catch them all.
No need to. But anything too succesful should be ready to be brought down any moment.
pokemon showdown is insanely and I mean insanely successful but it seems to have been almost blessed by the pokemon company.
I genuinely don't know how its legal, when I shared the link to pokemon showdown to one of my friends, his first thoughts was, wait how is this legal? This is such a good thing, I wonder why this is free. Only for me to tell it its open source and bro was flabbergasted to say the least.
In practice, no society has ever overcome “might makes right.” Or, arguably, ever will.
The good news though; it’s lawyers shutting down your project. Yesterday, it was hiring someone to break your knees.
The Pirate Bay, SciHub.
The Internet interprets censorship (legal, moral, or otherwise) as damage, and routes around it.
The actual piracy also existed, until it wasnt
You don't need to be doing something wrong to get crushed by legal fees.
Curious what makes you say it'd be less legally dubious than an emulator? To me, it seems this would be at the same legality as the NES emulator because you're basically 'emulating' the environment Roblox game code runs in. To be fair if that intuition's correct it'd still be legal like emulators are if they're careful.
(also not a lawyer)
https://en.m.wikipedia.org/wiki/Google_LLC_v._Oracle_America...
The NES itself contains no code. Any NES emulator that ships with no software, or software under proper license (such as homebrew) is unambiguously legal. Does your PC, and the OS that drives it, suddenly become inherently illegal if you, as a user, installed pirated software? No, of course not.
No firmware, no microcode? It's all completely hard-wired?
(Genuine question, I've no idea what chips it uses or anything - was never rich enough to have a game console until I started work myself.)
No firmware, no microcode. The NES uses an old 8-bit CPU and a few custom chips; at the time, including firmware would've been too costly (think of the RAM and ROM!).
VLC is French, so the US law on software patents doesn't apply to it.
The supreme court ruled against oracle that an API cannot be copyrighted, but Roblox can still ban you for using an unofficial client (like discord does)
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.
100%. Roblox will snuff this out immediately.
You need to make custom servers. In fact, make a server that patched official clients can connect to. That's the correct order of operations.
>missing :WaitForChild()
That's good... isn't it?
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.
"Popular kids game Roblox faces pressure over allegations of child predators on its platform":
https://www.google.com/amp/s/www.msnbc.com/msnbc/amp/shows/t...
I read your comment carefully to see whether you've taken the GP's joke further, but alas :)
Ha, yeah. Sailed right over my head. It's really too bad. Both about the what the platform has become and the missed setup.
Cool. There's an incredible amount of content created for roblox that's stuck on it currently.
Need to set free all that 'Club' content for sure.
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
One man shows be like that =(
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.
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.
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
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.
I haven't used them (and I despise Roblox) but my understanding is that the Roblox creation tools are actually pretty good.
I have some kids into editing Roblox, and I'm a full time Unity / Unreal dev, and I would say that the Roblox editor and engine _are_ really good.
Kids don't care about fancy graphics, they care about connecting and running around with their friends, in a wide variety of games, that are downloaded and up and running within seconds.
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.
This is some fine repository.
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
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.
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.
>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/
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)
Thanks for that info.
To be honest this librebox project looks kinda fishy to me. Seems like the author never used version control before. They put everything into one commit [1] and are making changes to the repo using the Github web UI. I wish the dev the best of luck but I wouldn't be surprised if this project gets abandoned in a few months
[1] https://github.com/librebox-devs/librebox-demo/commit/e70ea3...
You should rename the project to OpenBox if you are not using a copyleft license. It is not libre.
Libre means free. MIT gives more freedom than copyleft.
Whether MIT-type licences give more freedom than copyleft is very disputable, since they make it extremely easy to lose. But you are right that terms like ‘free’ or ‘libre’ are in no way restricted to copyleft.
I think they're saying that "Libre" typically implies Copyleft, with a GPL or AGPL or MPL License. Something that (in some cases) forces you to make your changes available.
LibreOffice, for example, is Mozilla Public Licensed, which is a weak copyleft, like LGPL (I think).
It's just silly gatekeeping. E.g. LibreSSL is permissively-licensed and is from 2014.
Yeah fair enough. Pedantry about names can get silly.
French native here. Libre means free in the sense of freedom, not in the sense of free as in free beer (the term for that is “gratuit”)
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.
This is about an open source coding project