Report article RSS Feed Start Modding

Where to get required files, how to create a basic mod.

Posted by the-brain on Jul 14th, 2008
Basic Starting a mod.

Preface

Before you consider starting a mod, you need a few things.
A solid understanding of C, as that's what WoP is written in. This is quite cumbersome and you are furthermore limited by the ioquake3 engine, unless you want to create a standalone game.

Basically all tutorials for Quake 3 mods also apply to WoP. A few filenames might have changed, some functions have been removed, renamed or edited.

WoP's sourcecode is licensed under the GPL, so if you plan on releasing your mod to the public, you have to include its sourcecode as well.

Abstract

Like Quake 3, WoP is separated into the engine (e.g. wop.exe) and gamecode (e.g. qagame.qvm). The engine provides basic functionality like network and file access as well as drawing the graphics on a client. The gamecode is usually created in the Quake Virtual Machine (QVM) format, which can be loaded on any platform (Windows, Linux, Mac) which the engine supports.
The gamecode itself is separated into the user interface (q3_ui), the client game code (cgame) and the server game code (qagame).
You can create serverside only mods if you only edit qagame.



Getting the files

Earlier releases of WoP had separated downloads for engine and gamecode, but are now released as a bundle.
You can download the latest version of the sourcecode of WoP at SourceForge. The code is also included in the official installations under XTRAS/editing files/.

Compiling

After extracting the downladed sourcecode you should create a file called Makefile.local in the same folder as Makefile.

code:
BUILD_GAME_QVM    = 1
BUILD_GAME_SO   = 0
BUILD_MISSIONPACK = 0

BUILD_SERVER    = 0
BUILD_CLIENT    = 0
BUILD_CLIENT_SMP  = 0

This way running make will only build the gamecode QVMs and no shared libs or even the client and dedicated server engine.

On an *nix system it should be sufficient to just run make now. The resulting QVMs will be created in e.g. build/release-linux-i386/baseq3/vm/.
Windows users can either use MinGW or use the provided batch files (e.g. code/game/game.bat). When using batch files, the compiled QVMs will be stored inside \WorldOfPadman\wop\vm\ on the drive where you extracted the sourcecode (e.g. C:\WorldOfPadman\wop\vm\).

Testing

You should copy the QVM files into a folder for your mod inside your homepath, e.g. ~/.padman/mymod/vm/ on Linux.

To test your mod in game, run WoP with these additional commands

code:
wop +set fs_game "mymod" +set sv_pure "0"

Where "mymod" is the folder where you copied your mod. Running the game "unpure" causes the engine to load your QVM files even though they are not packed as a PK3 file.

Releasing

If you want to release your mod, you will at least need to pack vm/*.qvm into a Zip archive, then change its extension to ".pk3" instead of ".zip".
You should also include a readme file as well as your modified sourcecode (maybe as a separate download or diff).

Post comment Comments
Kai-Li
Kai-Li Jul 15 2008, 2:05am says:

Nice to see someone else posting tutorials here. Keep on. ;)

+1 vote     reply to comment
chaosblubbel
chaosblubbel Jul 15 2008, 2:34pm says:

Nice work Braini ;).

+1 vote     reply to comment
lutoma
lutoma Nov 6 2008, 11:53am says:

great.... this is exactly what i need :)

+1 vote     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Tutorial
Browse
Tutorials
Report Abuse
Report article
Related Games
World of Padman
World of Padman Multiplayer First Person Shooter
Related Engines
id Tech 3
id Tech 3 GPL Released Dec 3, 1999
Related Groups
PadWorld Entertainment
PadWorld Entertainment Developer & Publisher with 13 members