- Created the Harvest Engine architecture.
- Implemented the game loop and renderer.
- Added smooth player movement.
- Implemented camera follow.
- Built a procedural world generator.
- Added reusable Brush System.
- Implemented Tile Registry.
- Added player collision with water.
- Added hoe tool.
- Added player facing direction.
- Implemented tool cooldown.
- Fixed Git detached HEAD issue.
- Refactored movement using axis-separated collision.
- Replaced hardcoded tile logic with a data-driven Tile Registry.
- Improved world generation using reusable brushes.
- Designed the Item Registry.
- Added the Crop Registry.
- Implemented the Inventory System.
- Created the Hotbar System.
- Added item selection.
- Implemented seed items.
- Added crop planting.
- Rendered planted crops.
- Improved the Hotbar UI.
- Added item quantity display.
- Refactored item usage to use the Hotbar instead of directly accessing the Inventory.
- Improved rendering architecture by separating world rendering from UI rendering.
- Fixed Canvas rendering state issues affecting the world grid.
- Improved Hotbar rendering and item selection feedback.
- Canvas rendering state should be isolated using
ctx.save()andctx.restore(). - Registries make gameplay systems scalable and easier to maintain.
- Separating data (registries) from behavior (player, world) leads to cleaner architecture.
- UI systems should remain independent from gameplay systems.
- Watering Can
- Crop Growth
- Harvesting