-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to get tri-bomb to work reliably? #98
Comments
You need to double tap quickly. |
If I turn on autofire, it works easily. With it off, my timing is always wrong. Guess I need more practice.
I tried compiling but couldn't get it working yet. I would've started by adding the unaligned casts and work forward on mismatches. |
OK I never tried with the autofire. We may have an issue there. |
Are you using gamepad or keyboard for tri-bomb? |
pad lately, but I always play the SDL2 version, that don't use auto-fire |
I guess we should check how it's implemented in assembly. |
Strangely I'm having no problems anymore with tri-bombs. Seems easy to pull off now. I think it was some Retroarch problem as some recent updates has cured my frustration. |
Will try but the autofire seems to be broken in SDL2... |
actually autofire is always on in SDL2 even if you use -n: when you have multiple bombs but keep the B button on, it will keep dropping bomb when moving to a different cell without releasing and repressing B. |
I can't test the libretro now; so I made a SDL2 only change to fix the autofire; but it is breaking the tribomb... |
I don't think having an optional auto fire option can work with netplay, if two players have a different setting it will break the determinism. |
I did some research on netplay. The server controls the important values:
If a client sets a value, it gets overwritten by server. Tried many times to break the system but always rejected. Options like these appear to be per player.
|
I did tests before libretro autofire option was forced always. |
Did you read https://docs.libretro.com/development/retroarch/netplay/ ? |
Could you please check that before 277e7db in the libretro version:
|
I did read. Autofire is baked into the savestate. When a desync happens, server re-transmits back to clients and thus indirectly re-applys the 4 game settings mentioned above. Because the game settings are stored in there. I have to use low network latency settings and other switches because my jitter is terrible and otherwise unplayable. 5-10 seconds can go by before I hit a state reset. But I did notice that (Server) had monsters off, (Client) had monsters on. It took several seconds before Client got rewind state and monsters went from on -> off. Same with autofire. Server (on), Client (off). I could not run around freely dropping bombs until the state reset. Then the tribomb worked. Sometimes it gets so bad that I die, hit the victory screen, start new stage. To find out we're still playing the previous stage. Then I die for real! 😆 Even if Client changes settings in-game, Server will send that rewind handshake and wipe out any cheats Client was using. I found that autofire was baked into savestates, which was messing with my test results. So I went clean.
autofire off = drop bomb, walk around still holding button. Only 1 bomb dropped.
autofire off = could not get tribomb to work. Smashing the bomb button did not work. |
The save state should be saving all variables from the mem struct from the "master" variable to the "replayer_saver" one according to https://github.com/Javanaise/mrboom-libretro/blob/master/common.hpp#L42 I guess there's gonna be resynchs with the level selection too. Shall we remove this? There was quite a debate with the autofire option :) |
To be completely netplay safe, I agree.
For the back burner I guess. |
No monsters and the team mode selection are problematic too. I asked @twinaphex on Discord if there was an option to get core settings shared. |
@jdgleaver Could we get your input on that? We would need certain core options to be selected by the server. |
I have an extremely hard time getting tri-bomb powerup to work. How fast should one tap the bomb button to drop all of them? I only got it working once and thinking my technique is wrong.
The text was updated successfully, but these errors were encountered: