(info) Other great resources: Official JS API docs, Scripting Forum

Useful Links

There's lots of useful information elsewhere on the intertubes...

 

The JS API guide that's provided by the development team is generated from comments in the game's source code. While it's more basic than the guide you'll find on this site, it will usually be more up-to-date so it's worth checking from time to time:

A huge thanks goes out to Per and Cybersphinx for their awesome work on maintaining and delivering the official JS API docs!!

I've compiled some information about how the JS API has changed over time that you may find useful: Compatibility Matrix

The scripting forum is the primary home of all things relating to Warzone scripting – almost everything on this site is based on discussions in that forum.

Per is the authority on the JS API, because he wrote most of it!

There's already a bunch of JS scripts out in the wild – you'll be able to learn all sorts of tips and tricks by reading through their code:

There's a bunch of files that contain references to features, structures and so on - you'll probably need to refer to them while scripting as some function parameters are based on them:

The following Warzone C++ source files are associated with the JS API – it's really useful to read through them to get an idea of what goes on "behind the scenes":

If, like me, you've not worked with C++ before or don't know how QtScript stuff works, I recommend reading through QtScriptValue documentation to get a better idea about what the source files are doing.

If you're working on meaty scripts, here's some libraries that might make life a bit easier:

  • util.js – classic prototypal inheritance model, attach multiple event handlers to WZ events, and a bunch of other tasty wholesome goodness
  • Backports project – scripts that smooth over the cracks in the JS API
  • The NEXUS Project – task-driven scripting for Warzone 2100.

Almost everything in Warzone can be modded:

  • 3D Models
  • AIs (Bots)
  • Audio (Sound)Directory of all audio files bundled with the game, tutorials on adding, editing and configuring audio...
  • CampaignsSome info on customising campaigns...
  • Challenge GamesChallenges are predefined game set-ups for Skirmish games that can be access via the Challenges menu.
  • Command line optionsA list of command-line options for Warzone 2100...
  • Config files (Stats)Warzone contains numerous config files that allow almost every aspect of the game to be modified...
  • Dissected ModsPerhaps the easiest way to learn modding is to take a look at some existing mods...
  • Faction, Team & Player ColoursWarzone defines colours for up to 16 factions / teams / players...
  • Fast Play GamesA guide to customising the "Fast Play" game mode...
  • Game Rules & SitRepHow to initialise player technologies, buildings, base type effects, determine victory (win/lose) conditions and send situation reports to players...
  • Images, Icons & CursorsIcons, flags and various other UI elements can be modded...
  • Licensing ModsChoose an open source license for your mods to be compatible with Warzone's open source license.
  • Maps (Levels)Create custom warzone maps in a variety of design and gameplay styles...
  • Menus & ScreensDirectory of all menus & screens, guides for changing background images, notes on where config settings are changed...
  • Scripting (JS & WZScript)Create AI bots, campaigns and more by including scripts in your mods...
  • Tilesets and Texturestilesets - under construction
  • Translate / LocaliseStub page regarding translations / localisations
  • Units (Droids)Units (or "Droids" as they are known in Warzone) can be created and customised in many ways.
  • Video (Cinematics)Directory of all videos bundled with the game, tutorials on making cinematics, cutscenes and more...
  • Warzone FilesystemHow does the Warzone file system work?
  • Weapons (Turrets)