- Move the rabbit with the cursor, arrow keys, or WASD keys to complete assigned tasks.
- Make choices in the game that will impact the rabbit's happiness and health.
- Allow the user to adopt another rabbit. Simulation the consquences of not spaying/neutering.
- Learn how to care for a rabbit through educational knowledge that pops up throughout the game.
- A rabbit happiness gauge that will change based on the user's actions.
- A budget to emphasize the monetary commitments of owning a rabbit.
- A scrollable sidebar with care tips related to tasks through the game.
- Dropdown links with resources for learning more about bunny care.
- Mutable music.
- Information and bunny icons that shows/hides information when clicked.
- Resizable browser that will hide care tips for small screens.
- Cursor input that calculations new offsets and canvas size to accurately move the bunny.
- Background drawn with canvas code.
- Auto decremting hay to simiulate bunny eating.
- Rabbit name will display the user’s chosen rabbit name
- The task bar will display to the user the current task that should be completed to progress in the game.
- The play area display will be where the user can interact with the rabbit. The happiness gauge and budget will be displayed here.
- The right side will display a sidebar will all the care tips the user has learned so far about rabbit care.
- The bottom will display links to the GitHub repo for the project, my LinkedIn page, as well credits for resources used for this project.
- Canvas API will be used to render the room and animate the movements of the rabbit.
- Webpack, Bable, and npm to compile our modules and to transpile files to be supported by older browsers.
- Google Fonts for the text.
- Prep before project begins: Become familiar with Canvas API. Create the project files and determine the file structure for the project.
- Day 1: Create the underlying game logic functions for the game and lessons classes.
- Day 2: Continue developing the basic framework to run the game. Unit and integration tests for the game and lessons code to ensure the game is running as intended.
- Day 3: Create designs for the room and rabbit.
- Day 4: Incorporate the designs for the room and rabbit to the game play. Work on all displays.
- Day 5: Integration testing to make sure all functions are working as intended. Add more more complex game tasks and add to the game.
- Day 6: Add all rabbit care facts and link to resources for the user to learn more about rabbit care.
- Day 7:Work out all the bugs in the game and incorporate bonus features if there is time. Deploy to github.
- Add more lessons to the game.
- Allow the user to choose between an idealistic and realistic mode. (Idealistic mode will hide more dangerous situations a rabbit might encounter in real life. This is better for a younger user.)
- Incorporate an adoption website’s API to display real rabbits available for adoption.