Skip to content

Latest commit

 

History

History
221 lines (166 loc) · 3.99 KB

File metadata and controls

221 lines (166 loc) · 3.99 KB

🌾 Farm Simulator

A browser-based farming simulation game built from scratch using HTML5 Canvas, CSS, and Vanilla JavaScript.

Status Version License


📖 About

Farm Simulator is a 2D farming simulation game currently under active development. The goal of this project is to create a complete farming experience entirely from scratch without using any external game engine or JavaScript framework.

Instead of relying on existing libraries, every major system—including the game loop, rendering engine, camera, world generation, player movement, farming mechanics, inventory, economy, and save system—is being designed and implemented manually.

This project serves both as a learning journey and as a demonstration of software architecture, clean code principles, and game development using modern JavaScript.


🚀 Current Version

v0.2.0 – Core Farming Complete

✅ Completed Features

Engine

  • Project Setup
  • Game Loop
  • Camera
  • World Generation
  • Tile Registry

Farming

  • Hoe Tool
  • Seed Planting
  • Watering
  • Crop Growth
  • Harvesting

Systems

  • Inventory
  • Hotbar
  • Item Registry
  • Crop Registry

🚧 Currently working on Sprint 2.5 – Visual Polish

🌍 World

  • Trees
  • Rocks
  • Flowers
  • Procedural decorations
  • Expandable farm

🏪 Economy

  • Shop system
  • Coin system
  • Buying & selling
  • Farm upgrades

🌦 World Systems

  • Day & Night cycle
  • Weather
  • Seasons
  • Save & Load
  • Auto Save

🏡 Living World

  • NPC Villagers
  • Animals
  • Fishing
  • Events
  • Exploration

🔥 Future (Hard Mode)

  • Hunger
  • Stamina
  • Wildlife
  • Survival mechanics
  • Dynamic difficulty

🛠 Tech Stack

  • HTML5
  • CSS3
  • Vanilla JavaScript (ES6+)
  • HTML5 Canvas
  • Git
  • GitHub

🧠 Technical Highlights

  • Object-Oriented Design
  • Modular Architecture
  • Procedural World Generation
  • Data-Driven Tile Registry
  • Brush-Based Terrain Generation
  • Camera System
  • Collision Detection
  • Custom Input System
  • Tool System
  • Clean Git Workflow

📂 Project Structure

FarmSimulator/
│
├── assets/
├── js/
│
├── README.md
├── TODO.md
├── DEVLOG.md
├── CHANGELOG.md
├── LICENSE
└── index.html

📅 Development Roadmap

✅ Sprint 1 — Engine Foundation

  • Project Setup
  • Game Loop
  • Camera
  • Player Movement
  • Procedural World
  • Brush System
  • Tile Registry
  • Hoe Tool

🚧 Sprint 2 — Core Farming

  • Item Registry
  • Inventory
  • Seeds
  • Watering Can
  • Crop Growth
  • Harvesting

⏳ Sprint 3 — Living World

  • Trees
  • Rocks
  • Flowers
  • World Decoration

⏳ Sprint 4 — Economy

  • Shop
  • Money
  • Farm Expansion

⏳ Sprint 5 — Save System

  • Save / Load
  • World Seed
  • Player Progress

⏳ Sprint 6 — Polish

  • Pixel Art
  • Animations
  • Sound Effects
  • UI Improvements

🎯 Learning Goals

This project focuses on improving practical skills in:

  • JavaScript
  • HTML5 Canvas
  • Game Development
  • Object-Oriented Programming
  • Software Architecture
  • Git & GitHub
  • Debugging
  • Performance Optimization

🤝 Development Workflow

Every completed milestone follows a structured workflow:

  • ✅ Planning
  • ✅ Development
  • ✅ Testing
  • ✅ Git Commit
  • ✅ Git Push
  • ✅ TODO Update
  • ✅ DEVLOG Update
  • ✅ CHANGELOG Update
  • ✅ Git Tag
  • ✅ GitHub Release

🌟 Vision

The long-term vision of Farm Simulator is to become a polished browser-based farming game featuring procedural world generation, relaxing gameplay, expandable farming mechanics, and clean software architecture.

Beyond creating a game, the project aims to demonstrate how medium-sized JavaScript applications can be designed, organized, and maintained using professional development practices.


📜 License

This project is licensed under the MIT License.


⭐ If you like this project, consider giving it a star!