Planned features list - atangster/food-waste-game GitHub Wiki
Core features for MVP
- Basic Game Mechanics
- Dish matching logic: fundamental part of game. Ability to match dishes with guest preferences and dietary restrictions
- Ingredient selection: players should be able to select ingredients for dishes, even if it's just from a simple list or grid to start with
Update
Dish Matching
- Dietary restrictions:
doesSatisfyDietaryRestrictionsfunction to check that dishes comply with guest restrictions.- Calorie Matching:
calculateCalorieScoreprovides the foundation for evaluating how well a dish suits a guest's calorie goals.- Scoring:
submitDishfunction implements a base scoring system that rewards matching guests with dishes.Ingredient Selection
- Draggable Ingredients:
IngredientWidgetis set up withDraggable, allowing users to interact with ingredients.- Preparation Area:
PreparationAreawithDragTargetfunctionality to let players assemble their dishes from selected ingredients.This is solid for an MVP, as it allows for the following core gameplay loop:
- Players view guest profiles with dietary restrictions and preferences.
- They select ingredients from the available options.
- Players drag and drop ingredients into the preparation area to build a dish.
- Dishes are submitted, checking against guest needs, and generating a score impact.
- Guest Interaction
- Guest profiles: display a limited number of guest profiles with basic information like dietary needs and preferred dishes
- Feedback system: provide simple feedback when a dish is served, such as correct or incorrect, with minimal animations or effects
Update
- Guest Profiles:
GuestProfileWidgetdisplays guest dietary restrictions and hints at preferences- Feedback mechanism:
_showFeedbackfunction inGameStateuses Snackbars to communicate "Correct" or "Try again!"- Testable Game loop: Players can now:
- View guest needs
- Assemble dishes from ingredients
- Receive basic feedback after submitting a dish
Next steps:
- Test engagement: do players find the dish creation and feedback loop fun?
- Gather feedback: get early player input on what kind of scoring/difficulty progression feels most rewarding
- UI/UX
- Main menu: start with very basic menu with options to begin game or quit
- Game screen: a straight forward interface where the game mechanics take place
- Navigation controls: include basic controls like pause, resume, and exit to main menu
- Graphics and sound
- Basic graphics: use placeholder graphics or simple free assets. Focus is on functionality, not final art
- Sound effects: implement a few essential sounds for actions like selecting ingredients or serving dishes to enhance the user experience
Secondary Features for Post-MVP
- Enhanced UI/UX
- Polished UI elements: upgrade from basic placeholders to more refined and thematic graphics
- Animations: add smooth transitions and animations for a more professional feel
- Advanced Game Mechanics
- Level progression: introduce levels of increasing difficulty with more guests and complex dietary restrictions
- Score system: develop a more elaborate scoring system that takes into account various factors like time, accuracy, and waste
- Additional content
- More ingredients and recipes: expand variety of ingredients and possible dishes
- Educational content: integrate facts about food sustainability and endangered species
- Social features
- Leaderboards: introduce online leaderboards for competitive play
- Social sharing: allow players to share scores or favourite recipes on social media
- Technical enhancements
- Optimisation: improve game performance and optimise for various devices
- Multiplatform support: make game available on additional platforms