## ~~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
|