Tiny Farm

Context

Cultivate a procedurally generated landscape into the serene farm of your dreams!

Developed as a personal project to experiment with terrain generation techniques and a variety of shaders.

Tools Platforms Inputs

Highlights

  • Developed a procedural generation system for shaping terrain and distributing environmental assets, creating a unique and diverse world for every playthrough
  • Applied frustum culling techniques to improve framerates by 25% for large, dense farms
  • Authored an HLSL shader to combine multiple terrain types and weather effects into a single draw call

Play in Browser

Dynamic Environment

  • Procedurally generated terrain creates gentle hills, valleys, and lakes with a variety of biomes
  • Audio system highlights sounds within the player's view, making the world feel alive without being overcrowded
  • Soundscapes, lighting, wind, and rain vary based on weather

Object Culling

  • Objects are grouped into sectors that are disabled once they leave the camera's view
    • Improved framerate by ~25%
  • Crop updates are batched and distributed between frames, improving performance for large farms

Crop Growth

  • Crop state machine drives sizes, colors, and duration of crop growth
  • Growth stages are configured on scriptable objects for efficient iteration
  • Terrain hydration affects growth and alters crop appearance

Gallery