Skip to content

Latest commit

 

History

History
145 lines (135 loc) · 6.79 KB

DESIGN.md

File metadata and controls

145 lines (135 loc) · 6.79 KB

LD45 Tiled Documentation

Tiled maps must have a tile size of 16x16px.

Tile Properties

  • solid (boolean)
    Marks a tile as solid (player will only collide with them once AddCollisions feature was triggered).
  • spike (boolean)
    Makes the tile a spike, which will reset the level when touched by the player.
  • always_loaded (boolean) optional
    Makes this tile always be loaded. Use with caution.
  • animation_sprite_ids (string) optional
    Comma-separated list of sprite IDs to use for an animation.
    Must be used with animation_delays_ms for the animation to work.
    Example: 1, 2, 3
  • animation_delays_ms (string) optional
    Comma-separated list of delays for each sprite in the animation in milliseconds.
    Must be used with animation_sprite_ids for the animation to work.
    Example: 500, 1000, 500
  • dynamic_animation (string) optional
    Value must be the name of a animations config file under resources/animations/.
    To use, copy the dyn_animation_example.ron file and rename it to something fitting
    (for example dynamic_grass.ron). Then you can edit the new file. The example file is commented, so open up the file to see what you can do.

Object Properties

Type: "Player"

No properties.

Type: "Feature"

  • feature_type (string)
    One of:
    • AddCollisions
      Makes the player collide with solid walls.
    • AddGravity1
      Gives the player the first gravity and jump strength(s). (before jetpack)
    • AddGravity2
      Gives the player the second gravity and jump strength(s). (after jetpack)
    • AddJump
      Gives the player the ability to jump and to wall jump.
    • AddSingleSprite
      Gives the player a single sprite.
    • AddAnimatedSprite
      Gives the player its full set of animations (idle, walking, jumping, etc.).
    • AddEnemySprite
      Adds full animations to all enemies.
    • AddRun
      Gives the player the ability to move faster using the run button.
    • AddDash
      Gives the player the ability to dash in-air, by pressing down any pair of movement keys,
      and then pressing the jump button again.
      They can dash once, after which the player must stand on solid ground again to recharge the dash.
      The dash is 8-directional.
    • SetSongN
      Set the currently playing song to the Nth song.
      N should be replaced with an integer, starting at 0 for the first song, etc.
      Will panic if N is not an integer.
      If N is an integer, but the song at the given index doesn't exist, then no song will be played.

Type: "Enemy"

  • enemy_type (string)
    One of:
    • Ground
    • Flying
  • pace_distance_x (float) optional
    How far this pacing enemy should walk, before turning around.
    Specified distance is the distance from the placed object, to either the left or right sides.
    The number's sign specifies the initial direction, in which this enemy will move.
    So if the value is larger than (or equal to) 0.0, then the enemy will initially move right;
    if it is less than 0.0, the enemy will initially move left. If omitted, this enemy will not pace horizontally.
  • pace_distance_y (float) optional
    Same as pace_distance_x, but for the y direction (vertically).
    If the value is larger than (or equal to) 0.0, then the enemy will initially move up;
    if it is less than 0.0, the enemy will initially move down. If omitted, this enemy will not pace vertically.
  • always_loaded (boolean) optional
    Makes this tile always be loaded. Use with caution.

Type: "Background"

Backgrounds will automatically start following the camera,
once the camera's left edge passes the background's left edge.

  • image (string)
    The filename of the background image to use.
    The background image must be placed under resources/spritesheets/bg.
    Accompanying the image file, you must also create a config .ron file,
    in the same directory.
    See the example .ron file resources/spritesheets/bg/background_example.ron
    for more information on how to create the .ron file.
  • always_loaded (boolean) optional
    Makes this tile always be loaded. Use with caution.
    (shouldn't be necessary for background)

Type: "Checkpoint"

  • respawn_anchor (string) optional
    Specifies at which anchor point to respawn the player, relative to the checkpoint's center.
    For possible values, see: amethyst::ui::Anchor
    Example (most common): BottomMiddle.
    If this property is omitted, then the default respawn_anchor will be Middle.

Type: "Indicator"

Indicators are images, which only become visible after the associated feature was triggered.

  • image (string)
    The filename of the image to use.
    The image file must be placed under resources/spritesheets/indicators.
    Accompanying the image file, you must also create a config .ron file,
    in the same directory.
    See the example .ron file resources/spritesheets/bg/background_example.ron
    for more information on how to create the .ron file.
  • feature_trigger (string)
    The Feature, which will make this indicator visible when triggered.
    The value has the same format as the Feature's feature_type.
  • always_loaded (boolean) optional
    Makes this tile always be loaded. Use with caution.
    (shouldn't be necessary for indicators)
  • animation_sprite_ids (string) optional
    Comma-separated list of sprite IDs to use for an animation.
    The sprite IDs are the IDs for the indicator image, as defined in this inicator's .ron file.
    Must be used with animation_delays_ms for the animation to work.
    Example: 1, 2, 3
  • animation_delays_ms (string) optional
    Comma-separated list of delays for each sprite in the animation in milliseconds.
    Must be used with animation_sprite_ids for the animation to work.
    Example: 500, 1000, 500

Sequential Features

  1. 4 directional movement, no gravity DONE
  2. first encounter with non solid tiles DONE
  3. first encounter with solid tiles DONE
  4. gravity + first music trigger DONE
  5. first encounter with non textured enemy DONE (not non-textured, rather single-sprite-textured)
  6. jump and wall jump DONE
  7. player textures (single frame) DONE
  8. bg + player animation + second music trigger DONE
  9. enemy textures DONE
  10. spikes DONE
  11. enemy animations DONE (happens with 'enemy textures')
  12. parallax bgs?
  13. jetpack jump + hover DONE (settings need to be tweaked for this)
  14. first wave of environmental decoration
  15. run button + third music trigger DONE
  16. second wave of environmental decoration
  17. dash DONE
  18. third wave of environmental decoration