~/adam.log

Custom Roguelike - The Mountain Joins the Demo

Published 2026-11-12

The Mountain Joins the Demo

The lore sheet gets room to grow

I widened map_tiles.png from 8 to 16 glyphs a row. Every glyph number stays the same, but the sheet now has room for 8192 of them, and the lore props get a block of their own from row 1024: 32 rows for each theme (Sewer, Mountain, Swamp, Forest, Dungeon). The Sewer’s lore props moved into the first slot, which clears the way for the Mountain’s frozen ram and its cave.

The prologue leads straight into a run

The first time someone plays the prologue from Main Game, it now ends on Class Select for a Dungeon Crawl run instead of dropping back to the title. Replaying it from Options still returns to the title.

Every Mountain enemy has to be worked for

I set a rule for the Mountain: with the Blacksmith’s weapon upgrades, every regular enemy takes at least 2 plain Attacks on the second floor and 3 on the third. The floors are now Goat and Yeti Cub on the first, Yeti, Griffon and Snow Wolf on the second, and Yeti and Manticore on the third. The Yeti went from 30 HP to 59, the Snow Wolf and Griffon to 24, the Manticore to 60. Tankier enemies cost more of each floor’s enemy budget, so I raised the Mountain’s budget to keep about 30 enemies a floor; the game was too easy before the last floor, and I was finishing runs with a pile of unused potions.

I also changed what each Blade gives the hero: a flat +1 damage per Blade instead of +5%. On a base of 7, the old 5% rounded away to nothing at 1 Blade, so the first Blade felt like no change at all. Now every new Blade is a point you can see. Each theme is played at its own tier, so the plan next is to write each enemy’s real numbers straight into the template file, so the Bestiary shows exactly what you fight.

The Mountain’s lore

The Mountain now has six lore pieces, and each lies in a room dressed for it. On the first floor a carving is cut into a cliff face: worn lines running together to five marks in a ring, a beast by each one. You read it by walking into the rock. The second floor has the wizard’s camp, a snowed-over tent and a bedroll beside a dead fire, with a page pinned under a rock. The third floor has the most: the acolyte’s last note near where you start, under the avalanche that closed the pass behind him, next to the pack he burned to keep warm; a climber frozen at the foot of a cliff with his snapped rope and his book; and a ring of stones on the summit, where the wizard looked out over the rest of the world. Every piece has its own icon in the lore box, and once you find one it never turns up again.

The Frozen Ram

The biggest piece is a cave. The generator hollows out a small plateau that no path reaches and cuts a mouth into its south face. Step inside and the roof lifts away, everything outside goes dark, and a huge one-horned ram stands frozen in the ice at the back. Take a second step and the ice cracks twice with white flashes, then shatters, and the ram breaks free into a fight you can’t flee. It opens with a roar, hits twice, then spends a turn drawing the mountain’s power up into its horn, and its next hit does double damage. It has 220 HP and gives a boss reward. The cave is on the second floor of every Mountain run until you beat the ram and find its page, and after that it turns up half the time.

Seeing and walking the Mountain

The Mountain’s terraces needed real rules for sight and movement. Cliff faces now hide what’s above them but not what’s below, so you can see down the mountain but not up it. Low ridges of rock are seen over, and you can see past a cut-off ledge or the cave’s roof once you are as high as it. A plateau’s edge over lower ground can be walked along but never stepped off, so you go down by the stairs, ladders and bridges like everyone else. Where two heights meet, rocks mark the drop, and there are no invisible walls left anywhere.

I also added moving fog over the chasms: a soft mist with fluffy clouds that drift very slowly under the bridges, each chasm with its own clouds.

Finding the Blades, and a stronger Blade

Beating the Mountain now plays the second story cutscene, Finding the Blades, before the win screen, the way the summoning plays after the Sewer.

After my own Mountain runs I made the Blades count for more: each Blade now adds 20% to the hero’s health (it was 8%), on top of the +1 damage. The Blades have to feel like they did something. I eased the Mountain’s second and third floors to match (enemies hit 1.4 times as hard there instead of 1.7), and the heal card now shows up in half of all card offers. The higher tiers will be re-tuned for the bigger buff as I get to their themes.

Smaller things from the runs

The Bestiary now shows each theme’s enemies at their own tier, exactly the numbers you fight, and a test checks every entry against a real run. Boss kill achievements now top out at 5 kills instead of 10, since 10 meant beating every boss twice with every class. A permanent card that is ready to use now glows with a gold square behind it on the Ability Bar, and Dungeon Actions marks those abilities “(permanent)” the way the Deck does. In town, the Elder’s quest reward no longer hides behind the talk box.

The Mountain joins the demo

The free demo now goes one dungeon further. Beating the Skeleton King gives you the first Blade the way the full game does, with the line “The Elder looks to the mountains, where the next Blade awaits,” and the 1 Blade dungeon opens. That means demo players climb the Mountain too, with its lore pieces, the Frozen Ram and the Finding the Blades cutscene at the end, which I wanted in there so more people get pulled into the story. The end-of-demo page moved to after that cutscene and the Mountain’s win screen. The 2 Blades dungeon and up stay locked with “Available in Early Access,” and the Bestiary and Lore pages open the Mountain next to the Sewer. The Mountain’s kill achievements count in the demo now, and the six “win the 1 Blade dungeon” achievements join the demo’s Steam list, which goes from 69 to 75.

Picking the hand in the battle tester

To record the demo’s new store footage I needed every fight to open with the card I wanted to show, and the battle tester only dealt random hands from a deck it built itself. So the tester can now set the hand: each hand slot can hold a card, and every hand dealt starts with those cards. It can also set how many copies of each ability the deck holds, and make one of them a gold permanent card, all from the setup screen, since I record from the Windows build with no command line. The setup list got long enough to need scrolling, so it scrolls now.

New store art for the demo

With the Mountain in the demo, the demo’s store page was out of date: Sewer-only screenshots, a trailer ending on “Five more dungeons in the full game,” and text that kept calling itself a demo. I recorded new footage with the battle tester’s set hands (the Massive Goat, the Yeti King calling a cub, the Manticore Alpha, the Frozen Ram gathering itself in its cave, a four-enemy snow fight, a lore piece, a walk through town) and turned it into eight new screenshots, two new GIFs and a 40-second trailer that climbs the Mountain after the Sewer and ends on “Four more dungeons in the full game.”

Looking at other demos on Steam, the good pages don’t sell themselves as demos at all; Steam’s own labels already say it. So I rewrote the demo’s text to sell the game, scoped to what the demo has. I also cut every GIF down to a wide strip so none of them takes a whole screen of the page, and the Class Select one now pans along with the cursor, one trip down and back so it loops cleanly. It’s all live, with the Mountain build, its 75 achievements and the announcement.