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.
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.