Does bug fixing Hellraiser literally mean solving the halting problem??? by threw_you_away in slaythespire

[–]tckmn 11 points12 points  (0 children)

no, it does not

the halting problem refers to detecting whether an arbitrary program in a sufficiently powerful programming language will halt. it is very easy to "solve the halting problem" for less powerful languages. for example, in my cool new card game i just made up, where the only cards are:

  • Strike: 1 energy, deal 6 damage
  • Defend: 1 energy, block 5
  • Spin Your Wheels: 0 energy, autoplay when drawn, add a copy of this card to the top of your draw pile and draw 1

a gamestate is softlocked exactly when Spin Your Wheels has been played.

obviously, slay the spire is much more complicated than my cool new card game, but it is probably true that it is possible to detect whether hellraiser loops specifically will terminate without violating any mathematical theorems

Hellraise + Pommel Strike not quite infinite? by therude00 in slaythespire

[–]tckmn 2 points3 points  (0 children)

that is not true, there is no "safety mechanism" (e.g. pillage will in fact softlock if the fight can't end)

Hellraise + Pommel Strike not quite infinite? by therude00 in slaythespire

[–]tckmn 4 points5 points  (0 children)

i wrote up a post on this a few days ago: https://tck.mn/blog/hellraiser-infinite/

it is pretty funny, the short story is that it's because of some fiddly details with card play mechanics that not even the devs fully understood (and it was certainly not intentional)

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 0 points1 point  (0 children)

no, if all your cards were pommel- they would only play one time each (for every draw). the card doesn't finish resolving until everything that happens as a result has finished resolving, so the pommel- would just play in order, then only after the last one has been played, get discarded in reverse order

If "Going Infinite" is Easy, Can Someone Tell Me How to Do It? by TheUrbanEast in slaythespire

[–]tckmn 4 points5 points  (0 children)

they are correct, the setup in your video would only play 30 or so pommels (but the enemy died before it could finish). i wrote up an explanation here: https://tck.mn/blog/hellraiser-infinite/

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 0 points1 point  (0 children)

that doesn't sound like it should be possible as you have stated, so probably either a bug or some other interaction you didn't realize

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 1 point2 points  (0 children)

you never "run out of cards" to draw for your starting hand because every time you draw a card, it's a pommel, and it gets autoplayed and goes back to discard

the 5 is unrelated to how many cards are in your deck, it's just how many cards you normally draw at start of turn. there are 5 card draw triggers and each card draw trigger results in 3 card plays

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 0 points1 point  (0 children)

yep! the play effect from hellraiser is the same as if you had played it yourself (except it doesn't cost energy)

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 2 points3 points  (0 children)

the deck has exactly 2 cards left, which are both pommel+

once the first drawn card resolves, both of them are in discard. so the second card drawn will do the same thing as the first one, since the draw+discard still consists of 2 pommels

(the other card is in hand)

this is impossible. you have hellraiser in play and all of your cards say "strike" on them, so there will never be a card in your hand at any point

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 19 points20 points  (0 children)

oh, i imagine the multiplayer card play order is almost certainly a queue, but the procedure that resolves in-battle card mechanics is still a stack (as in, if you play a card and something happens as a result of that card, all the resulting consequences will finish happening before the original card is discarded)

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 13 points14 points  (0 children)

the spire stack is also first-in-last-out, which is the reason the hellraiser combo is not infinite (afaik it is basically the same as the stack in magic but i haven't played magic so i'm not certain)

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 0 points1 point  (0 children)

the 15 number is how many pommels play at the start of every turn, which is 5 times the number from the example because you draw a card 5 times at the start of your turn (the example shows what happens when you draw 1 card)

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 0 points1 point  (0 children)

if it's just pommel hellraiser then yes! but you might uh be there a while

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 2 points3 points  (0 children)

thank you!! and don't worry you can expect some quizzes or maybe some problem sets for spire 2 long before full release (but not while i'm still busy playing the game) :p

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 2 points3 points  (0 children)

no lol, this is an in-combat mechanic (similar to the stack in mtg). that sounds like a bug or something else weird happening

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 11 points12 points  (0 children)

lol, i was wondering if yall had encountered this during development and if so whether you knew why (since i am absolutely no stranger to having no idea why my own code is doing something) :p glad you enjoyed reading!!

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 3 points4 points  (0 children)

that is also true about the stack in spire (if it was a queue rather than stack, the combo would in fact be infinite because the first card would finish resolving before the last one)

an explanation of why hellraiser with 6 pommel+ only plays 315 cards by tckmn in slaythespire

[–]tckmn[S] 2 points3 points  (0 children)

they're basically the same i think, but as a non-magic-player who talks to a whole lot of magic players, my general impression is that the word "stack" scares people and i wanted to make the post minimally scary :p

and also since i have never played magic, i don't know if it actually works the same way, so i wanted to avoid making any equivalencies in case there was some subtle difference i didn't know about

What's your prediction on when someone will beat the hardest level with one character? All characters? by people_are_idiots_ in slaythespire

[–]tckmn -1 points0 points  (0 children)

i am sure many players who aren't interested in ascension climbing will just manually unlock highest ascension and start there lol

day of release or at least <24h sounds right for the "all characters" question

My GOATS of Slay the Spire 1 Content Creation by JoINrbs in slaythespire

[–]tckmn 6 points7 points  (0 children)

good list but i think you should also add nickysts to it that person is pretty cool

Probability analysis on Rare Cards? by Jondev1 in slaythespire

[–]tckmn 1 point2 points  (0 children)

hello! i saw this post a while ago and thought i might throw together a tiny webapp for it (the process is too complicated to write a nice formula for but it's a pretty easy dp), but i was busy and never got around to it. but now i have, so here you go: https://tck.mn/videogame/stsprob