KIungefiltert

· 4 min read · Auf Deutsch lesen

Farmeramania: a game for ten people at most

A farming game for Mac and Windows, kept as a private experiment with ten players at most. With seed breeding, a village square with end-to-end encrypted chat, and characters that can talk through an AI.

builtgamesRust

Translated from the German original with an AI language model, approved by me. Read the original

Farmeramania is a game I built. It runs on Mac and Windows and is deliberately small: a private, non-commercial experiment with ten participants at most. When I started writing this, it was version 0.1. It is now 0.3.1, and more happened in the nine days in between than I expected.

Why so small?

Because I do not want to know how it does in front of a thousand people. I want to know how it feels with ten. With only a few players I can read every piece of feedback, trace every bug and fix things fast, without a support department.

If you want to play, you ask for a personal access code. As long as there are free spots, you get one. Save games stay on your own computer.

What is inside

  • The game core is written in Rust and holds all the rules. It runs without graphics and has its own tests; the game and the server both use it unchanged.
  • An automated pipeline builds the Windows version. I build the Mac versions myself.
  • The website runs as a small worker on Cloudflare, with an intro video and a download area.

The seed room

From level 50 on there is a seed room. You cross plants, name new varieties, collect them in a seed book and show them off in a variety show. Varieties only change how plants look, not the game values. That was deliberate: if you do not want to breed, you lose nothing.

I did not tune the balance by gut feeling, I simulated it. Getting from level 50 to 100 takes 26 days in the simulation, and a bit over a quarter of the experience points come from the seed room. Along the way I had to nerf trees: they gave so many points that nothing else was worth doing.

The village square

Since version 0.3 you no longer play only on your own. There is a game server and a shared village square: one chat for all players, plus messages when someone reaches a level or breeds a rare variety. Everyone can switch those messages off for themselves.

I took the chat more seriously than ten people strictly need. It is end-to-end encrypted with MLS (Messaging Layer Security), an open standard for group chats. The server only delivers messages and cannot read them. On top of that comes post-quantum cryptography, meaning methods that even a future quantum computer should not break: key exchange with ML-KEM and X25519 combined, signatures with ML-DSA. The connection to the server is protected the same way and runs through a Cloudflare tunnel instead of open ports.

To be honest: the combination I use is still an IETF draft, not a finished standard. The game says so too. Among other things I tested what happens when the server lies, faking a sender or swapping messages. The game then shows none of it, only a warning. I still think an independent look at the implementation makes sense before I rely on it.

Characters that talk

Characters walk around the farm, do work, and you can talk to them. With a local language model they answer freely; without one, the answers come from templates. Since 0.3.1 the game starts without AI, and you switch it on in a conversation with "Talk with AI". The reason is simple: most players do not have a language model on their computer, and a game should not stall just because an AI is missing.

The radio

Along the way, Farmaradio came about: a web radio as a web component that you can add to any page with a single line. It started out just for the game, is now a small project of its own, and also plays in the game's footer.

The most annoying part was not playback but browser security rules: which site may load audio from which other site? That cost me an evening and is now handled with two lines.

What comes next

Nothing, for now. Development is on hold until a few people have joined. A village square without a village makes little sense, and I do not want to keep building things nobody has tried yet.

The plans are ready in the drawer anyway. Next would be the village show: a weekly round where everyone shows their best varieties and the top ones win a prize. After that, the same farm should run on a second computer, Mac in the morning and Windows in the evening.

One open question is where the characters' AI should run once more people use it. On the player's own machine it costs nothing but needs a strong computer. On my server or with a provider, the typed text would leave the device. I want that properly sorted before I offer it.

What comes, and in what order, is up to the people who play. If you want in, ask for an access code at farmeramania.de.