Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Norbert339

96
Posts
1
Followers
A member registered Nov 26, 2020

Recent community posts

Maybe I just got lucky in my runs so far, but I think Dreamwalker isn’t difficult in a way that makes me consider dropping an ascension. Which btw wouldn’t be a bad thing, I’d actually appreciate having a reason not to have all ascensions up.

I save at every victory screen so it’s kinda save-scummy, but I “won” two Dreamwalker runs with all ascensions. For example, in late game I went to laguna and realized I can’t kill the kraken tentacles in time before fatigue kills me, so I reload and go the other way because an idealized, more experienced player would’ve seen that coming.

The early game seems doable, it’s just somewhat finnicky and I often have to retry the stage because I misplay something.

I almost never inflict guilt and upgrade the cards so that I can avoid dealing with guilt as much as possible (first upgrades are one slumber, delirium, and then the tunes). Dispersion is indeed something I immediately stash and never use again. Maybe, if it didn’t cost Wp, I would use it before I can spare gold to remove cards. Later the trimmed down deck is one slumber, light, delirium, and two otherworldly tunes.

So, early on I avoid using conspiracy because stamina is my lowest resource, and later when you don’t need Wp it’s not worth keeping because delirium does it’s job while also avoiding enemy actions.

imo it’s actually good flavor that you learn to let go of guilt as you level up.

Overall I don’t think Dreamwalker needs a buff, but a small buff could make the first stages less finnicky.

  • negative player confusion triggers as if it’s 1

  • Spider Web has no sanity immunities

  • dazzling ink improves the multiplier of infectious delirium

maybe a bug:

  • spawn of silver getting more guarding is considered the lucky outcome

  • vitality damage from all sources triggers guilt

Yeah, I think these are all very good changes.

How did you replenish Wp with just one Curate?

In the five card deck, there was no need to replenish Wp, because I used bargain on the curate before using it. If I ever lacked the initial mp for this to be feasible, I would swap the bargain with the second curate.

The unique quirk of this hero is supposedly to force player to re-evaluate all items, making use of otherwise irrelevant ones just for the triggers.

This creates more interesting choices now, you depend a bit more on finding good triggers, to the point where you might consider rerolling if all useful items lack useful triggers.

This interaction was left intentionally

Oh, I see. Maybe just vaguely call it “improve melee enemy effects”, if you want to keep the discovery aspect. Otherwise, you might need a dedicated keyword. Or maybe it’s enough to reformulate the effects to be like “melee 1 per bla plus 5”, it kinda makes sense like that…

feedback on Antiquarian balance

Antiquarian does feel a bit easy once you figure out how to use the cards, but other heroes can also feel like that. Antiquarian can heal and regain all resources, and curiosity is just a really good card. In the beginning I trim the deck to just one missile, one curate, bargain, one ward and curiosity. This way I can be sure that in the first turn, I draw either curiosity or ward. As it is I think that deck is enough of a plan to win the game with a few items with good triggers.

I think Antiquarian would still be about as strong as some other late-unlock-heroes if the ability only triggered when item counters increased. “Any item trigger” is a bit much imo, and has very different outcomes depending on what items you find.

The antiquarian deck itself is already pretty good and interesting, it doesn’t really need a strong ability to go with it.

Something like “Increase on item trigger, decrease on use” could be a multi-color card that you get with a quest, instead of that being an ability. Antiquarian could just increase shoot values in play at start stage, once per five items, rounded up, for example. Antiquarian could have no abilities beyond having the heirloom and still be a stronger start than mage.

I think the heroes are also difficulty settings, so it depends on whether you want to add an easy option or a less easy option.

(1 edit)
  • rune of balance upgrades it’s effect on it’s own, whenever an upgraded version of the card is rendered, and later the card is reloaded. For example, when you look it up in “all cards”, hover over it, then open “all items” and go back to “all cards”. Or when you load this save repeatedly. This probably also happens with lockstep.

    save file
     {"version":"v0.28.0","seed":[-723588594,267345867,-972422929,54182861],"heroType":"mage","hero":{"maximum":{"hp":21,"mp":34,"stamina":9,"will":16},"current":{"hp":21,"mp":34,"stamina":3,"will":16,"gold":213},"status":{"intellect":5,"strength":-1,"toughness":-1,"vitality":2,"fatigue":5,"defence":10},"immunity":{"ensnared":true,"vampiric":true},"items":["tomeOfIceAndFire","wandOfMissiles","sackOfGrain","portableBookcase","toolbox","piggyBank","spidersilkRobe","weirdKey","bountySnakes","elephantFigurine","bountyDragons","notebook","pedestal","wizardStaff","tarball","ziegenhainer","pendantOfLight","peeledFace","kaleidoscope"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["poison",1,{}],["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]],[6,2,1,"add Poison",["[magicMissile","[bountySnakes"]]]},{"name":"magicMissile","cost":{"mp":1},"upgraded":1,"effects":[["poison",5,{}],["shoot",3,{}]],"history":[[0,0,1,"acquire",["start"]],[2,0,1,"add Shoot",[]],[2,0,1,"upgrade",["for gold"]],[6,1,1,"add Poison",["[magicMissile","[bountySnakes"]],[6,6,1,"add Poison",["[magicMissile","[bountySnakes"]],[11,4,1,"add Poison",["[magicMissile","[bountySnakes"]],[11,6,1,"add Poison",["[magicMissile","[bountySnakes"]],[11,8,1,"add Poison",["[magicMissile","[bountySnakes"]]]},{"name":"gatherMagic","cost":{"mp":1},"stashed":true,"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"gatherMagic","cost":{"mp":1},"stashed":true,"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["fatigue",-2,{}],["initiative",1,{}],["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]],[9,7,1,"add Initiative",["[runeOfHaste"]],[13,1,1,"add Fatigue",["[runeOfHeartiness"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"bounce","cost":{"mp":1},"upgraded":1,"effects":[["redirectHero",1,{}],["persist",2,{}]],"history":[[2,0,1,"acquire",["reward"]],[7,7,2,"add Persists",[]],[7,7,1,"upgrade",["for gold"]]]},{"name":"plantHerbs","cost":{"mp":2,"will":1},"effects":[["addToDrawPileRandomLuck",["RandomInRange","",1,3,{}],{"tag":"herb"}],["exhaust",3,{}]],"history":[[7,7,1,"acquire",[]]]},{"name":"riskyTreatment","cost":{"mp":3},"effects":[["healHero",["PositiveStatus","",3,"intellect",0],{}],["healHero",["RandomInRange","",-2,2,{}],{}]],"history":[[10,14,1,"acquire",["reward"]]]},{"name":"preparedNotes","cost":{},"upgraded":6,"effects":[["drawCards",3,{}],["exhaust",7,{}]],"history":[[11,10,1,"acquire",["reward"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]]]},{"name":"toxicSpray","cost":{"mp":5},"upgraded":1,"effects":[["poisonAll",["PositiveStatus","",1,"intellect",0],{}],["poisonAll",4,{}]],"history":[[12,12,1,"acquire",["reward"]]]}],"maxStashedCards":2,"cardRemoveCost":8,"cardUpgradeCost":22},"stage":13,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":4,"items":5,"nextQuest":5},"amounts":{"gold":26,"cards":2,"items":2,"chances":{"rare":0.6,"upgraded":0.5800000000000001},"taggedCards":{"rune":1},"taggedItems":{}}},"encounters":[6,10,12,16,28,50,53,55,59,70,72,78,103],"quests":[{"stage":2,"quest":"Celebrate with fireworks","completed":true},{"stage":3,"quest":"Read many books","completed":true},{"stage":4,"quest":"Make investment","completed":true},{"stage":6,"quest":"Take bounty for snakes","completed":true},{"stage":7,"quest":"Help with sowing","completed":true},{"stage":8,"quest":"Borrow a book","completed":true},{"stage":9,"quest":"Graduate from faculty of Philosophy","completed":true},{"stage":10,"quest":"Practice lockpicking","completed":false},{"stage":11,"quest":"Enjoy a bright sunny day","completed":false},{"stage":12,"quest":"Dance till you drop","completed":true},{"stage":13,"quest":"Collect colored glass beads","completed":true}],"ts":"2025-11-26T21:39:27.572Z"}
    
  • sleight of hand consumes luck

    Same file, curate often doesn’t count the magic missiles towards “pay cost of non-uniquely named”

    save file
     {"version":"v0.28.0","seed":[-1680369459,204631412,-414290070,-1458535102],"heroType":"antiquarian","hero":{"maximum":{"hp":12,"mp":9,"stamina":9,"will":9},"current":{"hp":12,"mp":9,"stamina":9,"will":9,"gold":214},"status":{"vitality":-1,"clairvoyance":26,"luck":7,"fatigue":9,"protected":1,"defence":2},"immunity":{},"items":["aceOfDiamonds","crystalOrb","acupunctureChart","kaleidoscope","blankPaper","woolThread","wandOfMissiles","bountyGoblins","wristWeights","diademOfSuffering","bountyRats","clover","twighlightStar","chainMail","glacialArmor","windingKey","metronome","iceCream","peaPod","worthlessHeirloom","clayMold","hiddenLever"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"curate","cost":{"hp":1,"mp":1,"stamina":1,"will":1},"upgraded":1,"effects":[["fullCostToResources",["TotalCostAllResourcesUnique","",4,{}],{}],["payResources",["TotalCostAllResourcesUnique","",null,{"invert":true}],{}]],"history":[[0,0,1,"acquire",["start"]],[13,2,1,"add Reimburse",[]],[13,2,1,"upgrade",["for gold"]]]},{"name":"curate","cost":{"hp":1,"mp":1,"stamina":1,"will":1},"effects":[["fullCostToResources",["TotalCostAllResourcesUnique","",3,{}],{}],["payResources",["TotalCostAllResourcesUnique","",null,{"invert":true}],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"makeshiftWard","cost":{"hp":1,"mp":1,"stamina":1},"upgraded":5,"effects":[["defendHero",["Linear","",["ItemCounters",""],1,5],{}]],"history":[[0,0,1,"acquire",["start"]],[3,0,1,"add Defend",[]],[3,0,1,"upgrade",["for gold"]],[3,0,1,"add Defend",[]],[3,0,1,"upgrade",["for gold"]],[4,3,1,"add Defend",[]],[4,3,1,"upgrade",["for gold"]],[9,9,1,"add Defend",[]],[9,9,1,"upgrade",["for gold"]],[10,3,1,"add Defend",[]],[10,3,1,"upgrade",["for gold"]]]},{"name":"bargain","cost":{"stamina":3},"effects":[["reduceCosts",["RandomInRange","",1,2,{}],{}],["exhaust",5,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"curiosity","cost":{"mp":1},"upgraded":1,"effects":[["initiative",1,{}],["discard",1,{}],["drawCards",3,{}],["persist",3,{}]],"history":[[0,0,1,"acquire",["start"]],[10,3,1,"MP cost −1",[]],[10,3,1,"upgrade",["for gold"]],[14,3,1,"add Initiative",["[runeOfHaste"]]]},{"name":"runeOfHaste","cost":{"mp":2,"stamina":3},"effects":[["insertEffectPermanentlyHand",1,{"effects":[["initiative",1,{}]]}],["singleUse",null,{}]],"history":[[14,6,1,"acquire",[]]]},{"name":"sleightOfHand","cost":{"stamina":1},"upgraded":1,"effects":[["drawCards",3,{}]],"history":[[14,0,1,"acquire",["reward"]]]}],"maxStashedCards":2,"cardRemoveCost":6,"cardUpgradeCost":18},"stage":15,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":2,"nextQuest":2},"amounts":{"gold":28,"cards":2,"items":2,"chances":{"rare":0.65,"upgraded":1.12},"taggedCards":{},"taggedItems":{}}},"encounters":[6,10,16,18,28,35,62,63,69,71,77,86,87,90,103],"quests":[{"stage":2,"quest":"Get a glimpse of a prophesy","completed":true},{"stage":3,"quest":"Collect colored glass beads","completed":true},{"stage":5,"quest":"Celebrate with fireworks","completed":true},{"stage":6,"quest":"Take bounty for goblins","completed":true},{"stage":8,"quest":"Take bounty for rats","completed":true},{"stage":9,"quest":"Watch sunrise and sunset","completed":true},{"stage":13,"quest":"Mold a lifelike sculpture","completed":true},{"stage":14,"quest":"Hunt rabbits","completed":true},{"stage":15,"quest":"Enjoy a bright sunny day","completed":false}],"encounter":[103,"deepestOne",["cuttlefish","cuttlefish","cuttlefish","deepOne","deepestOne"],[]],"ts":"2025-11-25T12:41:14.478Z"}
    
  • sword dummy increases the poison multiplier of scalpel melee instead of the constant

    save file
     {"version":"v0.28.0","seed":[-1906113610,-1621937738,259826885,-434507075],"heroType":"plagueDoctor","hero":{"maximum":{"hp":20,"mp":12,"stamina":6,"will":5},"current":{"hp":19,"mp":11,"stamina":6,"will":5,"gold":2},"status":{"fatigue":14,"poisoned":7},"immunity":{},"items":["frayedTome"],"deck":[{"name":"puff","cost":{"mp":1},"effects":[["poison",["Cycle","",["CardsPlayedCount",""],[1,4]],{}],["persist",3,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"puff","cost":{"mp":1},"effects":[["poison",["Cycle","",["CardsPlayedCount",""],[1,4]],{}],["persist",3,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"placebo","cost":{"mp":1},"stashed":true,"effects":[["mana",3,{},["poisoned","odd",null,{}]],["mana",1,{},["heroStatus","odd",null,{"status":"poisoned"}]],["poison",-1,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"placebo","cost":{"mp":1},"upgraded":1,"effects":[["mana",4,{},["poisoned","odd",null,{}]],["mana",2,{},["heroStatus","odd",null,{"status":"poisoned"}]],["poison",-1,{}]],"history":[[0,0,1,"acquire",["start"]],[2,4,1,"modify (MP, MP)",[]],[2,4,1,"upgrade",["for gold"]]]},{"name":"snakeOil","cost":{"hp":1,"mp":2},"effects":[["poisonHero",4,{}],["healHero",6,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"inhaleFumes","cost":{"hp":1,"mp":1},"effects":[["drawCards",["Cycle","",["CardsPlayedCount",""],[2,3,4]],{}],["poisonHero",["Linear","",["CardsDrawnCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"scalpel","cost":{"mp":1},"effects":[["poisonHero",["MonsterStatus","ceil",0.2,"poisoned",0],{}],["meleeFront",["MonsterStatus","",1,"poisoned",1],{"visual":"slash"}]],"history":[[0,0,1,"acquire",["start"]]]}],"maxStashedCards":2,"cardRemoveCost":4,"cardUpgradeCost":6},"stage":3,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":2,"nextQuest":2},"amounts":{"gold":4,"cards":2,"items":2,"chances":{"rare":0.05,"upgraded":0.64},"taggedCards":{},"taggedItems":{"mask":1}}},"encounters":[3,5,6],"quests":[{"stage":3,"quest":"Visit training grounds","completed":false}],"encounter":[6,"piranha",["piranha","piranha","piranha"],["potion positive"]],"ts":"2025-11-29T23:30:21.873Z"}
    

Interesting, I guess that explains why the replaced quests seemed so similar sometimes, because it probably selected an adjacent quest in the list.

No problem, thanks for all the updates btw.

I found a quest bug reproduction:

  • new game of templar on seed 11, all ascensions
  • use maces left to right
  • go to lava pit, skip rewards
  • use shield, mace, pray four times, shield, tithe, mace
  • quests are “party until dawn” and “help with beekeeping”
  • load autosave
  • quests are “party until dawn” and “study animal behaviour”

 

here’s another freeze, happens when you upgrade Buckle Up with a rune.

save file
{"version":"v0.27.0","seed":[-1246761326,-846285917,221819153,1381216588],"heroType":"revenant","hero":{"maximum":{"hp":51,"mp":55,"stamina":42,"will":45},"current":{"hp":51,"mp":41,"stamina":42,"will":44,"gold":1},"status":{"fatigue":10,"defence":8},"immunity":{},"items":["emptyLocket","bearTrap","notebook","flameward","porcelainDove","shimmeringRobe","sapphireRing","crookedDice","caduceus","dragonLance","chisel","broom","fireproofGloves","charmingTrap"],"deck":[{"name":"lichform","cost":{"hp":1,"mp":7},"upgraded":6,"stashed":true,"effects":[["upgradeSelf",1,{},["hpHero","le",7,{}]],["hpSet",7,{}],["manaSet",["MaxResource","",1,"mp"],{}],["exhaust",1,{}]]},{"name":"assimilate","cost":{"hp":1,"mp":6,"will":1},"stashed":true,"effects":[["maxResFromCardCost",["TotalCostAllResourcesUpto","",1,1],{}],["exhaustAndRemove",1,{}],["exhaust",1,{}]]},{"name":"syphonSoul","cost":{"mp":8},"upgraded":6,"effects":[["shoot",48,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",14,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"syphonSoul","cost":{"mp":6},"upgraded":6,"effects":[["shoot",40,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",14,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"drainingTouch","cost":{"hp":1,"mp":1},"effects":[["vampiricHero",1,{}],["melee",5,{}]]},{"name":"buckleUp","cost":{"hp":1},"effects":[["defendHero",2,{}],["postpone",null,{"effects":[["defendHero",8,{}]]}]]},{"name":"plantHerbs","cost":{"mp":2,"will":1},"upgraded":1,"effects":[["addToDrawPileRandomLuck",["RandomInRange","",2,4,{}],{"tag":"herb"}],["exhaust",3,{}]]},{"name":"pause","cost":{},"effects":[["drawCards",1,{}],["fatigue",-2,{},["amplifiedHero","eq",0,{}]]]},{"name":"runeOfPerfection","cost":{"hp":1,"mp":1,"stamina":1,"will":1},"upgraded":1,"effects":[["upgrade",1,{}],["singleUse",null,{}]]}],"maxStashedCards":2,"cardRemoveCost":6,"cardUpgradeCost":26},"stage":13,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":5,"items":5,"nextQuest":2},"amounts":{"gold":24,"cards":2,"items":2,"chances":{"rare":0.55,"upgraded":0.54},"taggedCards":{"rune":1},"taggedItems":{}}},"encounters":[8,10,18,20,28,37,46,56,59,63,80,90,101],"quests":[{"stage":4,"quest":"Help with sowing","completed":true},{"stage":6,"quest":"Watch a rainbow","completed":true},{"stage":7,"quest":"Use every chance","completed":true},{"stage":13,"quest":"Take bounty for orcs","completed":false}],"encounter":[101,"goldenDragon",["goldenDragon","barbedChest"],["quest negative"]],"ts":"2025-11-21T22:07:38.443Z"}

(Quickest way is to immediately use second chance.)

Nice, polished game.

Bull toads are just OP, the enemy damage output is capped at one attack per column per turn, so 5 attacks per turn, and one bull toad tanks 5 attacks, so if you have 3 flower toads you’ve won. Actually 2 flower toads is enough if you refund the bull toads right before they die - which is a really tedious mechanic because you don’t show their health. Maybe it gets more difficult later on, I didn’t play past wave 2. The turns progress really slowly due to having to wait for each individual enemy animation.

Also, this isn’t a Deck Builder in any way.

maybe a bug:

  • flimsy shield sometimes defends outside of turn 1

  • self-damage of burning cards is affected by your own critical

  • a bomb dealing “melee all” damage heals you if you are vampiric

  • reloading victory screen saves sometimes gives different quests

bugs:

  • leader card preview when using telescope shows a monster with a one-word-name matching only the first word of the leader, or nothing if no such match (e.g. Shadow Dragon shows Shadow, Eye of Regret shows nothing)

  • I think evasion deals with falling damage as well as it deals with melee, so it should be marked “works ineffectively” in the infos

  • ice shards in general often just don’t seem to exhaust

  • game freezes when discarded swindle plays ice shard:

    save file
     {"version":"v0.27.0","seed":[458343701,-2037583405,-238559187,1259306229],"heroType":"revenant","hero":{"maximum":{"hp":57,"mp":53,"stamina":10,"will":7},"current":{"hp":7,"mp":31,"stamina":10,"will":6,"gold":24},"status":{"strength":1,"fatigue":11,"defence":6},"immunity":{"poisoned":true},"items":["kaleidoscope","paupersBowl","banditsMask","blowgun","meatRation","crookedDice","jadeRing","bronzeMirror","chainMail","bunting","rubyRing","sunShield","bountyGoblins","paradoxicalFigure","clayMold","fireproofGloves","moonBlade","tomeOfNovelties","backpack","flameward"],"deck":[{"name":"lichform","cost":{"hp":1,"mp":7},"upgraded":6,"effects":[["upgradeSelf",1,{},["hpHero","le",7,{}]],["hpSet",7,{}],["manaSet",["MaxResource","",1,"mp"],{}],["exhaust",1,{}]]},{"name":"assimilate","cost":{"hp":1,"will":1},"upgraded":6,"effects":[["maxResFromCardCost",["TotalCostAllResourcesUpto","",1,7],{}],["exhaustAndRemove",1,{}],["exhaust",1,{}]]},{"name":"syphonSoul","cost":{"mp":10},"upgraded":6,"stashed":true,"effects":[["shoot",78,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",14,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"syphonSoul","cost":{"mp":9},"upgraded":6,"stashed":true,"effects":[["shoot",68,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",14,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"drainingTouch","cost":{"hp":1,"mp":1},"upgraded":1,"effects":[["vampiricHero",1,{}],["melee",6,{}]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"weightlifting","cost":{"hp":1,"stamina":2},"effects":[["exhaust",1,{}],["maxHp",2,{}]]},{"name":"alchemy","cost":{"mp":6},"upgraded":1,"effects":[["gold",["AvailableResource","",1,"mp"],{}],["exhaust",2,{}]]},{"name":"swindle","cost":{},"upgraded":2,"effects":[["playEffects",["HandPos","",0],{}],["discard",1,{}]],"discarded":[["playEffects",["HandPos","",0],{}]]},{"name":"syphonSoul","cost":{"mp":13},"upgraded":6,"effects":[["shoot",120,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",14,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"forgeSword","cost":{"hp":1,"mp":1},"upgraded":1,"effects":[["forgeSword",["MaxDevotion","",2],{"card":"enchantedSword"}],["exhaust",1,{}]]}],"maxStashedCards":3,"cardRemoveCost":4,"cardUpgradeCost":46},"stage":16,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":8,"nextQuest":6},"amounts":{"gold":30,"cards":2,"items":2,"chances":{"rare":1.2,"upgraded":0.66},"taggedCards":{"potion":1},"taggedItems":{}}},"encounters":[6,7,12,16,41,45,56,63,69,74,76,82,99,100,106,122],"quests":[{"stage":2,"quest":"Join as apprentice beggar","completed":true},{"stage":3,"quest":"Take bounty for goblins","completed":true},{"stage":4,"quest":"Practice lockpicking","completed":false},{"stage":5,"quest":"Use every chance","completed":true},{"stage":8,"quest":"Admire beautiful moonlight","completed":false},{"stage":9,"quest":"Perform with kettlebells","completed":true},{"stage":10,"quest":"Enjoy a bright sunny day","completed":true},{"stage":11,"quest":"Mold a lifelike sculpture","completed":true},{"stage":14,"quest":"Get a glimpse of a prophesy","completed":false},{"stage":15,"quest":"Repack your belongings","completed":true},{"stage":16,"quest":"Carve a perfect ice sculpture","completed":false}],"encounter":[122,"iceDragon",["iceDragon"],["defence positive","spikes negative"]],"ts":"2025-11-11T17:25:08.390Z"}
    

    steps: second chance, every card but honors and swindle, end turn, rightmost honor twice

  • quicksafe forgets recent meat ration (I think this bug happens with all “on pickup” items):

    save file
     {"version":"v0.27.0","seed":[-614709563,1120257466,-819219908,2128568047],"heroType":"revenant","hero":{"maximum":{"hp":9,"mp":15,"stamina":2,"will":5},"current":{"hp":7,"mp":14,"stamina":2,"will":2,"gold":0},"status":{"clairvoyance":4,"fatigue":6,"defence":1},"immunity":{},"items":["aceOfClubs","cezve","paupersBowl","thickTome","crystalOrb","meatRation"],"deck":[{"name":"lichform","cost":{"hp":1,"mp":7},"upgraded":4,"effects":[["upgradeSelf",1,{},["hpHero","le",5,{}]],["hpSet",5,{}],["manaSet",["MaxResource","",1,"mp"],{}],["exhaust",1,{}]]},{"name":"assimilate","cost":{"hp":1,"mp":6,"will":1},"effects":[["maxResFromCardCost",["TotalCostAllResourcesUpto","",1,1],{}],["exhaustAndRemove",1,{}],["exhaust",1,{}]]},{"name":"syphonSoul","cost":{"mp":3},"upgraded":2,"effects":[["shoot",8,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",6,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"syphonSoul","cost":{"mp":2},"upgraded":1,"effects":[["shoot",4,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",4,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"drainingTouch","cost":{"hp":1,"mp":1},"effects":[["vampiricHero",1,{}],["melee",5,{}]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"runeOfHeartiness","cost":{"mp":2,"stamina":3},"stashed":true,"effects":[["insertEffectPermanentlyHand",1,{"effects":[["fatigue",-2,{}]]}],["singleUse",null,{}]]},{"name":"borrowTime","cost":{"mp":5,"will":1},"effects":[["postpone",null,{"effects":[["discard",["HandSlice","",-1],{}]]}],["drawCards",8,{}]]}],"maxStashedCards":2,"cardRemoveCost":4,"cardUpgradeCost":10},"stage":5,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":3,"items":2,"nextQuest":2},"amounts":{"gold":8,"cards":1,"items":2,"chances":{"rare":0.15,"upgraded":0.22000000000000003},"taggedCards":{},"taggedItems":{}}},"encounters":[6,9,10,27,30],"quests":[{"stage":2,"quest":"Dance till you drop","completed":true},{"stage":3,"quest":"Join as apprentice beggar","completed":true},{"stage":4,"quest":"Get a glimpse of a prophesy","completed":true},{"stage":5,"quest":"Bet against the house","completed":false}],"encounter":[30,"ghost",["ghost","bones","shadow"],[]],"ts":"2025-11-11T22:23:37.798Z"}
    

good stuff. There seems to be a bug where you can’t attack the enemy that attacked just before. Or something like that…

I think it needs to uncover more tiles per click, or have some kind of auto-explore revealing tiles next to empty tiles until you find something.

good game!

bug: Freezes when you chain a recipe that’s not in the book

good game with a nice idea. Lvl 47 is just unsolvable afaik, you can’t shove a block on B without having a block on A, and after you do so there is no way to reach A, but you need that block on C.

yup it’s interesting, took me 22 min and 3 retries

You’re welcome. Can confirm that it’s fixed

Good game!

Bug: “Accuse!” button does nothing when clicked

You’re right, thx. I didn’t think of trying things more than once without switching the screen.

So I found a door, used the flag and solved the monolith, but there’s nothing else to do. Can’t even get a description of the flame thingy. And my bottle is just gone, I can’t use it on anything. Is this a bug, or what have I missed?

So far, the game was good and atmospheric.

You’re welcome, it’s just what I do sometimes

good update!

new bugs:

  • I skipped adding a recipe and the following trinket selection read “A Trinket!” but the options were the skipped recipes, skipping again allowed me to pick a trinket as usual
  • I think now the bowl of eeeps keeps stages from ending

You’re welcome, thx for making this!

I later remembered that the stage that didn’t end was probably in a run in which I had one bad review, and the stages that ended too early were probably when I had a trinket that allowed for an extra bad review.

good game!

I found skipping new recipes was the best option to minimize chaos and “one x, please” variation. But sometimes it gave me a recipe anyway.

I once had a bug where the stage didn’t end even though no more costumers were left or coming. And two other times it ended even though one costumer was left.

You’re welcome, thx for the update!

another bug: Both weakness and stun applied by the player don’t time out (also preventing the three turn poison effect from properly timing out even though the damage stops)

(1 edit)

seems interesting so far. Combat feels a bit slow because you have to wait for the effects/messages.

bug: Monsters without regen do regen 1 hp per turn, while the one monster with regen I encountered doesn’t regen

You can only eat a duck if the distance between the duck and yourself is an even number of spaces. Because both you and the duck have to move every turn, that amount only changes by an even number, unless you eat a different duck. The second level is unsolvable because after you eat one duck, the other duck is an uneven number of spaces away from you.

You’re welcome, thank you for making this!

These bugs indeed seem to be fixed now.

some more bugs:

  • Sometimes when I block, my monling has a few hp points left, but dies anyway

  • I once bought an egg, released one monling, bought another, and that one gave me three monlings, ignoring the limit of 4. Maybe I released and bought one more time before that, I don’t remember.

  • I took a trap card while having two catches, I think. During the next fight the blue monling box showed briefly, and I clicked the symbol even though no number for catches was displayed, but it still tried to catch and then showed 9 catches left

good game!

The click to block thing sometimes makes you select a card instead when it turns out you won that turn, you kind of have to react before you see the outcome of your attack.

bugs so far:

  • got some purple octopus thing but in battle it wouldn’t display it’s abilities and so I couldn’t progress

  • got that minigame where you evade rocks by clicking on one of three lanes. Then I got another minigame, but it partically loaded the previous rock evading game on the background of that minigame, and got unresponsive

yup, it works now, thx!

if you use “play cards with single click” and try to play a card you can’t play because you lack the resources, the stage freezes.

not sure if it’s new or if I just never did that before

Sounds good to me!

Interesting idea. Though this example in particular is unaffected by fatigue, I think I was only drawing cards by ending the turn. But I guess fatigue could also affect regular draw (maybe it already does so, idk tbh).

(1 edit)

stage froze (but not the game), “Too long history of fatigue” after grinding for a bit

screenshot:

{"version":"v0.19.0","seed":[819962088,-1379398076,-462817662,2029491377],"heroType":"mage","hero":{"maximum":{"hp":15,"mp":31,"stamina":2,"will":5},"current":{"hp":15,"mp":24,"stamina":2,"will":5,"gold":0},"status":{"vitality":2,"sorcery":1,"fatigue":4},"items":["stoneCalendar","bountyOrcs","butchersApron","deformedCoin","steelShovel"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null],{}]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null],{}]]},{"name":"inspiration","cost":{"mp":2},"effects":[["intellect",1,{}],["exhaust",1,{}]]},{"name":"overnightStudy","cost":{"mp":1},"effects":[["intellect",-1,{}],["mana",10,{}],["maxMana",1,{}]]},{"name":"honey","cost":{"hp":3,"mp":2},"effects":[["vitalityHero",2,{}],["sorcery",1,{}],["exhaust",1,{}]]},{"name":"rally","cost":{"mp":1},"effects":[["clearStatusHero","afraid",{}],["fatigue",-2,{}]]},{"name":"adapt","cost":{"hp":3},"effects":[["invertNegativeStatuses",null,{}]]}],"maxStashedCards":3,"immunity":{},"cardRemoveCost":2,"cardUpgradeCost":2},"stage":5,"ascensions":[],"rewards":{"rerollCosts":{"cards":5,"items":3,"nextQuest":1},"amounts":{"gold":8,"cards":3,"items":3,"chances":{"rare":0.3,"upgraded":0.22000000000000003},"taggedCards":{}}},"encounters":[2,7,14,19,34],"quests":[{"stage":2,"quest":"Take bounty for orcs","completed":true},{"stage":3,"quest":"Help with beekeeping","completed":true},{"stage":4,"quest":"Buy some ink","completed":true},{"stage":5,"quest":"Get individial curriculum","completed":false}],"encounter":[34,"stoneGolem",["acidSlime","stoneGolem","suspiciousChest"],["will positive"]],"ts":"2025-05-30T10:24:46.269Z"}

heh, I probably should try to unlock stashing more intentionally. Thx for the quick fixes btw.

(6 edits)

I got two bugs for you:

  • This stage freezes, and just keeps eating memory after you press end turn. Something about eels getting hurt by spikes, I guess.
{"version":"v0.18.0","seed":[1849425566,1893896691,1130112186,769705062],"heroType":"mage","hero":{"maximum":{"hp":16,"mp":22,"stamina":2,"will":6},"current":{"hp":12,"mp":21,"stamina":2,"will":5,"gold":16},"status":{"luck":7,"defence":2,"fatigue":1},"items":["chainMail","frayedTome","rabbitPaw","fortuneCookie","luckyCoin","peaPod","redSeven","portableBookcase","tentacle"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["CardsPlayedCount","",1],{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["CardsPlayedCount","",1],{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["CardsPlayedCount","",1],{}]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null],{}]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null],{}]]},{"name":"rally","cost":{"will":1},"effects":[["clearStatusHero","afraid",{}],["fatigue",-2,{}]]},{"name":"pause","cost":{},"effects":[["drawCards",1,{}],["fatigue",-2,{},["amplifiedHero","eq",0,{}]]]},{"name":"ivoryTower","cost":{"mp":1},"upgraded":1,"effects":[["defendHero",["HandCount","",2,null],{}]]},{"name":"sigilOfFaith","cost":{"will":1},"upgraded":1,"effects":[["will",7,{},["diffSigils","eq",1,{}]]]}],"maxStashedCards":3,"immunity":{},"cardRemoveCost":2,"cardUpgradeCost":2},"stage":6,"ascensions":[],"rewards":{"rerollCosts":{"cards":7,"items":4,"nextQuest":2},"amounts":{"gold":10,"cards":3,"items":3,"chances":{"rare":0.2,"upgraded":1.01},"taggedCards":{}}},"encounters":[2,5,14,16,21,45],"quests":[{"stage":2,"quest":"Borrow a book","completed":true},{"stage":3,"quest":"Order fortune cookies","completed":true},{"stage":4,"quest":"Embrace daily routine","completed":true},{"stage":5,"quest":"Read many books","completed":true},{"stage":6,"quest":"Practice mindfullness","completed":false}],"encounter":[45,"electricEel",["electricEel","woodenChest"],["defence positive","spikes positive"]],"ts":"2025-05-08T12:28:42.317Z"}
  • This sleeping tonic doesn’t get removed after use, seems buggy to me, can’t figure out why. There was some ensnare stuff going on at a previous stage, I think I played it while ensnared. It’s not different in the next stage. Steps to reproduce: use pray, use sleeping tonic, it’s still in the deck.
{"version":"v0.18.0","seed":[-2107259173,322866953,185819529,-123664142],"heroType":"priest","hero":{"maximum":{"hp":16,"mp":15,"stamina":7,"will":30},"current":{"hp":16,"mp":12,"stamina":3,"will":24,"gold":39},"status":{"intellect":2,"strength":-1,"toughness":-1,"vitality":-1,"piety":20,"protected":1,"defence":5,"fatigue":8},"items":["paupersBowl","tatteredShirt","bountyGoblins","pedestal","bountyOrcs","wizardHat","diamondRing","portableBookcase","diademOfSuffering","chisel","moonBlade","sackOfGrain"],"deck":[{"name":"sigilOfWrath","cost":{"will":1},"effects":[["lightning",5,{},["diffSigils","eq",1,{}]]]},{"name":"sigilOfWrath","cost":{"will":1},"effects":[["lightning",5,{},["diffSigils","eq",1,{}]]]},{"name":"sigilOfSanctuary","cost":{"will":1},"effects":[["defendHero",5,{},["diffSigils","eq",1,{}]]]},{"name":"sigilOfFaith","cost":{"will":1},"effects":[["will",6,{},["diffSigils","eq",1,{}]]]},{"name":"sigilOfFaith","cost":{"will":1},"effects":[["will",6,{},["diffSigils","eq",1,{}]]]},{"name":"pray","cost":{"will":1},"effects":[["initiative",1,{}],["piety",1,{}],["drawCards",1,{}],["persist",4,{}]]},{"name":"pray","cost":{"will":1},"effects":[["piety",1,{}],["drawCards",1,{}],["persist",4,{}]]},{"name":"sigilOfVigor","cost":{"will":1},"effects":[["healHero",5,{},["diffSigils","eq",1,{}]]]},{"name":"sleepingTonic","cost":{},"effects":[["will",15,{}],["endTurn",null,{}],["singleUse",null,{}]]},{"name":"ritualCircle","cost":{"will":2},"effects":[["initiative",1,{}],["fetch",["CardsIndices","","Infinity","drawPile","tag","ritual"],{}],["persist",null,{},["handCountTag","gt",0,{"tag":"ritual"}]]]},{"name":"pause","cost":{},"effects":[["drawCards",1,{}],["fatigue",-2,{},["amplifiedHero","eq",0,{}]]]},{"name":"pray","cost":{"will":1},"upgraded":1,"effects":[["piety",2,{}],["drawCards",1,{}],["persist",4,{}]]},{"name":"pause","cost":{},"effects":[["drawCards",1,{}],["fatigue",-2,{},["amplifiedHero","eq",0,{}]]]},{"name":"runeOfHeartiness","cost":{"mp":2,"stamina":3},"effects":[["insertEffectPermanentlyHand",1,{"effects":[["fatigue",-2,{}]]}],["singleUse",null,{}]]}],"maxStashedCards":3,"immunity":{},"cardRemoveCost":2,"cardUpgradeCost":2},"stage":9,"ascensions":[],"rewards":{"rerollCosts":{"cards":12,"items":4,"nextQuest":4},"amounts":{"gold":16,"cards":3,"items":3,"chances":{"rare":0.35,"upgraded":0.38},"taggedCards":{"rune":1}}},"encounters":[1,7,15,17,26,34,37,59,62],"quests":[{"stage":2,"quest":"Hunt rabbits","completed":true},{"stage":3,"quest":"Take bounty for goblins","completed":true},{"stage":4,"quest":"Take bounty for orcs","completed":true},{"stage":5,"quest":"Practice mindfullness","completed":true},{"stage":6,"quest":"Meditate with wandering mind","completed":false},{"stage":7,"quest":"Help with harvesting","completed":true},{"stage":8,"quest":"Admire beautiful moonlight","completed":true},{"stage":9,"quest":"Enjoy a bright sunny day","completed":false}],"encounter":[59,"ratKing",["smallRat","smallRat","ratKing","archeryTarget"],["maxMP positive"]],"ts":"2025-05-04T18:40:42.881Z"}

Works perfectly! Feels much less cumbersome to play with single clicks and no hints getting in the way, thx.

(1 edit)

This looks like it could be good, but it’s just too buggy to play for me.

bugs:

  • If I play all my cards, and then press end turn, the enemy attacks, and then… nothing. I guess it’s supposed to draw a new hand, but it just does nothing.

  • While in combat, you can still click on the (now invisible) map tiles you could visit, launching a dialog for an event tile, or launching another combat playing at the same time as this one.

  • If I select one pair, then another pair, and then a card that makes the first pair a three of a kind and the whole selection a full house, it says “invalid set”.

  • Good point about the arrows. My first intuition about them was that they mean that the subject value is increased or decreased by the effect, they look a bit more “meta” than the rest of the formula, like the arrows evaluating the formula.

  • I meant an option that only affects tooltips specifically for cards in your hand during a stage. The current options also affect tooltips in all other contexts.

  • Currently the selecting of cards causes me to use persistent cards more often than I meant to sometimes, because I double click when I don’t mean to. Thanks for reminding me of the keyboard controls, will try that.

  • You have a good point about the tedious optimal play, that’s a valid approach to the game’s design that I’m just not used to. It’s not really an issue to me, I can always just decide to play with a conduct to avoid using certain cards in certain ways, or pretend there is a limit.

I see, that’s reasonable. I guess it’s more interesting not to remove this interaction.

I don’t use discord out of principle. Not that I’d have much more to comment on this game tbh.

  • add a line in the “more info” tab about the meaning of ↓ and ↑, it took me some time to discover those had a tooltip. Or maybe use ⌊…⌋ and ⌈…⌉ instead.

  • an option to disable/delay tooltips only for cards in your hand, those tend to cover other cards, so that you can’t click on them.

  • an option to play a card with one click, without selecting it first

  • maybe at all try to avoid tedious optimal play? Stuff like the pipette and cynicism can easily put you in a situation where you get something infinitely if you just prolong the battle and do the same thing over and over again. The simplest fix would be to put a limit to how much you can get with these cards, for example pipette could only work once per stage, and give more max health if that would make it too weak compared to other items.

Really good game btw.

I upgraded pray using a rune, but in stages after that, it’s max persist value was reduced to what was probably the value at the time of the upgrade (2).

I don’t have a screenshot or save file because at the time I thought that’s just how pray upgrades.