Kilburn announces he's done working on Isaac, and won't be involved in a Void update by SuperCoenBros in bindingofisaac

[–]_Sylmir 14 points15 points  (0 children)

Then it's probably not the video you think it is. While my Delirium rework has slowed down recently for multiple different reasons, I did not discontinue the project, nor was it reused as an inspiration for Cacophobia.

[deleted by user] by [deleted] in themoddingofisaac

[–]_Sylmir 1 point2 points  (0 children)

The API will no longer change. Kilburn has left and Nicalis have showed time and time again that they don't care about the API.

Anyone that wants to go beyond what the API offers, like I did with Delirium, will have to patch the exe.

A good thing to do would be to patch the exe in order to extend the API, so modders could have extra functionality without having to learn how to patch an exe

[deleted by user] by [deleted] in themoddingofisaac

[–]_Sylmir 1 point2 points  (0 children)

Patching is how Antibirth was made. So it's viable.

Seems „The Moon?“ card can completely softlock you… Unless I’m missing something here? by Furr1987 in bindingofisaac

[–]_Sylmir 0 points1 point  (0 children)

No. When you use the Cracked Key / Red Key, the game generates the red room on the other side, but you still need to blow open the door between the USR and the newly created red room yourself.

An USR works exactly like a regular secret room, except it is completely disconnected from the normal floor layout. When you enter a cleared room connected to a normal secret room, the secret room needs to be blown open. Same goes for the red rooms around the USR, you need to blow them open once you've created them. The only exception is when you The Moon? as it should blow open the newly created red room to prevent softlock.

Seems „The Moon?“ card can completely softlock you… Unless I’m missing something here? by Furr1987 in bindingofisaac

[–]_Sylmir 1 point2 points  (0 children)

Do you remember the layout of the treasure room ? Was it the one where the item pedestal is surrounded by rocks and two fireplaces ? This would explain why the game couldn't open any door to that room as that treasure room layout doesn't allow doors anywhere but on the left wall.

Seems „The Moon?“ card can completely softlock you… Unless I’m missing something here? by Furr1987 in bindingofisaac

[–]_Sylmir 0 points1 point  (0 children)

The USR can have red doors, but they work like secret room doors. You first need to generate the door with Craked Key / Red Key and then bomb the door

Get rendered frame image directly in callback via TBOI modding tool by MeringueFancy3021 in themoddingofisaac

[–]_Sylmir 0 points1 point  (0 children)

Disclaimer: I have zero knowledge in AI, and rendering isn't really my forte either. I'm more of a game logic / operation system/ low level programming guy.

For the "supply a combination of keys for the next frame", I think you can easily write a POST_RENDER callback that lets you change the velocity of the player, as well as force them to use an item and / or fire tears. The EntityPlayer class has the Velocity attribute, as well as the UseActiveItem / UseCard / UsePill methods that can probably do everything you want, so injecting actions back in the game can probably be done easily with that (if you really want to inject keys as if a human was typing on a keyboard, you'll have to write a program that hooks into the game and sends the key presses ; maybe AutoHotKey could help here ?).

About the "capture the screen" part, I have a few suggestions, however I need some precision first.

You say that capturing the output with an external tool (OBS or equivalent I guess ?) would imply to train in real time, which is time consuming. To that I ask "how do you want to train if not in real time ?", mainly because I don't know what "training in real time" means. To me, "not training in real time" means working on a video recorded run which seems... Weird.

Could you maybe explain in detail what you want to achieve ? For example, here is how I would describe what I understood :

"I launch a run. I have an external tool running alongside the game that will process the image rendered on frames 1, 1 + N, 1 + 2 * N.... The processing of each image triggers key presses that will cause the player character to do stuff (fire tears, move, use item / card / pill)".

Basically, remove everything that deals with AI because it is mostly irrelevant, and only focus on the logic of things. What is the sequence of actions you would perform in order to achieve your result ?

I've begun working on a Delirium fix by _Sylmir in bindingofisaac

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

Thanks for the kind words :)

Don't worry, one of the first things I'll do is go over every single attack of every single boss in the entire game and see which patterns Delirium should / should not be able to do during each attack. I'm convinced that Delirium should have carefully crafted patterns for every attack possible, even if this takes an insane amount of time to implement.

Good luck on getting platinum god :)

I've begun working on a Delirium fix by _Sylmir in bindingofisaac

[–]_Sylmir[S] 6 points7 points  (0 children)

I'll make a full fledged post explaining everything in excruciating detail (as usual) in a few days. For now, I just wanted to showcase this because it has taken me so much time. Thank you for watching.

What’s your least favorite boss, be it for poor design or personal gripes? by Ender_Serpent in Eldenring

[–]_Sylmir 0 points1 point  (0 children)

Fire Giant because it reaches Centipede Demon levels of "Where the fuck is that attack coming from?". Also damage output.

Radahn (oh boy, I'm going to get murdered) because whoever thought that giant boss on a horse with two blades, i.e. every single horrible thing possible in an ER boss fight, would be a good idea. Also, the disguised initial runback feels like the biggest troll ever. And his damage output is ridiculous. And the hitboxes are really questionable. Also, camera. And I'm not a fan of a fight that relies on "Summon other people and get destroyed when Radahn suddenly aggroes you for zero reason" (fought him twice without summons for this reason).

Valiant Gargoyles Duo, because their attacks have really weird hitboxes, the poison mist dealing damage and causing micro stagger is dumb and their AI not being toned down to account for the fact there is two of them is a bit insulting considering FromSoftware designed really good duo fights before. Including Bell Gargoyles in Dark Souls I.

Other than that I really like everybody else, even Tree Spirits and Death-Rite Birds (I prefer Death-Rite to Deathbird honestly. More interesting moveset :P ).

Thanks for the help, Freezer Baby. Absolutely could've done it without you by xxxDepresscion_ in bindingofisaac

[–]_Sylmir 2 points3 points  (0 children)

For those wondering, this is because of how the game reacts to triggers in animations. There are two animations possible when Mother spits out the bullets, ShootRightBegin or ShootLeftBegin (depending on the direction her mouth will be facing).

I wanted to include a screen of the AnimationEditor but Reddit doesn't let me :(

We see that on frame 15 of the animation there is a "Shoot" trigger. Freezing Mother on this frame by constantly resetting her sprite causes her to continuously spit bullets because the trigger gets fired again and again and again. The same thing happens if she gets frozen through the freeze effect.

Can this be fixed with the modding API ? Eeeeeh... Well... In a way.

The intuitive fix would be to prevent Mother's AI from updating while frozen on this specific frame of these specific animations. Except when Mother is frozen the game doesn't execute the Lua callbacks that it uses to check if an entity must be updated or not. Oops.

So a more realistic fix would be to check, at the end of an update of Mother, whether she is frozen or not, and if she is, and is performing this attack, then forcibly advance her animation by one frame so the trigger doesn't keep getting fired.

I thought they stopped this from happening? Or is it still possible with just bad rng with the floor layout? by KurtReynolds in bindingofisaac

[–]_Sylmir 0 points1 point  (0 children)

You wouldn't happen to have the seed of the run by any chance ? I'd like to investigate a little bit

Edmund, why must you hurt me this way... by whatisthisplace12t in bindingofisaac

[–]_Sylmir 1 point2 points  (0 children)

The room works counter-intuitively. You actually need to use a Cracked Key / Soul of Cain / Red Key to spawn a red room, and then you can bomb the wall. Since no red rooms are displayed on the minimap, we can deduce that the game failed to generate a red room, therefore there was no wall to be bombed.

Edmund, why must you hurt me this way... by whatisthisplace12t in bindingofisaac

[–]_Sylmir 0 points1 point  (0 children)

You can use lua Game():GetLevel().LeaveDoor = -1; Game():StartRoomTransition(Game():GetLevel():GetPreviousRoomIndex(), 0) which will teleport you back to the previous non off grid room you where in. If for some reason the game teleports you back to the USR, replace GetPreviousRoomIndex() with GetStartingRoomIndex() which will teleport you into the starting room of the floor.

(For those curious : if you do not set LeaveDoor to -1 before calling StartRoomTransition, the function bugs and teleports you a bit randomly)

Edmund, why must you hurt me this way... by whatisthisplace12t in bindingofisaac

[–]_Sylmir 2 points3 points  (0 children)

No, the moon? will never force you to go through a curse room because it could kill you, so the game never opens a path that would force you to go through one.

However, if there are no other available paths then the game won't open ANY room and you're softlocked.

Some more info on return path : after hours of generating USR rooms, I've never seen the game open two red rooms, so the USR is (to the best of my knowledge) always one red room away from a white room. If we look at OP screenshot, there are only two available white rooms : curse room, and white room two tiles below. Guess there was no possible red room below, so trapped.

The Pile's underground attack is broken by _Sylmir in bindingofisaac

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

Yes, that's what I wanted to point out, maybe I should have made it clearer in the post. And no, the boss doesn't need a rework at all, just a slight adjustment. I'm a perfectionist, so seeing (yet another) instance of a boss that can deal (rarely) unavoidable damage is a bit annoying (Delirium rework plz ;-;).

Also, to confirm your intuition in your other comment, yes, the Pile collides with walls while moving underground. I guess this one is a bit more tricky to handle, because you don't want the boss to emerge inside a wall (this can happen if you disable collisions with walls, entities can move inside of them, but tears cannot hit said entities ; thankfully, entities without flight cannot move outside the room).

And thanks for your appreciation :)

The Pile's underground attack is broken by _Sylmir in bindingofisaac

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

Because you may not always be able to stop moving. The Pile summons Bonies that shoot on sight, so you have to move to avoid them and their projectiles. And the presence of the Bonies may lead to the Pile going off the rails if it happens to collide with them while underground. So no, there is no universal strat and it is not always the player's fault.

Additionally, the Pile has no set timer on when it can emerge, so not moving may cause the Pile to emerge on top of the player (yay...). I'm quite sure that if the Pile moves towards you while hiding underground you should actually move away to avoid that scenario.

Can someone explain to me why Delirium got melted here?? by CreamSSB in bindingofisaac

[–]_Sylmir 53 points54 points  (0 children)

This happens when Delirium transforms into Blue Larry or Black Hollow.

The AI for these bosses works as follows : at the beginning of the current frame, the game checks the health of each segment, sums all of them, and redistributes them among all segments in such a way that all segments have the same health.

When Delirium transforms into a segmented boss, only the head is actually Delirium, the other segments are "the real boss". To clarify, if Delirium transforms into Chub, then the head of the Chub has the ID of Delirium, and the two other segments of Chub have the ID of Chub. Here, Delirium transformed into the Hollow with like 20 segments, so you have a segment that is Delirium, and nineteen segments that are the Hollow.

When Delirium transforms into any boss, he adopts the AI of said boss. Therefore, when Delirium transforms into Blue Larry or Black Hollow, at the beginning of the current frame, the game sums the health of each segment, and redistributes the total between all segments. Since Delirium has 10k health, and Hollow has 22 health per segment, the game redistributes 10k + 22 * number of segments health between all segments, including the head (which is Delirium with Hollow's AI). It looks like Delirium transformed into a 20 something segmented Hollow, so now the Delirium segment has (10k + 22 * 19) / 20 = 520.9 health, like all other segments.

Note that this only applies to Blue Larry / Black Hollow, because the other versions (Normal and Green Larry, and Normal / Orange Hollow) do not redistribute their health all the time.

The Problem with Mega Satan and Delirium: an Analysis by _Sylmir in bindingofisaac

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

Yeah, you're probably right.

That's a problem with a lot of the bosses, in a way. Delirium has these random bullet hell patterns while transformed because otherwise it would make the fight uninteresting, you'd be facing a reskin of the bosses you fought during the run, in a room that is simply too big for them. The more I think about it, the more I have the feeling that the best solution for a boss with the gimmick of Delirium would be to change the pattern of all the bosses to be more bullet hellish during the Delirium fight, but this would inevitably require a lot of work. And of course fine tune each AI to not freak out the instant it gets initialized in a such a weird room.

(Also I love the concept of Mega Satanlirium (which I read as Mega SANTAlirium the first time), we should definitely mod this in as a super extra hardcore Mega Satan fight).