It's been a long time since the last post. Back in August I said expect more trains, and there are now more trains. There is also a fairly unreasonable amount of other things, so I'll try to focus on the big things.

The steam railway

The farms world now has two steam railways, with actual rails, tunnels and stations. They connect the various islands of Greenhill.

Automatia screenshot: A railway bridge winding past Hidden Respite

The first trains took you from one world to another. This one takes the long way around the world you're already in, and has NPCs that travel with it. It has a timetable, a crew, day tickets and beds for overnight journeys. Some of the townspeople ride it too, so someone being away can now mean they're sitting on a train somewhere.

Automatia screenshot: Wren checks your starlight before selling a ticket

Building a home

The players starter island was already editable in the last few posts, but the starter house (and the field) was still an upgradeable plot. That was a bit silly when the land around it was free to build on.

You can now fix the old house, expand it, or just build somewhere else. I think that has always been the plan, I just refused to let go because I liked the deed activation animation. It's completely idiotic. The game now looks at the house around the bed you sleep in: enclosed rooms, furniture, light and comfort. A better home gives a better rested effect, and the Home tab (in the inventory) tells you what it thinks is missing.

This also means the game has to understand where your home actually is, rather than assuming you live inside a particular box forever. The companion dog (dog companion?) needed to know, for example.

For people who would rather have someone else do the building, Tobias the carpenter now sells blueprints. You choose a building and a place for it, and he builds it in stages. Money buys a building now, which seems more reasonable than buying permission to put a roof on one. Just a FYI, I made all those blueprints and they are all complete ass. But, it's fun watching him build stuff over a few days.

More neighbours, more town

The town has gained shops, interiors and quite a few people. There's an outfitter with a sewing machine for making and dyeing/recoloring clothes, a carpenter, and a proper barber shop. Nim's chair is now where you change your character, and other playable models are unlocked through friendship rather than just saying hello.

I've spent a lot of time on what everyone does during the day. They work, visit each other, change clothes with the seasons and meet in the inn. Conversations have also had a lot of work, including gestures and camera framing. I've also added (yes, I really didn't have this before): Moving mouths (for talking), blinking eyes (and closed when sleeping). Also added some sway to ears, antennas, tails etc. Everything helps.

Automatia screenshot: Lunch at Hazel's farmstead

The Dragon Inn now "has" a weekly card tournament against the regulars (it's completely broken/buggy, but it's a fun idea I will continue working on). There are arcade cabinets now too, including a pinball machine.

Farming, animals and steam

The barn work I kept promising in the earlier posts is finally in. You can restore the barn and coop, keep animals, feed them, let them graze and collect their produce. Their happiness matters, and so does having somewhere sheltered when it gets cold.

I've also replaced the old flat vanilla crops with new fancy ass 3D fantasy crops. Cooking and food effects have also changed quite a bit along the way, but everything is still being tuned.

The bigger addition is steam machinery. Boilers, tanks and pipes supply steam to machines, while conveyors, extractors and splitters move items around. There are machines for harvesting, pressing, drying and other jobs, and existing things like apiaries and kegs can be automated too.

So you can do things by hand, or spend a considerable amount of time building something that does them for you. I suspect some people will know exactly which of those they want to do.

Reasons to go outside

There's a lot more wildlife now, including deer, foxes, mossbacks and thornbacks. Tawny (an owl NPC) helps you keep a field journal: watch creatures for long enough and she writes up what you've seen.

Fallen stars are now collectibles with their own progression. You place them on branches of Tawny's star chart to gain benefits and open new efforts. It gives finding something out in the world a use beyond selling it.

Automatia screenshot: Wren checks your starlight before selling a ticket

You also need stars to go to far away places.

Under the hood

There's now a Godot client, which has also become my world editor. It lets me work on rooms, NPC routines, shops, cutscenes and railway routes without doing quite so much of it by hand. A lot of the new content came out of that work. I posted a 3-second YouTube video showing it, if you missed it. Go watch those 3 seconds.

I've added an Android client with touch controls. It didn't take much work outside of the toolchain and build scripts, since it's more or less the same GL as browser WASM. The large unfinished work left is full touch support. Anyone who wants to play the game with touch only on their phone expect certain things to be made easy, like going places. This also means there has to be a leaderboard separation between people who play with kbd+mouse or controller and those that automatically walk places via menuing.

The last week I've been working on getting the game to work on my Android TV natively. It's been a wonderful kind of hell. Still less than 30 fps, but.. it works. Doesn't crash. I can play the whole game on my TV, I think. My Scepter TV has a 32-bit ARMv7 4-core. I needed to fix up libriscv's libtcc JIT to support it. The bounds-checked script produced code that was bigger than ARMs jump range, so I got random hard to debug crashes. Switching it over to a masked address space (so no bounds checks, just addr & (size-1)) reduced the size substantially, enough to ... nope. I also had to set a maximum instruction count on the translation, so it stopped at a reasonable size. But yeah, I am actually playing my game natively on my Android TV with libriscv+JIT as scripting backend. Cool shit! I just wish it had stable 30fps at 128 view distance. Currently it's semi-stable and quite playable at 96 view range. Using a half-refresh vsync (double interval) makes it feel better.

Final thoughts

The biggest difference now compared to before, is how much more there is to do between crops and sleeping. I jest. You can work on a house, build machinery, go looking for animals, take a train somewhere or lose at cards. The arcades were also way more popular than I'd hoped. You know, you kinda hope that the real game is the main attraction, but apparently playing snake as if on a 286 is what people really want. Not complaining though, I've fallen in love with the Forager arcade game. I'm sitting here thinking maybe the arcades should be available from the login screen, or something.

Another thing I've realized is that Automatia has slowly become something like a place simulator. I'm thinking that what it lacks the most now is authenticity and other things like that, that help with immersion. I think that there is still a shallowness to the NPCs stories that limit their authenticity. It's getting better over time, though.

Thanks for reading. Bye.

-gonzo