This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ixe:mapmaking:custom [2024/12/06 17:38] – Grabz | ixe:mapmaking:custom [2025/02/14 14:57] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Making Custom Units ====== | ====== Making Custom Units ====== | ||
- | This page will teach how to create | + | Custom units have two or three components: |
+ | * image (typically a JPEG or PNG file) - how the unit looks | ||
+ | * description (JSON file) - what components and behaviors go with the unit | ||
+ | * behavior ([[ixe: | ||
+ | |||
+ | A more complex unit can have multiple components, where each component is named in the base or root JSON, and each component can be made up the same as the root or base component. | ||
+ | |||
+ | To make a custom unit, the 2 required pieces are a unit image and a unit JSON, both of which will need to be placed in the map folder for the map you are making. | ||
+ | |||
+ | ===== Unit Image ===== | ||
+ | The unit image is an image file, at time of writing we do not yet have a list of what image formats are supported and have mostly been using png files. | ||
+ | |||
+ | You want a program that can make pixel art png files, including deleting pixels so you can have non-rectangular shapes. | ||
+ | |||
+ | To get to your Creeper World IXE files you can copy < | ||
+ | |||
+ | ===== Unit JSON ===== | ||
+ | At time of writing we do not have access to the full list of JSON calls, we are currently making unit JSONs by copying information from known JSONs and some guesswork. | ||
+ | |||
+ | <file json unit.json> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | ], | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Copy paste this into a text editor and fill out the following fields: | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | - " | ||
+ | |||
+ | All that remains is to add the parts; below the " | ||
+ | |||
+ | <tabbox Cannon> | ||
+ | < | ||
+ | |||
+ | <tabbox Rocket> | ||
+ | < | ||
+ | |||
+ | <tabbox Lathe> | ||
+ | < | ||
+ | |||
+ | <tabbox Freeze Cannon> | ||
+ | < | ||
+ | |||
+ | <tabbox Sentinel Cannon> | ||
+ | < | ||
+ | |||
+ | <tabbox Phantom Beam> | ||
+ | < | ||
+ | |||
+ | <tabbox Sanddropper> | ||
+ | < | ||
+ | |||
+ | <tabbox Maker> | ||
+ | < | ||
+ | |||
+ | </ | ||
+ | |||
+ | Save the file name as what you want your ship to be named in code (make sure to use the extension .json) and place that file with the image from the first step. | ||
+ | |||
+ | ===== Global JSON ===== | ||
+ | To add a global script to your map - one that will run without the need of a unit - you need to add a global.json file to the root of your project with the following content | ||
+ | |||
+ | <file json global.json> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | {" | ||
+ | ] | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Scripting ===== | ||
+ | |||
+ | ===== Final Touches ===== | ||
+ | At this point your unit should be ready to be placed in game. Go to the map with your unit and navigate to the scripting tab of the editor. | ||
+ | |||
+ | Going over to the units tab you should see your creation added to the units list. Place it in the map and now we can start tweaking the module and weapon positions. | ||
+ | |||
+ | And with that, congratulations! | ||
+ | |||
+ | |||
+ | To see how all of the base game ships are constructed, | ||
- | This capability is not available yet, therefore this page is a stub. |