WebAssembly is a better choice today. This thing is interpreting C, so just embed wasm instead so people can use stuff like Rust too.
Q3VM – Lightweight, embeddable Quake III Interpreter/Virtual Machine
21–30 of 32 posts
Re: Q3VM – Lightweight, embeddable Quake III Interpreter/Virtual Machine
#22Really smart. It's worth mentioning that the Q3VM was the entry point to many of the exploits created for Q3, just something to bear in mind.
Re: Q3VM – Lightweight, embeddable Quake III Interpreter/Virtual Machine
#23Earlier quoted context omitted.
Also, how was it used in Quake3?
All of the code for the UI, server-side game logic, and client-side game logic in Quake 3 was run in the VM. It allowed code to be stored with game data, and client-side mods to be safely downloaded directly from the game server. The link in the sibling post has most everything you'd ever want to know about it.
In the case of world of Warcraft, the Lua interpreter allowed for a rich ecosystem of UI (and light behavioral) addons. In some cases very popular addons features were added into the core UI in later updates.
I find that arrangement pretty compelling. In the few cases where I’ve worked on or with a team with addon support I bring this up: use the community sourced features as a popular vote for what to incorporate (just be sure to reward the author somehow).
Re: Q3VM – Lightweight, embeddable Quake III Interpreter/Virtual Machine
#24Earlier quoted context omitted.
I don't understand either. If you have to write in C, and you have to compile, what's the advantage?
The main advantage for Quake 3 was that the server, client and UI code could be compiled into platform-independent bytecode modules. This was mostly a boon to mod creators, who had to build only one version of their mod that would work on all Windows, Mac and Linux systems alike.
They get something a little less hairy and volatile to work with, and execution speed isn’t that critical because you’re only making hundreds or thousands of decisions per second.
Re: Q3VM – Lightweight, embeddable Quake III Interpreter/Virtual Machine
#25Really smart. It's worth mentioning that the Q3VM was the entry point to many of the exploits created for Q3, just something to bear in mind.
Re: Q3VM – Lightweight, embeddable Quake III Interpreter/Virtual Machine
#26Re: Q3VM – Lightweight, embeddable Quake III Interpreter/Virtual Machine
#27Really smart. It's worth mentioning that the Q3VM was the entry point to many of the exploits created for Q3, just something to bear in mind.
How did that work? You need to load your custom scripts somehow in the first place, Im guessing in a form of game mod. So you are already running custom code at this point.
Re: Q3VM – Lightweight, embeddable Quake III Interpreter/Virtual Machine
#28Re: Q3VM – Lightweight, embeddable Quake III Interpreter/Virtual Machine
#29Re: Q3VM – Lightweight, embeddable Quake III Interpreter/Virtual Machine
#30Does it have VR support?