Save the Programmable Block! Lua support, cycle limiter, editor improvements.
This... is a huge ask, and by no means do I expect any of it to happen. The Programmable Block feels like a failed experiment, and the lack of interest in it beyond loading in pre-made scripts from the workshop has probably pushed it very far down the priority list.
But please at least hear me out.
- First and foremost, Lua support. Why? Wouldn't this break all the scripts on the workshop?
I'll start with why. Lua is much easier to approach than C#, and is already used in many games: Gmod, Roblox, and apparently even Kerbal Space Program 2 for its modding scene. Additionally, it's an interpreted language, rather than assembled - it already requires a VM, and is sandboxed. Less risk to servers. It pays in performance, however I don't know if the current C# implementation is impacted by a similar system. Lua also has the benefit of automated memory management (please don't burn me at the stake).
As for breaking scripts, yes. Obviously it would. To mitigate this, a drop-down option for programmable blocks would be in order: Disabled, C# (or Legacy) and Lua (not sure what to call this). This way, old scripts on the workshop can still be used.
- Second, a cycle limiter.
Another frequently cited reason why programmable blocks are never enabled on servers is that anyone could go and write a script that intentionally hogs server resources. Limiting the number of cycles a given script can use before it yields or throws an exception would mitigate this and weed out the worst offenders. As I understand it, there are already server plugins that do just this.
- Finally, last but not least and in third place, editor improvements.
LINE NUMBERS. PLEASE, KEEN, DEAR GOD GIVE US LINE NUMBERS IN THE EDITOR. Other than that, a monospace font and syntax highlighting would go a very long way. There is one rather large elephant in the room, a stretch that by no means do I expect to ever be added but it bears mentioning anyway: IntelliSense.
That's all of it, I think.
Ding, you may now burn me at the stake.
I wouldn't like to see any Lua anywhere near ingame scripts.
I wouldn't like to see any Lua anywhere near ingame scripts.
Some love to the editor would be nice (yes, line numbers at least!). But the game is written in c#, the execution of scripts is almost as easy as an eval(), Implementing a brand new scripting engine, hooking it up with the games internals would require way too much work, without the equal benefits.
Some love to the editor would be nice (yes, line numbers at least!). But the game is written in c#, the execution of scripts is almost as easy as an eval(), Implementing a brand new scripting engine, hooking it up with the games internals would require way too much work, without the equal benefits.
Replies have been locked on this page!