FreeSpace Releases > Scripting Releases

"Plasma Core" live script development framework.


Plasma Core is a tool for making script development easier and more pleasant. I've been both working on it and using it in my scripts for most of a year now and had a fwe people succesfully use scripts that require it, and I think it's mature enough for general use. You can find the most recent stable, reviewed version of it on the fso scripts repository

I've put as much documentation and guidance as I can manage into the readme included there, and I've also posted a tutorial showing what the workflow can be like, so I'll stick to just the high points of what it provides here:
1. A means to reload changed scripts without ever re-starting the game itself, saving time and frustration.
1. Tools for 'modular' script configs, regardless of what format the config is stored in.
1. A script can be a single code file with no -sct.tbm file, making it easier to take advantage of code editors' features.

The biggest benefits of this are to the scripters, with some potential follow-on benefits to modders if scripts adopt the modular configs features. Installing Plasma Core in a mod is not by itself going to provide any new functionality to the player, and in fact if you want to use the reloading function as a scripter you'll need to use another module to trigger it, such as the codekeys module, which I use in the previously mentioned soon to be posted tutorial.

One final note: As anyone on the discord scripting channel for long probably knows, Plasma Core was developed with Fennel, a language that compiles to Lua. You do not in any way need to know or use Fennel to use Plasma Core, in fact my tutorial for it is all Lua. If you want to make contributions to it in Lua there are ways for me to accommodate that. I have taken some steps to prettify the compiled Lua that I submitted to the repository, but if it seems weird and gnarly it's probably down to that.

If anyone wants to discuss or comment on the use of Fennel in FSO, I'll likely be making a thread about it separately soon and I ask that you keep this thread on the topic of the Plasma Core tool in particular.

Of course, this all is so far built around my own preferences and needs, but I'm open to ideas or contributions if people see unrealized potential here.

Ooo nice, yeah those documentations and examples really help clarify some things!


[0] Message Index

Go to full version