The map editor allows players to create their own maps by providing them with an empty template and letting them fill it in with objects, waypoints and enemies. The created maps are automatically recognised in the main menu and they will appear in the Stage Select menu. Currently, the player can freely place all kinds of enemies, waypoints, walls, arches, lights and keypad doors. Updates will introduce support for crates, keys, computers, aesthetic objects and map resizing*.
*Striked-out items have already been added.
Technical Details:
The maps are saved in .txt .srd format in the My Documents/My Games/Private Infiltrator/Custom Maps folder, and they are easy to distribute to your friends. A text parser has been written to "encode" and "decode" the level data to and from plain text.
Technical details regarding the way the maps are saved follow:
The parser distinguishes between objects and parameters via the use of certain characters:
** - Is used to separate different objects.
Example: Arch**Wall**Enemy
~ - Is used to separate between an object's type and its parameters.
Example: Arch~Parameters
Example<sup>2</sup>: Arch~Parameters**Wall~Parameters
| - Is used to separate between different object parameters.
Example: Name|Position|Rotation
Example<sup>2</sup>: Arch~Name|Position|RotationY
Example<sup>3</sup>: Arch~Name|Position|RotationY**Enemy~Name|Position|Waypoints
, - Is used to separate between sub-parameters.
Example: posX,posY,posZ
Example<sup>2</sup>: Name|posX,posY,posZ|RotationY
Example<sup>3</sup>:Arch~Name|posX,posY,posZ|RotationY
Example<sup>4</sup>:Arch~Name|posX,posY,posZ|RotationY**Camera~Name|posX,posY,posZ|rotX,rotY,rotZ
Saved Level Example:
WP~EnWaypoint1|0|3541.679,711.0156,1595.547**WP~EnWaypoint2|1|3541.827,711.0156,1605.368**WP~EnWaypoint3|2|3535.27,711.0156,1605.318**WP~EnWaypoint4|3|3535.591,711.0156,1619.227**Enemy~Enemy|3541.835,711.0156,1596.463|EnWaypoint1-EnWaypoint2-EnWaypoint3-EnWaypoint4-EnWaypoint3-EnWaypoint2-|True**Wall~HoriWall|3570.791,712.1035,1618.92|25.4**Wall~HoriWall|3532.521,712.1035,1612.714|25.4**Wall~VerWall|3552.047,712.1035,1609.204|25.4**Wall~HoriWall|3545.522,712.1035,1603.876|25.4**Wall~VerWall|3535.887,712.1035,1600.43|7.611451**Arch~Arch|3554.505,707.9371,1591.637|0.07611623|90.00002**Arch~Keypad|3546.132,712.2474,1615.546|0.6113173|180**Wall~HoriWall|3561.597,712.1035,1600.436|18.00707**Light~Window|3533.214,711.2371,1611.597|270**Light~Window|3570.214,711.2371,1621.704|90.00005**Arch~Arch|3541.5,707.9371,1600.23|0.05537071|270**Wall~VerWall|3537.148,712.1035,1591.386|25.4**Wall~VerWall|3571.575,712.1035,1591.386|25.4**Wall~HoriWall|3581.25,712.1035,1604.139|25.4**
The text above produces this map as a result.
Thats really awesome! Love to build maps in games. Hope, its not to hard to learn.
just started playing this game again- its really a gem.