RASM, which stands for Roblox Assembly, is an attempt to create an extremely simplified assembly-like language that will help non-scripters create small scripts for their games.
RASM converts a special RASM syntax into Lua code to be used in ServerScripts. In the future, I may include a ServerScript/LocalScript option toggle.
This isn’t just a plugin either! You can install the rasm npm package with npm install rasm -g and use the CLI to convert your .rasm files.
If you want to directly communicate with the API, you can make a POST request to https://rasm-website.vercel.app/api/convert with a body of:
PRINT "Hi, how are you?";
SET A 50;
OOF "R0bl0x10501050";
KICK "Telamon";
WAIT 5;
WARN A;
RUN HttpService GetAsync "http://localhost:8080";
PRINT "DONE";
Output:
print("Hi, how are you?")
local A = 50
do
local AUTO_VARIABLE_PLAYER = game.Players:FindFirstChild("R0bl0x10501050")
AUTO_VARIABLE_PLAYER.Character.Humanoid:TakeDamage(math.huge)
end
do
local AUTO_VARIABLE_PLAYER = game.Players:FindFirstChild("Telamon")
AUTO_VARIABLE_PLAYER:Kick()
end
task.wait(5)
warn(A)
game:GetService("HttpService"):GetAsync("http://localhost:8080")
print("DONE")
-- Converted by RASM 1.0.2
-- Visit https://www.npmjs.com/package/rasm for more information.
Final Words
As time goes on, more commands will be added. StudioCLI will also receive a rasm command in the next release to replicate how it works on the command line.
This is interesting. Haven’t seen this done before. I actually know ASM by heart so, this is pretty weird for me to see it like this given the fact that ASM translates to machine code and this translates to Lua. I think for what it’s worth, pretty cool.
This resource is extremely simple
All you do it require the package then run the code with RASM.luau(string), I don’t see how that’s not beginner friendly at all
const RASM = require('rasm');
const rasm = new RASM();
const str = `
SET x 50;
SET y 10;
SET z 20;
WAIT 10;
SET SUM x*y*Z
PRINT \`the sum of xyz is ${sum}\`
PRINT \`done\`
`
console.log(RASM.luau(str))
I doubt this code will work since i havent done much research about this module, but this is probably what it would look like
Everything but the SET SUM will work but I also forgot to mention that all RASM methods are asynchronous.
@Marimariius
Although it will most likely be forgotten in a month, I would like to hear your reasons for why you believe this module is not beneficial.
update it didnt work
this is probably just a issue with how ive set up the node environment but not sure (npm init, npm i rasm, then i wrote the code in index.js)
While this may look like a good idea at first, I think it would be better for people to learn Lua. Lua is a quite simple thing and is used widely outside of Roblox too. The idea is nice, however I still think people should learn lua.
You can build website backends in lua, a lot of games/game engines support lua etc.
So I think it is better for beginners to learn lua.
It’s not a bootleg assembly. From the post description, I’ve made it clear that it is a syntax that resembles an extremely simplified version of ASM. It does not come close to being an “assembly language for Roblox”. This is solely for beginners to create basic scripts. Think scratch in text form.
It is a good idea to learn Lua, but it seems unreasonable if all you need is a few lines of generic code. This isn’t meant to replace Luau, given its limited commands.
I think this is gatekeeping and a super inappropriate response. You should be more welcoming; it’s a public forum.
It’s a fun idea. Maybe the scripting use case isn’t apparent but there’s nothing wrong with an esoteric language either. If nothing else it can be used as a learning resource.
You’re being unnecessarily hostile about this for what some would most definitely find to be a useful resource, despite your bold claim that nobody would use it (when did you get to decide what everyone will do?)
When would someone use this? It looks to me like it could be useful for basic things, as the name literally describes, such as allowing players in certain kinds of games to create basic pieces of code or potentially even mathematical expressions to use for something within the game among other things.
I haven’t actually checked out this resource myself yet, but it looks to me to be a useful and great resource that I can see many use cases for, outside of it’s original purpose of helping people who don’t know how to script.
You seem to have completely overlooked the fact that the npm module is an optional method of using it, if you actually took a proper look at the post, you’d see there is a Roblox plugin too as an option.
It doesn’t matter if it is only gonna be useful to a small amount of developers, that doesn’t immediately nullify the fact that it is still a good, and useful resource for developers, you are being extremely hostile and rude about this.
The way you phrased your message made you come across as though you were implying that absolutely nobody would find this useful, it definitely has some use in game development, even if you fail to see it because you are simply not the target audience that this resource was intended to be useful to.
If you don’t find a resource useful to yourself, that’s perfectly fine. But don’t be toxic about it and make it out like there is absolutely nobody who would find this resource to be of use to them and be unnecessarily hostile.
I don’t see much use in this. It appears that this is based off of assembly, which is too simple that it’s a bit weird to code with. Besides, in order for someone to actually use it, they must know at least the basics of coding, and do you think a kid is gonna know that? Also, how would you expect for them to get support or evolve? It’s a decent resource, but I just don’t see much use it in
Also, the only community that I think would be excited for this would be people going from assembly to Lua, which is easy enough (going from a hard to easy language is easy, at least for me)
Actually, they don’t. All they need to know is that names are surrounded by quotes. Important commands like WAIT 5 and KICK SomePlayer make complete sense if read out loud, without any code context.
I think this is very cool however this resource seems more for jokes than it does to help new developers. This looks like it’d be mildly difficult to learn and would require youtube tutorials to teach.