BriskVM - worth the cash?

Miscellaneous Forums/General Discussion/BriskVM - worth the cash?

I'm considering purchasing BriskVM for use with one of my projects. Is there a better option out there? Is this a good choice? One of the good things about it is usage with both Blitz and C++, as I have a rewrite for QuickSand (written in B+) in C++ planned.

I dunno, but $30 seems like a good amount for a teenager with no allowance, job, and is developing a freeware game.

Lua is free, and seems to be quite popular.

World of Warcraft uses it, for example.

BVM is very good. I am surprised it costs so little.

Good luck with Lua. I have heard of nothing but headaches with it.

BVM is excellent IMO.
Download the demo and play around with it. You can even integrate it into your project to fully try it out. If you like it just buy a license and you wont have to redo any code.

I've not used Brisk, but if it's anything like the original BVM it's well worth the money.

I'd go for Lua as well, but I haven't tried BVM, so may be a bit biased.

"Good luck with Lua. I have heard of nothing but headaches with it."

Do you mean specifically when integrated with Blitz projects, or in general?

I really like Lua, but I realised as I tried to do more and more complex things with it with Blitz, and give more power over to the Lua universe rather than the Blitz "host" application, that Blitz isn't really well suited for this purpose. I mean, was getting no benefit from everything that's cool about Blitz, and spending all my time wrestling with all the 'Extern "C"' calls and getting my head around the two independent garbage collectors and working out how passing Blitz objects in and out of Lua is meant to work, and so on - and realised that I was trying to do something in Blitz that would actually be much easier and simpler to achieve in plain C (a bizarre situation, I know).

working out how passing Blitz objects in and out of Lua is meant to work

There's a good example of that in the code archives.

I've been playing with Blitz/Lua integration a lot this past week or so. Lua "feels" very much like BlitzMax, and being able to call BlitzMax methods from Lua, and vice versa makes it very easy to churn out integrated code very quickly.

@B+man
Why not try them out and see which one feels best for you? But are you sure you want to use C++? I've heard nothing but accounts of C++ programmers being dumb.

Is Lua compatible with BlitzPlus? And I already tried to integrate BlitzLua into a BlitzMax game, but the lack of sufficient documentation for it was very aggrivating.

I will try the demo, thanks for the responses.

A good introduction for integrating Lua with C++ can be found on GameDev.net. The implementation part with C++ can be skipped, lua.mod does that for you. But how to use it can be found later on in the tutorial. It can be easily translated to BlitzMax (check out this post http://www.blitzmax.com/Community/posts.php?topic=79806#897271 for an example)

I don't know if Lua can be used with BlitzPlus. Is BlitzPlus modular?

No, BlitzPlus is not modular.

Right now, I'm kind of competing with another developer to make the next greatest Falling Sand Game. They are using Lua, and it seems like it'd be a bit of a copycat if I used Lua for this game as well. Also, BriskVM, since is is based on Basic, would be better for the intended audience for the game (these people will likely have no programming or coding knowledge whatsoever)

And for those who have not caught it yet, you can find QuickSand by clicking on the image in my signature.

I'm having a good experience with BVM. Only features that I miss are actual function pointers, byte and short types, and arrays (BVM supports arrays, you just cant pass them to and from the host - linked lists work!).

BVM can run on a lot of languages: BlitzPlus, BlitzMax, PureBasic, Blitz3D and C++ (windows only atm).

Actually, I was just told that Mac is now supported.

Briskvm gets a 10 mark from me, has great features, ease of use and is in the blitz language itself so is really easy if you already know blitz. One of the best blitz3d userlibs/blitzmax modules around!!

I downloaded the demo, and so far, this is heaven.

However, I need it to parse parts of a script but not others. I have an idea on how to do this, (temporary files), but that would cause loading time to take even longer. Fortunately, though, I do not have to do that in realtime. Is there a better way to do this?


And a couple questions,
Plash, are you saying that it cannot directly access my game's arrays?
Is realtime execution of a compiled script during my game's main loop going to do much against my speed?