Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Map System (General Feature Information) #5

Open
15 of 31 tasks
Toxocious opened this issue Apr 3, 2022 · 0 comments
Open
15 of 31 tasks

Map System (General Feature Information) #5

Toxocious opened this issue Apr 3, 2022 · 0 comments
Labels
maps Issues regarding the map system

Comments

@Toxocious
Copy link
Owner

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
@Toxocious Toxocious added the maps Issues regarding the map system label Apr 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maps Issues regarding the map system
Projects
Status: Todo
Development

No branches or pull requests

1 participant