{{page>cw4:header&nofooter}}
====== Custom maps ======
===== Guidelines for Submitting Maps =====
* Make a fun map that **you** enjoy playing, then share it with the community.
* No explicit images or concepts. Violating this rule will result in a ban on future map uploads.
* No content that is offensive, contains offensive symbolism((historically charged symbols, often associated with divisive ideologies; contentious periods; or drug use references)), or excessive use of strong or foul language ((Typically, this means do not use words that wouldn't be allowed on US broadcast television)). This rule is not debatable and is interpreted by the admins and moderators.
* No maps that are intended purely for obtaining an achievement, no do-nothing maps, instant-win maps or maps that complete without player input.
===== Getting Started =====
Custom maps can range from simple to very complex. The map maker can change or create the terrain, Choose specific map textures, overlay terrain with images and more. Additionally, there can be custom units on the map, both as enemy units and as player units. Player units can further be either pre-built or can be assigned to a build slot so the player decide when, where and if they get used in completing the mission.
The first step is to decide on a name((
The map name will be the name of a folder in the editor subdirectory under the game directory
%HOMEPATH%\Documents\My Games\creeperworld4\editor\
)) for the new map
{{new_map_step_1.png?400}}
Please note that if you plan to upload a map to the community, the name should not be offensive in any way. ((
This goes for all community content and all community content are subject to removal at the absolute discretion of Knuckle Cracker, LLC. or their designated agents. Community-submitted map are also subject to removal if they are reported by a sufficiently large number of other members.
))
===== Map Editor =====
New maps can be created in one of two ways:
{{map_create_dialog.png?500}}
:!: To be supplied
The following video is an excellent overview and tutorial of using the Map Editor in CW4 created by THE Knuckle Cracker:
{{youtube>Et-lGqK_egE}}
Note that some aspects of the editor have changed since the video above from Aug 2019 was made but has all kinds of map design tips for creating a wide variety of fun maps. Now back to the written tutorial.
The map will now open, almost like any playable map, with the notable exception of the small, green "Editor" button in the lower right corner.
{{editbutton.png}}
Once you click this button the Mission Editor pane will open. Now you can edit the terrain, add various features and then you are ready to test and play your map!
===== Mission Editor =====
Specifies features of the terrain, including height, appearance, (Anti-)Creeper deposits, Special terrain types and Eco (ecology) settings.
{{youtube>-yD_cRRCBnI}}
Built-in units can be placed on the map from here.
{{mission_editor_units.png}}
Defines Mission objectives, sets global game properties, etc.
{{mission_editor_game.png}}
Specifies the [[Map Background|map background]]. Through the use of the [[Theme Editor]] also allows for editing terrain textures, normals, cliff textures, setting an image to overlay all of the map's terrain, or setting custom terrain textures.
{{mission_editor_theme.png}}
Sets a map title, a brief description that will display when the map is viewed in the game and use the [[a.d.a syntax syntax guide|A.D.A. Message editor]].
{{mission_editor_text.png}}
Custom units and scripts are done from here. Learn the basics in the [[scripting | Scripting and Making Custom Maps]]
See [[cw4:Units|Unit Editor]] and [[4RPL:Start|Scripting Documentation]] for an in-depth treatment of Custom units and Scripting.
==== Editor keys ====
The map editor also has several key bindings specific to mapmaking. You see them by hovering over the {{editor_info.png?30}} button at the top left of the editor pane.
{{editor_keys.png}}
====== A.D.A Message editor ======
The A.D.A Messages can contain text and images. Exercise caution with the images. Over-large images or images that are not relevant to the map, cause the map size to be larger than normal and may cause a map to be removed from Colonies.
Here is a write-up of all rich text formatting allowed in the [[a.d.a syntax syntax guide| A.D.A text editor]]. It is a more-or-less direct copy of [[http://digitalnativestudios.com/textmeshpro/docs/rich-text/]]
====== Map making concepts ======
===== Image guidelines =====
Note that importing or using images, 3D models, or decals may involve entities that are large in size. Most maps come in around 1MB in size with some larger maps reaching up to 4-5MB. Maps exceeding 10MB in size cannot be uploaded to the Knuckle Cracker website.
All decisions regarding maps, images and associated content is solely the decision of Knuckle Cracker LLC. No decision creates a precedent for subsequent decisions and any decision is made based on circumstances at the time such a decision is made.
Content included in the A.D.A. log should be relevant to the gameplay or to the map in question.
The aim is to provide maps that are fun to play and suitable for all audiences without being offensive to the majority of the player audience.
Do not use images that you do not have the right to use. If the image(s) require credit, make sure the credit is provided.
===== Understanding the 3D coordinate system =====
Prepare yourself for a shock. In 3D games, the map coordinates are stranger than you may think. {{cw4:cartesian_map_coordinates.png}}
Here is a good resource:
[[https://www.3dgep.com/3d-math-primer-for-game-programmers/| 3D Math Primer for Game Programmers (Coordinate Systems)]]
Also note that, in line with the underlying Unity3D engine, the game uses a left-handed coordinate system in contrast to the right-handed coordinate system you may expect.
{{cw4:lefthandedcoordinates_1000.png}} vs {{cw4:righthandedcoordinates_1000.png}}
Giuseppe Portelli wrote a series of articles about coordinate systems comparison between Autodesk 3ds Max, Unity 3D and Unreal Engine. If you are familiar with any of those other systems, then this may be the comparison you need.
* [[http://www.aclockworkberry.com/uv-coordinate-systems-3ds-max-unity-unreal-engine/| UV Coordinate Systems in 3ds Max, Unity, Unreal Engine]]
* [[http://www.aclockworkberry.com/world-coordinate-systems-in-3ds-max-unity-and-unreal-engine/| World Coordinate Systems in 3ds Max, Unity and Unreal Engine ]]
* [[http://www.aclockworkberry.com/basis-orientations-in-3ds-max-unity-3d-and-unreal-engine/| Basis Orientations in 3ds Max, Unity 3D and Unreal Engine ]]
* [[http://www.aclockworkberry.com/scales-in-3ds-max-unity-3d-and-unreal-engine/| Scales in 3ds Max, Unity 3D and Unreal Engine ]]
===== Movement and Rotation =====
this section should probably move to the section for custom units, since it is material to animating components of a unit
Bear in mind that movement is always *along the axis, while rotation is *around* the axis.
For instance, for an propeller airplane to move in a specific direction the coordinate for that direction would have to change. At the same time, the rotational vector for the propeller movement would also change around the same axis.
===== World View and Local View =====
Many coordinate APIs (commands) in the the game has an option to specify local vs world coordinates.
World Coordinates are immutable and always arae references from the map origin at (0,0,0) - in the lower, left corner.
Local coordinates are relative to a different (parental) unit and is used to integrate unit movement. Using the airplane example again, should the body of the plane move, the rotational component for the propeller should be in local coordinates so that it tracks and is always relative to the direction the body of the airplane points in .
====== See also ======
* [[Map Background|Map Background (Planet Theme)]]
* [[Theme Editor]]
* [[a.d.a syntax syntax guide|A.D.A. Message editor]]
* [[scripting| Scripting and Making Custom Maps]]
* [[cw4:Units|Unit Editor]]
* [[4RPL:Start|Scripting Documentation]]