Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including fields-of-arle with all npm packages installed. Try it out:

fields-of-arle lists no main file and has no index.js, so it can't be directly required. If this is a mistake, please let us know. It may however contain internal files that you can require manually:

// require("fields-of-arle/[??]")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

fields-of-arle v0.2.0

Fields of Arle on

Depfu codecov

This is an implementation of Fields of Arle to play online. It takes the following approaches:

  • State shape should be similar to the physical board. The G schema should be intuitive
    • e.g. we could keep a count of each animal and have the view figure out where they live on the farm, however instead keep the location of each animal on the land/tableau.
    • Simple, fungible objects with infinite supply (such as a timber), which will not ever have anything resting on top of them should be stored as a string. Inventory is represented as ['clay','clay','clay'], rather than {clay: 3}.
  • Derived data are handled by React views.
    • Which land tiles are flooded is calculated on the client.

Setting Up

  • Get node 8.12
  • Get npm 6.4.1
  • Checkout the repo and install with npm install
  • Run the site with npm run start


This is mostly an academic passion project. As such, it has turned into an exercise for me to learn how babel works, or how eslint works, or how functional programming works. As such, I make no guarantees for code quality. Always be learning.


I have resolved to make a commit a day on this project. We'll build something cool someday.

Bugs & Contributing

If you find a bug, please open a Github issue or better yet a PR. My email should be in the git logs, if you'd like to contact me.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free