Skip to content

Map System (General Feature Information) #5

@Toxocious

Description

@Toxocious

Description

Ideally we'll implement a map system similar to the map engine that the Gen 3 Pokémon games (Emerald, Ruby, and Sapphire).

Dependencies

Features

  • Render Tiled files as maps
    • Phaser has innate support for this if exporting the map as a .json file
  • Support for a variety of entities/objects
    • NPCs
      • Custom overworld sprite
      • Custom dialogue
      • Movement property
    • Player Entity
      • Sets player spawn position for the map
    • Warp Tiles
      • Sets destination for the map it leads to
    • Encounter Tiles
      • Tile integer denotes encounter zone to draw encounters from
    • Layer Transition Tiles
      • Needed to handle transitioning to other map layers
        • Ex. ground layer to mountain layer (over-simplified)
  • Animate player movement
    • Walking
    • Surfing
    • Fishing
  • NPCs can move
  • NPCs have custom dialogue
  • Move from map to map
  • Surfing on water
  • Sliding on ice
  • Procedural map generation
    • Useful for PMD-like dungeons
  • Map Exp/Level
    • Earnable via catching/fighting/releasing wild encounters
    • Encounter odds of wild encounters influences earned Map Exp
    • Map Level increases odds of finding Shiny Pokémon
  • Itermfinder
    • Ping for 'hidden' overworld items
    • Manual Mode
      • High-range
        • 8-tile radius around the player
    • Automatic Mode
      • Low-range
        • 4-tile radius around the player
  • Overworld Bosses
    • n% chance to spawn per frame
    • Can be fought a single time per spawn
    • Can not spawn if an overworld boss is already active

Technical Requirements

  • Render Tiled .tmx files via Phaser
  • Parse and set collision tiles
  • Handle player interaction w/ NPC objects
  • Parse and set encounter tiles
  • Program surfing logic
    • Check for water tiles
    • Check for current player movement method
      • Walking
      • Surfing
      • Sliding
      • Warping
  • Program sliding on ice logic
  • Allow custom keybinds
    • Store/Update these in the database
    • Movement Keybinds
      • Left
      • Right
      • Up
      • Down
    • Interaction Keybinds
      • Interact
      • Fishing
      • Use Key Item

Map Creation README

A README will need created as a guide on how to create maps, and will cover layer naming, object layer naming, supported objects, and tilesets.

  • MAP_CREATION.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    mapsIssues regarding the map system

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions