Introduction
Disclaimer
Before you advance, this guide will not show you how to fully make a custom map.
This guide will give you an insight of the concept of a map to the game and present you a bunch of tools/resources you could benefit from.
This guide will give you an insight of the concept of a map to the game and present you a bunch of tools/resources you could benefit from.
What are the maps?
You might think "Yeah, I know what maps are, they are the worlds Homer can walk, drive & kick people in". - Well yes but no.Technically, maps are a bunch of region files that the game is told (by a Dyna Load Data String) to load or unload, joined by a terra file which contains a bunch of locators to load/unload regions when triggered.
Terra files
What are terra files?
They are the files that contain most of the data that belongs to a map, which include:- Trees - Tracks useful data related to entities spawned (within the world)
- Locator Type 5 chunks which execute a Dyna Load data string - used to load or unload regions
- World Spheres - also known as skyboxes
- Roads & Road Networks - necessary for AI, Traffic cars and the radar to work
- Fences - prevent the player from going outside of the boundaries. Also check @Weasel on a Stick 's documentation about fences
- Paths - pedestrians will spawn and walk on the positions of these chunks. Also check @Weasel on a Stick 's documentation about paths
Region files
What are region files?
Shortly, they are the files that contain the geometry and collisions of your map & more, here is a list of what you should expect:- Locator Type 3 chunks - used for player cars, player character start, npc waypoints, parked cars, bonus cars
- Locator Type 9 chunks - also known as Action Event Locators, they are used for certain things such as collectible placements (checkpoints, wrenches, cards), phonebooths, skin shops, teleporters and animation players.
- Locator Type 12 chunks - used for static cameras
- Locator Type 14 chunks - used to place coins
- Intersects - also known as ground collisions, they act as a ground for cars, characters & usually snaps the traffic cars onto it.
- Static Entities - also known as geometry, they contain meshes without an offset data.
- Static Phys - also known as collisions, they are geometry that the game renders physically and not visibly. Cars, characters and sometimes props can touch them. Such chunks come in 4 states - capsules, cubes, cylinders and spheres.
- Dynamic Phys - also known as props.
Useful tools
Jeff's Map Creator
The greatest tool for such work would be the map creator, which is specifically designed for this.It has unity-like GUI & controls to make the job easier for anybody (familiar or not with unity).
Download here
Check out more information about it here
Blender
Most of the tools used for map editing are add-ons for Blender.I recommend using version 2.90 of Blender, but any higher version should work.
- Lucas' Pure3D Editor Model XML Format Blender (2.90) - import geometry from p3d files
- Lucas' Pure3D Editor Model XML Format Blender (original) - import geometry from p3d files
- Weasel's Map Data Editor - import map data from p3d files
- Weasel's Collision Editor - import static phys from p3d files
Other
These tools are also useful if you want to properly edit maps- Lucas' Pure3D Editor - view & modify p3d files
- Lucas' Map Data Viewer - view data from terra files & their descendants (loaded regions)
Ending
Requirements
All of this being said, here are a bunch of things you might be required to know before you proceed to try and make your own map:- Have knowledge on using Blender
- Have knowledge on using the Pure3D Editor
- Have patience
Notes
I am hoping you learnt a bunch of new things about maps from this tutorial and that you found it useful. Have a good day!Also check out the (hopefully) soon-to-come model builder tutorial on how to make a map. This won't really be useful as the tool isn't released yet, but it can give you a bunch of ideas on how a map works.
Huge thanks to @Lucas Cardellini , @TheButterApple & @Weasel on a Stick for their tools that allow us to manage these maps with such ease!