You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

100 lines
2.8 KiB

## ~~Boilerplate ~~
* ~~Project setup ~~
* ~~Input engine ~~
## Maps
* ~~Player-background collision ~~
* ~~32x32 maps ~~
* ~~Map scrolling through SCX/SCY ~~
* 127x127 maps
* Update background collision to be aware of map changes
* Portals between maps
* Write editor for collision maps
* Update map generation script to use new collision map format
* New collision map flag
* Load new map on collision
* Ladders/ropes
* New collision map flag
* Play climbing animation when player collides
* Allow movement up/down without gravity
## Items
* Item entity type
* Render item on map
* Create data structure for storing items on the map
* Copy item OAM data to shadow OAM on each frame
* Make items float up and down a little bit
## Player
* ~~Movement ~~
* ~~Jump physics ~~
* Velocity should not exceed 7px per frame
* Animations
* Keep track of animation state
* Update metasprite tile indexes on new frame
* Add jumping animation
* Add walking animation
* Create inventory data structure
* Add inventory item
* Remove inventory item
* Check for having at least N of an item
* Player item pickup to inventory
* Remove item from map
* When pickup button pressed and player colliding with item, pick up item
* Combat statistics type
* Basic attack by pressing A
* Display attack animation
* Implement battle formula
* Connect to button press
## Menu
* Menu UI
* Render start menu
* Select menu item
* Switch between menu and game states
* Render statistics screen
* Render equipment screen
* Player inventory
* Render inventory screen
* Allow selecting an inventory item
* Equip/use/drop item
## Monsters
* Monster entity type
* Render monster
* Create data structure for storing monsters on the map
* Generalize player metasprite code
* Update player attack routine to check for monster collision
* Death
* Play death animation
* Drop items from drop table
* Remove monster from map
* Player experience / level up routines
* Allow point distribution in stats menu
* Attacks
* Play attack animation
* Check for player collision and damage player
* Translate monster position along a closed curve
* Randomly pace to the left/right
## NPC
* NPC entity type
* Render NPC
* Create data structure for NPCs on map
* Use metasprite code for NPCs
* Scrolling text display engine
* Render NPC dialogue
* Dialogue prompt
* Render modal with yes/no answer buttons
* Cursor to select button
* Run NPC dialogue handler when answer given
## Quests
* Extend dialogue to display item requests
* Keep track of completed quests
* Display icon above NPC when a quest is available
## Nice to have
* Metasprites of different sizes? (Could enable boss monsters)
* Animated damage number for attacks
* Player name select