Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add simple inventory #12

Open
4 tasks
brylie opened this issue Nov 21, 2022 · 0 comments
Open
4 tasks

Add simple inventory #12

brylie opened this issue Nov 21, 2022 · 0 comments
Milestone

Comments

@brylie
Copy link
Member

brylie commented Nov 21, 2022

We aim to develop a comprehensive inventory system for our educational game that allows players to collect, manage, and use various items throughout different locations, like their home and school. The inventory system will support interactions such as adding, removing, and using items and will feature a dynamic grid that expands as the player progresses in the game.

Design Goals

  • Interactivity: Players should be able to interact with items throughout the game world and manage these items within a user-friendly inventory interface.
  • Scalability: The inventory should start with a limited number of slots and expand as the player achieves specific milestones or progresses through the game.
  • Usability: The inventory UI must be intuitive, allowing players to easily manage their collected items, including adding, removing, and using these items.

Key Components

  1. Global Script (Inventory Manager): Manages all inventory-related functions, including item tracking, slot management, and interaction rules.
  2. Inventory Item: Each item's behavior and properties, including pickup and use effects.
  3. Item Spawner: Controls the spawning of items within the game world for players to collect.
  4. Interaction Sensor: Detects player interactions with items enabling item pickup.
  5. Inventory Grid: A dynamic grid that organizes and displays items within the player's UI.
  6. Inventory UI: A graphical interface that players use to interact with their inventory, designed for clarity and ease of use.

Implementation Considerations

  • Ensure modularity in the design so each component can be developed and maintained independently.
  • Utilize a data-driven approach for item definitions to facilitate easy updates and modifications.
  • Optimize for performance, especially when managing large numbers of items, potentially using techniques like object pooling.

Development Tips

  • Start with basic prototypes of each component to ensure foundational systems work correctly before expanding.
  • Involve end-users early in the process through testing prototypes to gather feedback and refine the system.
  • Regularly review and refactor the system based on user feedback and technical requirements.

Reference Material

For guidance on implementing a dynamic slot-based inventory system in Godot 4, please refer to the following YouTube playlist which provides a detailed tutorial series: Godot 4 Dynamic Slot-Based Inventory System Series

Action Items

  • Draft initial design documents outlining the inventory system.
  • Create prototypes for each of the key components.
  • Set up initial user testing sessions to evaluate the usability of the inventory system.
  • Review and integrate feedback into the development cycle.

Please carefully consider the implementation of this feature as it is central to the gameplay experience and integral to achieving the educational objectives of our game.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

1 participant