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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions