The project is currently in development of v0.0.4-alpha, focusing on implementing a Minecraft-inspired crafting system, building system, and basic ecosystem elements. The code base is compiling but with several issues that need to be addressed.
- Issue: There's a critical typo in the EntityManager.cs file where the system lists are declared as
List<s>instead ofList<System>. - Location: EntityManager.cs lines 17-19
- Impact: This is likely causing compilation errors.
- Fix Required:
private readonly List<System> _systems = new(); private readonly List<System> _systemsToAdd = new(); private readonly List<System> _systemsToRemove = new();
- Issue: Game1.cs references PlayingState in the States directory, but the actual file is in Source/States/PlayingState.cs.
- Impact: This might be causing initialization issues if the wrong file is being used.
- Fix Options:
- Update the reference in Game1.cs to use the correct path
- Ensure PlayingState.cs is in the correct location with proper namespace declarations
- Issue: The crafting system components are implemented but not properly wired up.
- Missing Elements:
- Proper initialization of
_recipeManagerand_craftingSystemin PlayingState - Registration of input actions for crafting
- Initialization of CraftingUI in LoadContent method
- Update calls for crafting UI in the game loop
- Proper initialization of
- Impact: Crafting functionality is present in the code but not accessible or visible in-game.
- Issue: Player sometimes spawns in invalid locations (water or outside map).
- Fix: Implement the enhanced player spawn code that spiral-searches for a valid position.
- Issue: Tree harvesting and other resource gathering functions may not be working properly.
- Areas to Investigate:
- Tool requirements for different environmental objects
- GatheringSystem interaction with EnvironmentalObjectComponent
- Resource creation and inventory additions
- Issue: Item stacking and movement in inventory has bugs.
- Focus Areas:
- Proper implementation of CanStack functionality
- Consistent resource duplication avoidance
- Drag-and-drop functionality in InventoryUI
- Correct the EntityManager.cs type declarations
- Resolve the PlayingState file location/reference inconsistency
- Implement correct crafting system integration based on the integration guide
- Fix player spawn position logic to ensure valid starting locations
- Debug and fix resource gathering mechanics
- Resolve inventory item management bugs
- Ensure all crafting recipes are properly registered
- Verify crafting UI functionality
- Test complete crafting workflow from placing items to receiving results
- Create comprehensive test cases for all fixed issues
- Update documentation to reflect current implementation status
- Document any remaining known issues
- Make code fixes in priority order
- Test each fix to ensure it resolves the specific issue
- Create GitHub issues for tracking and documenting the bugs and fixes
- Update project documentation after important changes