Field guide

How to play Purple Lotus Guild

You do not press an attack button. You write a few lines of Python, press Run, and your hero does exactly that — walk, buy, swing, brew. This codex is the traveler’s copy of the rules, not a tour of the program.

A run, from the title to the gold square

The title offers New Game, Load Game, Settings, and Quit. A new hero picks a lineage, a fighting style, and a name, then wakes in Bronze Castle with 25 gold, two minor health potions, a loaf of bread, and all six professions at Novice. The name box on that screen cannot be typed in. set_name writes it. Back to Menu throws the half-finished hero away.

Load Game reads named slots. One slot loads immediately. Several slots ask you to pick. None tells you to start a new game and use hero.save("save1") in Bronze Castle. A wilds save returns to the map. A fight save returns to the fight. Anything else returns to town.

hero.look()
hero.buy("bread")
hero.equip("copper_short_sword")
hero.leave_town()

Press F5 or the Run button. The lines run from the top. Leaving town builds a wilds map of colored squares: open ground, walls, obstacles, a blue hero, red foes, harvest marks, and a gold exit. Walk onto a foe to start a fight. Walk onto the gold square to clear the stage. On a stage with more than one floor, that same gold square is the stair until the last floor. The game writes an autosave after every clear. If you die, that same autosave keeps the stage you failed, and the run ends.

Every fifth cleared stage, the road back to town opens and you can restock before the next biome. Stepping on the goal of a boss stage begins the boss fight. Beat it to continue. hero.quit() closes the window.

What the map means

The wilds are a grid of squares with a hairline gap, not letters. Walls and rocks fill the whole square. You, a foe, the exit, and a harvest are a smaller square sitting on open ground. Harvest colors follow the profession. A failed gather may still mention the old letters h, w, m, f, and k. Those letters are not drawn. Match them to the colors below. The status line for a node still ends with that letter, after the id, the profession, and the level.

Open ground

Floor you can walk. Dark olive. Later stages add floors. The gold square is the stair between them until the last floor.

Boundary

Blue-gray. The edge of the map. A step into it is refused and you stay put.

Obstacle

Brown. A rock inside the rooms. Path around it. You cannot gather through it.

You

Bright blue, smaller than the floor square. The view follows this square.

Foe

Red. Stepping onto them opens combat. When they die the red square leaves the map.

Exit

Gold. On a normal last floor it ends the stage. On a boss stage it starts the champion. On an earlier floor of the same stage it is the stair.

Herb

Green. Alchemy. Stand on the square or next to it, then gather. The log’s letter for this profession is h.

Wood

Olive. Woodworking. Log letter w.

Metal

Steel gray. Metalworking. Log letter m.

Fiber

Tan. Textile. Log letter f.

Hide

Leather brown. Leatherer. Log letter k.

How a stage grows

Stage 1 is a modest 16 by 12 map with a handful of rooms, about three foes, and two obstacles. Later stages widen, add rooms, and raise difficulty a little each time. From stage 5 the wilds can have a second floor, then another floor every five stages, up to four. Foes and nodes scale with how much open floor the carver left: at least two of each, and never more than ten foes or eight nodes on a floor.

The town you left chooses which landscapes can appear and which monster levels are fair. The atlas currently lets a hero travel through the Copper Mainlands and on into the Bronze Sanctuary. Nine further continents are already charted — towns, portals, level bands — for the road after that.

Two teachers, one hero

The lesson screens walk a new player through creation, Bronze Castle, the first wilds, and the first fight. Each screen has one goal: make a specific call, such as print("Hello") or hero.attack(2). The campaign is the same hero with no lesson fence — you can chain moves, shop, craft, and fight as soon as you know the words. Loops and your own names work in that same box once you are past creation. The Python chapter is the full list of what the box allows.

Quotes mark words. Numbers do not. hero.attack(2) hits the second foe. hero.buy("bread") uses the item id, not the pretty name on the sign.

Read next