Creeper World 4, in the same tradition as Creeper World 3 and Particle Fleet, has extensive scripting capabilities. It uses the same Reverse Polish Notation and associated “warp” notation as its predecessors.
Breaking with tradition, there is now separate sections for the Core or Base language and the Game-specific APIs. The core language components are similar in all games and covers control flow, conditionals and basic math operations. The language-specific APIs interact with the game and game objects to provide extensive customization of custom maps and of custom units.
There are 3 components to a custom map
This includes terrain features such as terrain height; textures (both for cliffs and terrain); image overlays, decals applied to the terrain; as well as the placement of resources and enemy units. More details are in the Terrain Editor or the Texture Editor pages.
Pre-built custom units are placed on the map by the map maker and can either be friendly or enemies. Player-built units are included on the build menus and are built by the player during the game. Most units will have one or more scripts associated with them, unless they are purely of a decorative nature.
Units are contained in custom packs (CPACKs). Each CPACK is a collection of meshes, textures, and color specifications that together make up one or more models. Each model typically has scripted behavior to control its mode of operation. CPACKs can be exported from a map and shared with other map makers who can import the CPACK into a map they made.
Each CPACK has a unique identifier (GUID) that is associated with the CPACK from creation onward. The only way to alter the GUID of a CPACK is to branch the CPACK in the game's custom module editor.
4RPL scripts control the behavior of units, as well as select aspects of the map. As such, they can be associated with a unit, or with the Global Control section embedded in the CPACK 1).
Scripts are compiled into a map, and will execute when the map is played. When the map is opened in the editor, the editor will extract all the scripts from each CPACK and place them in a folder under the map folder with a name that is made up of the name of the CPACK and the GUID of the CPACK
For testing purposes, or for use during map creation, scripts can also be run in the 4RPL Console
Scripts will be recompiled into the map when
Note: You must explicitly save the map if you want the recompiled scripts to be saved. If you don't, and reload the map, the previous version of the scripts will be in effect until you recompile.