-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
mapsIssues regarding the map systemIssues regarding the map system
Description
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
- Phaser (https://phaser.io/)
- Javascript based rendering engine for games
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)
- Needed to handle transitioning to other map layers
- NPCs
- 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
- High-range
- Automatic Mode
- Low-range
- 4-tile radius around the player
- Low-range
- 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
- GridEngine has innate support for this
- 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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
mapsIssues regarding the map systemIssues regarding the map system