A modular, data-driven 2D game engine built entirely from scratch using HTML5 Canvas and Vanilla JavaScript.
Farm Simulator is the first game powered by Harvest Engine, demonstrating modern game engine architecture without relying on external engines or frameworks.
Harvest Engine is a custom JavaScript game engine focused on creating scalable 2D simulation games.
Every core system is designed from scratch, including rendering, world generation, interactions, gameplay, UI, and asset management.
The engine emphasizes:
- Modular Architecture
- Separation of Responsibilities
- Data-Driven Design
- Reusable Systems
- Clean Project Structure
- Engine-first Development
Farm Simulator is the first game built using Harvest Engine and serves as both a farming simulation and a showcase of the engine's capabilities.
- Game Loop
- Input Manager
- Camera System
- Renderer
- Asset Manager
- Collision System
- Particle Manager
- Effects System
- Procedural World Generation
- Farm Generator
- Brush System
- Tree Generation
- Terrain Generation
- Grass Variation
- Soil Rendering
- Starter Farm Generation
- Hoe Tool
- Seed Planting
- Watering
- Crop Growth
- Harvesting
- Coin System
- Shop Manager
- Sell Manager
- Shop Registry
- Buying System
- Selling System
- Building Registry
- House Builder
- Building Renderer
- Layered Roof Rendering
- Building Collision
- Shipping Bin
- Mailbox
- Farm Object Registry
- Farm Object Renderer
- Data-Driven Interactions
- Inventory
- Inventory UI
- Hotbar
- Item Registry
- Item Stacking
- Item Removal
- Shop UI
- Keyboard Navigation
- Item Purchasing
- Coin Display
- Generic Interaction Manager
- Data-Driven Interaction Routing
- Shipping Bin Interaction
- Mailbox Interaction
- Terrain Renderer
- Soil Renderer
- Building Renderer
- Farm Object Renderer
- Crop Renderer
- Tree Renderer
- Layered Rendering Pipeline
- Harvest Particles
- HTML5
- CSS3
- Vanilla JavaScript (ES6+)
- HTML5 Canvas
- Git
- GitHub
- Modular Architecture
- Data-Driven Registries
- Data-Driven Interactions
- Builder Pattern
- Generator Pattern
- Manager Pattern
- Layered Rendering
- Custom Collision System
- Procedural World Generation
- Reusable Rendering Systems
- Scalable Engine Design
Game
β
βββ Input
βββ Camera
βββ World
βββ Renderer
βββ Player
βββ Inventory
βββ Hotbar
βββ Interaction Manager
βββ Shop Manager
βββ Sell Manager
βββ Asset Manager
βββ Particle Manager
βββ Effects
βββ Registries
FarmSimulator/
β
βββ assets/
β
βββ js/
β βββ core/
β βββ world/
β βββ rendering/
β βββ gameplay/
β βββ ui/
β βββ registries/
β βββ utilities/
β
βββ README.md
βββ ARCHITECTURE.md
βββ CHANGELOG.md
βββ DEVLOG.md
βββ ROADMAP.md
βββ LICENSE
βββ index.html
- Game Loop
- Camera
- Input
- Player Movement
- World Generation
- Brush System
- Tile Registry
- Inventory
- Hotbar
- Farming
- Crop Growth
- Harvesting
- Asset Manager
- Tree Renderer
- Crop Renderer
- Particle Manager
- Effects System
- Building System
- Farm Generator
- Building Renderer
- Farm Objects
- Layered Rendering
- Fence System
- Soil Renderer
- Environment Improvements
- Starter Farm Generation
- Coin System
- Shop System
- Shop UI
- Shop Manager
- Sell Manager
- Generic Interaction System
- Data-Driven Interactions
- Building Interaction Framework
- NPC System
- Dialogue System
- Quest System
- Weather
- Seasons
- Animals
- Fishing
- Mining
- Crafting
- Save / Load
- Audio
- Lighting
- π ARCHITECTURE.md β Complete engine architecture
- π CHANGELOG.md β Version history
- π± DEVLOG.md β Sprint-by-sprint development
- π£ ROADMAP.md β Planned milestones
This project focuses on mastering:
- JavaScript
- HTML5 Canvas
- Software Architecture
- Game Engine Development
- Data-Oriented Design
- Rendering Pipelines
- Procedural Generation
- Git & GitHub
- Performance Optimization
Every feature follows the same workflow:
- Planning
- Architecture Design
- Implementation
- Testing
- Refactoring
- Documentation
- Git Commit
- Version Release
Harvest Engine is designed to become a reusable JavaScript 2D game engine capable of powering multiple simulation games.
Farm Simulator serves as the flagship project, showcasing how modern engine architecture can be built entirely from scratch without external game engines.
π©π©π©π©π©π©π©π©β¬β¬ 80%
π©π©π©π©π©π©π©β¬β¬β¬ 70%
π©π©β¬β¬β¬β¬β¬β¬β¬β¬ 20%
The engine foundation is largely complete. The next development phase focuses on expanding the game world with buildings, NPCs, dialogue, weather, and additional gameplay content.
Licensed under the MIT License.
β If you enjoy the project, consider giving it a star!