I have played around with that idea but ultimately decided not to because website and server costs that I would not be able to recoup.
This could be possible, one player could host a server on their computer and they could configure a server sided script to send HTTP POST requests to their server every few seconds with information on how to create the image (this information should be compressed so lots of bandwidth isn’t used).
You will have to configure JavaFX in JGrasp compiler settings.
Download JavaFX from here.
Extract it somewhere. Then open the folder which has a subfolder called “bin” in it.
Now copy the path to this folder (not the bin folder).
Open JGrasp and go to Settings => Compiler Settings => Workspace.
Open the JavaFX tab in the new window that pops up.
In JavaFX Home paste the path you copied of the folder.
In JavaFX Modules (Comma Separated) paste the following:
Now compile/run and it should work.
I have created a remastered version of this plugin, with code rewritten, stable, and organized and clean, the GUI has been revamped as well, along with some new features.
Most of the functionality is the same, though there are some new useful features that I have added.
There is one new dragger in the center, that shows the ray length, you can drag it up/down to increase/decrease the ray length easily, make sure this is lower than the lowest point of your map.
The old draggers have been coloured, the green dragger shows the top left position of the render that will be generated. The red dragger shows the bottom right.
This is the direction of the shadows of your render generated. By default this is set to “Static”, which is a hardcoded position inside the script, which is equivalent to
Lighting.ClockTime=10. You can change this to “Dynamic” which will make the shadows adjusted to the in-game lighting, make sure the time is day and the sun is clearly visible on the sky when you use this, though. Make sure there is no day/night cycle in your game if you use this.
This was originally a variable in the render script, but now that has changed. You can change this to either 1 or 2. By default it is set to 1 and you should keep it to 1 because there are some known issues when setting it to 2.
If you will be hosting a server on a web host instead of locally to render the map with players in the Roblox application, you will need to modify this property to the URL of the hosted webpage.
These two will mark two positions on your Camera’s position and both the draggers will be stretched between them. Make sure both positions you mark are opposite/diagonal from each other relative to world space. This can save a lot of time configuring the draggers for large maps.
By far the most useful function. This configures all the settings related to draggers and ray length automatically for your map. But a major downside is this unfortunately does not work with terrain due to lack of features in Roblox which are required to make it work.
If you deselect everything in Studio when running this, it will configure the draggers for all the parts in your place.
If a part or model is selected, it will configure only to that part/model.
This new plugin does not work with the old RoRender.jar file.
Make sure StreamingEnabled is set to false.
You need Node.JS for this.
After installing you may proceed.
Download the following:
Then extract it, make sure to extract it first, without extracting it will not work.
The instructions on how to use it will be on the download link.
Do keep in mind that the render progress no longer shows in the Roblox output, it shows in the Command Prompt window opened, in the Roblox output it only shows the ETA.
If you are on Mac, run the Mac files, if you are on Windows, run the Windows files.
If you think I am giving you a virus, you can easily read the source code on the download link to prove yourself wrong.
Here is the Roblox plugin:
Again, if you think this plugin has a virus, you can get the source code of this by running the following in the command bar:
game:GetService("InsertService"):LoadAsset(5840142311).Parent = workspace
This will insert a model named “Model” in Workspace which will have the source code of the plugin.
The rest is the same as the original version, except you don’t need to start a local server. Just press on the play button and it will start rendering, and this remaster renders faster than the original version as well. Make sure HTTP Requests are on.
This plugin has been tested thoroughly by me and I have yet to encounter a single (unfixed) bug. If you are sure that you have configured it right and it really is a bug, then please report, I will try my best to fix when I have time.
Important: Whenever you notice this plugin update in the manage plugins, make sure to download the updated files from this post as well.
I haven’t tested this out yet but, this seems amazing, I’m sure this will make rendering maps even more easier (and faster) since you’ve fixed a few flaws in the old plugin and added support for http servers, thanks.
I’ve been meaning to finish my java program rewrite for a while… This gives me the motivation to do so.
Left side is the new app, right is original
I have tried your version and it is working good, but when I try render a 6500x6500 (some where around this size) image, it throws me an error at about Line Received: 1150/6500.
The error is HTTP 413 entity too large, it could be because the image is too large or something, but it keeps happening around there as stated above every time I try it.
It works well when it renders smaller areas so I am guessing the error is happening because of the size.
After reading your post again I think I found a solution, I will try it when I get home. I will try setting the Line Per Assign to 1.
This version’s render limit is a bit lower than the original version, you can set the lines per assign to 1, that will increase the limit up to 10k-12k, after that you will have to render your map in pieces and piece them together. As mentioned in this post, I will make this process automated eventually.
This should no longer be an issue. The .zip file in the original reply has been updated and the max HTTP size has been increased to 3mb from 1mb default,
so the only thing limiting you now is the Roblox string limit which is about 200k characters turns out this limit is only for string properties, you can have as large maps as your computer can handle, there is no string limit on variables, you should be able to render maps up to 8000x8000 with
LinesPerAssign = 2, change it to 1 to render up to 16k.
Report if you have any issues.
Thank you, I am gonna try it right now and either edit this message or reply again when its done.
It is now working, rendered a 6738x6738 image last night!
Pixel Size X,
Pixel Size Y
can now be edited from within the GUI, updating these will update all the related properties automatically as well as the draggers. Make sure the formatting is correct when you change them.
You can now drag the draggers freely. To drag freely hold left mouse button on the center of the dragger and move your mouse to drag it.
To make it work on make, just duplicate the .bat file and rename it to .sh
it’ll also work on linux that way…
With their .sh file they can
- open it
shinto the terminal and then drag the file in.
Are you sure it does? Pretty sure Windows command prompt commands do not work on Mac.
Do you have a GitHub for the node.js stuff?
If so, as I’m fluent in it, I’ll just send a PR.
Ro-Render Remastered now works on Mac. Make sure to update the plugin and download the updated files from here.
Execute the Windows version if you are on Windows. Execute the Mac version if you are on Mac.
The plugin has been updated as well, the areas where the ray doesn’t hit anything are rendered transparent instead of black.
I’ve found a bug, parts that are invisible are rendered as black boxes on the image. (That whole black area is an invisible part on the map)