BriskVM 2 : new beta available

Community Forums/Showcase/BriskVM 2 : new beta available

Koriolis(Posted 2007) [#1]
Just a quick post to inform you that there is a new beta available for BriskVM 2. This is a private beta version, the public version will follow soon.

Among other things, the latest changes include Unicode support, and support for new languages: BlitzBasic, PureBasic and C++.

[Link to annoucement on the BriskVM forum]

[Link to previous annoucement on this site]


fredborg(Posted 2007) [#2]
I'm surprised there isn't any comments on this yet!

Maybe it's seems a bit advanced, but anyone investing a little time in adding scripting to their game or app couldn't be better off than choosing BriskVM 2.

It's very easy to implement! I've set it up, so I can add a new command by simply tagging it with a comment, and then run my "Generate Command Set" utility. This means a new script command can be up and running in less than 1 minute!

And it gives you so many possibilities to easily expand or modify your game, and allows other people to mod it (if you allow them) without the need for compilers.

Looks like a fantastic update, to an already superb piece of software.


N(Posted 2007) [#3]
I'd be interested in using this, but I'm not entirely sure that it would be a good idea to change from Lua to a new language when I'm as far along as I am. I'll have to keep it in mind, at least, but until it's out of beta, it doesn't really matter.

Looking forward to messing with the public beta at least.


(tu) sinu(Posted 2007) [#4]
cool, blitz3d support, just what i wanted :-)


Megapihar(Posted 2007) [#5]
Cool news!


lo-tekk(Posted 2007) [#6]
Unfortunately no Blitz3D demos, samples or decls. , so no chance to test with Blitz3d. :-(


Koriolis(Posted 2007) [#7]
You're totally right, they're still missing. I will write some new demos this week-end.

@Fredborg: Thanks mate :)


Zethrax(Posted 2007) [#8]
How robust is BriskVM 2?

Is it something that could be used to allow players to script game objects in a multiplayer server envoironment, assuming that things that are under the control of the developer (access to native functions, thread timeouts, etc) are locked down tight?

Could a player potentially lockup or crash the server using the virtual machine's core functionality, by creating an infinite loop, etc?


Koriolis(Posted 2007) [#9]
BriskVM 2 let's you decide what to expose to the scripts. There is a special file (the "command set" file) in which you list all the functions, types and global variables exposed to the scripts (using pretty much the same syntax as in scripts). Nothing else is exposed, so scrips cannot access anything that they are not supposed to. And there is no pointer arithmetic either so scripts cannot forge bad pointers and access random memory.
Concerning infinite loops, there is no language on earth that I am aware of that can prevent them. However, if you're really afraid of potential lockups, it is possible to run scripts with a timeout, so if say after 1 second a script has not returned yet (and was supposed to return quickly), then you can be pretty sure something is wrong and the script is automatically interrupted.
As for stack overflows, they are reported as an execution error.
So yes, I think BriskVM 2 definitely fits the needs you expose.
As always, the best thing to do is to test it and check by yourself. There is an older public beta available on my site, and the new one will be vailable soon.


Beaker(Posted 2007) [#10]
BriskVM 2 is great and seems robust. Fredborg is using it extensively in gile[s] 2, which is a good sign.

[aside]Actionscript detects infinite loops and gives the user the option of stopping the script. Not sure how it does this tho.[/aside]


Koriolis(Posted 2007) [#11]
[re: aside]Well it is possible to detect SOME infinite loops, but not all. NOT in a language that allows side effects (unless you do a complete prohibitive global analysis, which would be quite heroic). So it's more a debugging help, not a real security guarantee[/re: aside]


slenkar(Posted 2007) [#12]
are there any simple examples that show how it can be used in a game?


skn3(Posted 2007) [#13]
Any blitzmax support?

*edit* nevermind, jsut read teh forums. Awesome!

Was waiting for this!!!


Koriolis(Posted 2007) [#14]
I have finally made yet another distribution. The only changes are a few corrections, and the addition of demos for Blitz3D, BlitzPlus and PureBasic.
Also, there is now a PUBLIC BUILD, so anyone can play with it.
Check it here:
http://www.koriolis-fx.com/forum/index.php?topic=23.msg87#msg87


Koriolis(Posted 2007) [#15]
Most people interested in a public build have probably missed my previous post, so....

*BUMP!*


@rtur(Posted 2007) [#16]
Cool! Downloading...


@rtur(Posted 2007) [#17]
B3D samples doesn't work. MAV appears.


Koriolis(Posted 2007) [#18]
Thanks to report this. I checked, and it happens in the public version only. I may have mixed files. I will check the distribution.


lo-tekk(Posted 2007) [#19]
B3D samples doesn't work. MAV appears.
The registered beta distribution works fine here.


Koriolis(Posted 2007) [#20]
Yes, indeed. I've nailed down the bug, it was due to the splash screen of the public distribution. wxWidget (that I ue for the splash screen) doesn't like very much to be used in a DLL.
However, I think it should be OK now. So anyone who had a MAV with the public distribution, please have a try and redownload it.


@rtur(Posted 2007) [#21]
Now works fine. When it will be available for purchase?


Koriolis(Posted 2007) [#22]
In early January I think.


altitudems(Posted 2007) [#23]
Hmmm...I download the new beta but the blitzmax mod file was empty?


Koriolis(Posted 2007) [#24]
Arghh, dammit. I'm really, really sorry for that. I messed up once again the public distro.
It's really time I start to write that BriskVM powered build system that I'm ruminating to do, my crappy batch scripts really aren't enough anymore :)
This is fixed, please redownload.
And thanks for your patience.


altitudems(Posted 2007) [#25]
No problem, downloading now...