Skip to content
Zizeeria
Menu

News

The first thing you can make

Milestone

Release 0.1.20 carries the first craft: a panel on P, five professions, thirty-six recipes read from the world's own data, and a server that keeps the clock. Also the first thing a server compiler refused that a desk compiler had let through for four days.

Until this release a character could walk, jump, look at reeds and be counted. Now it can make a thing. Press P and a panel opens: a rail of five professions, a list of what each one knows, and a column that says what a recipe needs and what your bag holds against it -- four of four cut reed, two of two hide cord, none of one bog iron, in a warning colour where you are short. One button. It sends the recipe's name to the server and nothing else.

That last sentence is the whole design. The server holds the recipe, the timer and the bag; the client holds a picture of them. When you press CRAFT the zone checks that you are admitted, that you are not already crafting, that the recipe exists, and then runs the recipe's own time on its own clock, watching four times a second for the things that should stop it: a death, a lost body, or a step further from where you started than the world allows. The distance is a number in the database, not in the code, so it can be tuned without a build. When the clock runs out the zone asks the character service for the craft under one key, exactly once, and reads the answer back into your bag. If the network drops between the two, the same key is retried and the service answers the same way, which is what keeps a flaky connection from making two swords out of one set of parts.

Thirty-six recipes across five professions -- smith, herbalist, cook, builder, cartographer -- all of them rows in the same tables the site's content editor already publishes, so a recipe is a thing a person types and a version number moves, not a thing a programmer ships. The stations the recipes name (a forge, an herb bench, a firepit) are not in the world yet; the zone counts the check it would have made and lets the craft through, and says so in its log, which was chosen over pretending the huts had anything in them.

What it cost was the release itself, because a client and a server that share a new message have to go out together, and the server is built on a different machine with a different compiler. The Windows compiler had accepted, for four days, a route pattern written inside a comment -- the kind of thing that reads as documentation and is, to clang, a nested comment and an error. The server build died on it at the first attempt, both files were reworded in words instead of glyphs, and both targets built clean on the second. The whole thing, from the word to the download page, took an hour; the gate that plays two clients against the new server before anyone else can see it was run before the channel moved this time, so a red gate would have cost nothing public.

What is not in it: no icon on any recipe (the panel is words until the icon sheets are cut, and that work started the same week), no station in any hut, and no bag you can open on its own -- the panel shows what the bag holds, and the bag panel is the next thing the same column already draws half of. And the HUD you would expect around all this is three lines of text and three buttons in this release, which the person paying for the game looked at and, correctly, did not recognise as a HUD. That one is being redrawn.