Sign in to follow this  
Ardaxus

.Net managed wrappers for scripting languages

Recommended Posts

Hi, I was wondering if there are any good managed wrappers for existing scripting languages. I've found one for Lua, but one that wraps say, SpiderMonkey (javascript engine) or something else would be good too). Essentially what I need is the ability to write code and define objects WHILE the game is running, and be able to destroy, overwrite and extend that code without shutting the game down. Also, because the game is networked, potentially multiple people will be editing game script at the same time, so I basically need to be able to unload specific bits of code on demand, as opposed to unloading the scripting engine (or an appdomain). I can't use dynamically compiled .Net code for this because you can't unload it once it's loaded. Sure I could use a separate appdomain, but the overhead for communication between domains is quite large, plus to do anything like what i want to do, i'd need lots and lots of appdomains, which isn't really feasible, as far as efficiency goes. I would appreciate any assistance in this area, thanks.

Share this post


Link to post
Share on other sites
You could use the JScript VSA Engine for JScript scripting (similar to javascript). AFAIK, you can use the VSA runtimes, but the SDK needs to be licensed (so no debugger and IDE for VSA). There's also no offical MSDN documentation on VSA (at least none that I can find).

I'm attempting to write a managed wrapper for GameMonkey Script, but it'll be a while off yet ;)


EDIT: pwnd by the cookie monster :/

Share this post


Link to post
Share on other sites
Can I accomplish all that I need to do using the VSA engine? I was reading up about it, and it seemed to imply that it used JScript.Net. I may have misinterpreted. If it's using .Net, then it's creating assemblies on the fly, which means I can't unload the script.

But if it's plain old JScript (which would be great!) then that would be awesome! Especially seeing as you can overwrite and nullify existing code.

I'm just restarting work on my project, which I started quite a while ago (May) but never got a chance to keep working on. The concept is basically a 2D tile-based graphical MUD system (think ultima online) where you can edit and extend the world on the fly. Hence the need to be able to unload stuff as required.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this