BeamNG.Earth
A 1:1 scale streamed Earth for BeamNG.drive: real elevation and satellite imagery, floating origin, LOD streaming from a companion server
Rogen is a superset of Rojo that generates Rojo project files from your file system. You organize your game by feature, and Rogen puts each file in the right place.
GamesTypeScript · JavaScriptGitHub @LDGerritsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
A Rojo superset with file-system routing — organize your codebase by feature for cleaner architecture, seamless scaling, and simpler maintenance.
Taken from the repository README
Loading the full README.
Read the full README ↗When an agent works on a feature, everything it needs is in one folder, from server to client. It spends its context on your task instead of searching the codebase.
Running several agents? Give each one a feature. A lint rule catches any agent that makes one feature require another, and there's no shared project file to conflict on.
default.rogen.json is a Rojo project file with routes added. The tree is the base: put in it what folder names can't say, such as your packages, and Rogen adds every routed file to it:
{
"name": "my-game",
"routes": {
"Server": "ServerScriptService",
"Client": "StarterPlayer/StarterPlayerScripts",
"Shared": "ReplicatedStorage/Shared",
"*": "ReplicatedStorage/Shared"
},
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"Packages": { "$path": "Packages" }
}
}
}
A folder or an @ suffix named after a route sends its code there. The * route takes every file that matches no other:
In src/Inventory | Goes to |
|---|---|
Server/InventoryService.luau | ServerScriptService/Inventory |
Client/InventoryController.luau | StarterPlayer/StarterPlayerScripts/Inventory |
Shared/InventoryTypes.luau | ReplicatedStorage/Shared/Inventory |
[email protected] | ServerScriptService/Inventory |
InventoryConfig.luau | ReplicatedStorage/Shared/Inventory |
The routes are yours to change. Add "Gui": "StarterGui", and a Gui folder or a @Gui suffix sends code to StarterGui.
rokit add ldgerrits/[email protected]
rogen init
rogen init pins Rojo in rokit.toml and tells you to run rokit install to fetch it. New to Rojo? Also run rogen plugin install to add its Studio plugin. Prefer npm? Run npm i @ldgerrits/rogen@next and use npx rogen.
rogen serve # Serve with Rojo and update the project file on changes
rogen build -o game.rbxl # Update the project file, then build a place with Rojo
rogen check # Print warnings and errors, and exit 1 on any
sourcemap, upload, syncback and plugin take Rojo's flags too. See the documentation for every command.
Yes and no. You run rogen instead of rojo, but Rojo still does the syncing and building underneath. Its Studio plugin stays installed too.
Yes, for syncing your files into Studio. Run rogen write --watch and serve with Argon. To bring Studio changes back, save the place and run rogen syncback --input game.rbxl. With Rojo, it's one command: rogen serve keeps the project file current and serves it.
Yes. Run rogen init to move it to Rogen. See Coming from Rojo.
Read the contributing guide before you open a pull request. You can also star the repo or sponsor its development.
Rogen is MIT licensed.