Creating Custom Maps
From OBEY wiki
You can create custom maps for OBEY by using the free and open source Tiled map editor. Custom maps can be uploaded to the Steam Workshop by using the workshop uploader (Download Link)
HOW TO EDIT:
- 1) To create a map, START by opening one of the existing official maps with Tiled. It has a lot of necessary elements that you won't have to recreate.
- 2) Once opened save it as your own. It is recommended to save it as yourMapName01, so that with each iteration other players who are helping you test they won't have to delete the older version (a server will not allow a client to connect if the client has already has a map with the same name, but with different contents).
- 3) Tiled uses two different layers, one for the terrain and one for the objects (Feed Box, Robo)
- 4) Edit the terrain layer ONLY by using the terrain tool which looks like a little map icon at the top of the screen. This is important because it will keep your map from having seams and tile integration bugs.
- 5) If you spawn in a Feed Box or Power Plant or Watchtower it will be associated with the closest robo. If you don't want that, you can force it to associate with a particular robo: right click on the Robo and press the "Object properties":
Search for the "name" and replace it with a name you will remember.
Then on the feedbox, add a custom property named "robo" and associate it with the Robo as shown.
NOTES:
- Maps should not exceed 99 tiles in either axis (or it will cause lighting and laser wall bugs)
- Large maps and maps with lots of forest areas will cause slowdown for players with older machines
- All maps need one, and only one Dropship location
- Mines, Laser Walls, and Sensors cannot be placed near Sentries, so Sentries should be placed by Robosaru's entrance so that those items cannot be placed there. In maps with multiple Robos, sentries are linked to the nearest Robo.
- Power Plants and Feed Boxes will not work unless the property on it called 'robo' has a value that matches a the name of a Robosaru in the map.
- Power Plants must have an 'id' property. If you have more than 1 Power Plant, each Power Plant in the map should be set to have a unique integer.
- Do not allow pits in the map which could trap players (this will require them to suicide which will penalize their points on some servers) until a terrain that kills bunnies is implemented
- Make sure that the edges of the map are made out of terrain that cannot be climbed. Gaps in the edge will allow Bunnies to walk off the edge of the map and die . Do pay attention to where High Grass is placed, and ensure it doesn't allow access to these rim walls.
- Please note that obey is still in development and map elements and components will change as development progresses!
TROUBLESHOOTING:
Sometimes your map won't load due to a technical reason.
The first step in troubleshooting is to check the output log!
- Q: Couldn't load map file. Something went wrong in reading the .xml loading: cornered
- A: Your serverSettings.txt is telling your server to load cornered.tmx, but cornered is missing.
- Q: Could not place tiles because it's data has the wrong size! Should be: 14400 but found: 4077
- A: To work, your map properties must be set to save the map as base64(uncompressed)
- Q: Aborting tile placement. The map is asking for tiles that the 'tileLoader' component doesn't have: tile gid 427
- A: The order of your tilesets is incorrect. They should be in order like this:
ADVANCED TIPS:
- you can set custom shock timers on electrical sentries by adding a property named "shockFreq" on it and set its value to the desired time between shocks.
- you can make a laser sentry to spawn deactivated by setting "default" property on it and setting it to "off"
- be mindful of hiding spots near robo that could aid 'double subversions'