QVM mods are created by compiling your source into a QVM file. The only difference is how these mods are executed at runtime. A QVM mod will have the same effect in the game as a DLL mod. It doesn’t matter which type of mod you make.
The first thing you’ll need to know is that there are two types of Quake III mods: Quake III doesn’t do what is typically done by other games these days – which is wrap all game modding into some form of scripting language (such as Lua) or abstract things to the point where you don’t need to be a game programmer or familiar with the entire codebase in order to make simple behavioral changes. You’ll need to be at least somewhat familiar with C programming in order to make a mod. Now that the Quake III port is done, I can write about creating a mod instead of just installing one.