Skip to content

dnouri/infarmous

Repository files navigation

🌾 Infarmous

Infarmous logo

A multiplayer farming and fishing game on Roblox, vibe coded entirely with pi-coding-agent; an AI coding assistant.

▶️ Play on Roblox

What Is This?

Infarmous is a cozy (perhaps too cozy?) multiplayer farm game where you grow crops, catch fish, upgrade your barn, and sell your harvest. It's created using the roblox-pi-template base template and was developed entirely using AI-assisted programming (see AGENTS.md).

Features

  • 🌱 Farming — Plant 6 crop types from quick Potatoes to overnight Pumpkins. Crops grow while you're offline! Tomatoes regrow 3 times
  • 🎣 Fishing — Cast your line at the pond. Quick reflexes catch rarer fish
  • 🏠 Barn upgrades — Expand your farm with upgradeable barns and extra plots
  • 💰 Economy — Sell crops and fish to NPCs, buy seeds and upgrades
  • 🏆 Achievements — Earn XP and unlock badges for farming milestones
  • 🎸 Ambient guitar — Gentle chords play at dawn, dusk, rain, and special moments
  • 🎁 Daily gifts — Come back every day for streak rewards
  • 👥 Multiplayer — Farm alongside friends with separate plots

Project Structure

src/
├── server/     → Server scripts (game logic, data, world setup)
├── client/     → Client scripts (UI, input, visual effects)
└── shared/     → Shared modules (configs, utilities, data management)
scripts/        → Dev tooling (test runner, deploy helpers)

Architecture

Game logic lives in src/shared/ as testable modules. Server scripts in src/server/ wire them together. Client scripts in src/client/ handle UI and visuals.

Key modules:

  • PlayerDataManager — Persistence, economy, achievements, session tracking
  • Remotes — Centralized client-server communication
  • EconomyConfig / CropUtils / FishConfig — Game balance as pure data
  • MCPBridge — Lets dev tools inspect live game state across VM boundaries

Tests run with Lune outside Roblox Studio.

Development

Prerequisites

Setup

git clone https://github.com/dnouri/infarmous
cd infarmous
make setup

Workflow

make serve       # Start Rojo live sync to Studio
make test        # Run unit tests
make check       # Lint + format check
make publish     # Build and publish to Roblox

Edit .luau files in src/ — Rojo syncs them to Studio in real-time. Press F5 in Studio to play-test.

Commands

Command Purpose
make setup Download tools + install Studio plugins
make serve Start Rojo live sync
make test Run all tests (30s timeout)
make check Lint + format check
make fmt Auto-format code with StyLua
make build Build .rbxl file
make publish Publish to Roblox (requires .env)
make mcp-start Start MCP server for live debugging
make mcp-stop Stop MCP server
make grant-asset-permissions Grant asset access to your experience
make verify Check environment setup

Live Debugging

Start the MCP server (make mcp-start) and connect the Studio plugin. Then ask pi to inspect live game state:

What parts are in workspace?
How many coins does the player have?

See .pi/extensions/studio-mcp/README.md for details.

Tools

Tool Purpose
Rojo Syncs code to Studio
Lune Standalone Luau runtime (tests)
Selene Luau linter
StyLua Luau formatter
rbxcloud Publishing + asset uploads

Built With

This game was built from roblox-pi-template using AI-assisted development. The template provides the toolchain (Rojo, Lune, Selene, CI) and pi-coding-agent writes the game code.

License

MIT

About

Multiplayer farming game for Roblox, entirely vibe coded!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages