General Process
An example production pipeline. The exact order can vary a bit, and previous steps might be revisited at any point.
Entities
Prepare entities. For each entity:
- Acquire or produce spritesheets.
- In Tiled, make a tileset JSON file.
- Put it in
scenario_source_files/entities/
. - For character entities, set the
Class
property for all tiles to what you want the entity'sentity_type
name to be. - Set frames and timings for your animations, if any.
- For character entities, prepare animations for at least idle, walking, and action.
- Put it in
- For each character entity:
- Use the web encoder to assign animations and NSEW directions.
- Paste updated entity data into
entity_types.json
.
- Prepare dialog portraits.
- In Tiled, make a tileset JSON file for the talk portrait images.
- Put it in
scenario_source_files/entities/
.
- Put it in
- Prepare
portraits.json
. - Assign portraits to their entities in
entity_types.json
if the portrait name does not match an entity_type name.
- In Tiled, make a tileset JSON file for the talk portrait images.
Maps
Prepare map(s). For each map:
- Acquire or produce tilesets.
- In Tiled, make a tileset JSON file.
- Put it in
scenario_source_files/tilesets/
. - Set tile collisions for each tile.
- Put it in
- In Tiled, create a map using the tileset(s) from above.
- Place entities on the map.
- Set entity properties, e.g.
Name
is_player
on_tick
scripton_interact
scripton_look
script
- Set entity properties, e.g.
- Draw vector shapes, (see Doors) e.g.
- Walk paths
- Doorways
- "Walking out the door" paths
- Camera targets
- Add the map to
maps.json
, and supply properties like itson_load
andon_tick
scripts.
Dialog Skins
Prepare dialog skin(s). For each skin:
- Acquire or produce tilesets.
- In Tiled, make a tileset JSON file.
- Put it in
scenario_source_files/tilesets/
.
- Put it in
- Add dialogSkin file(s) to
scenario.json
.
Game Logic
Prepare game behavior. You can either use MGS or JSON for this, or even a mix.
- For MGS files: write MGS Natlang. (See the natlang docs!)
- For JSON files (note: you must also add each JSON file to
scenario.json
or the game encoder won't see it):- Prepare dialogs inside
scenario_source_files/dialogs/
. - Prepare serial dialogs inside
scenario_source_files/serial_dialogs/
. - Prepare scripts inside
scenario_source_files/scripts/
.- Plan logic with flowcharts (optional)
- Prepare dialogs inside
Encode Game
Encode the game.dat
using the encoder (either the web version or the CLI version).
Play Test
Test the game in one of three ways:
- Web build:
- Remember to use the web build appropriate for the version of the encoder you're using!
- Drag the new
game.dat
into the browser window. - Run the game.
- Desktop build (see MGE VM):
- Move
game.dat
to the right place. - Run the game.
- Move
- Verify on real badge hardware. See: Updating the Hardware
- Copy
game.dat
onto a microSD card. - Insert the microSD card into hardware.
- Flash the game.
- Run the game.
- Copy