Skip to content
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

Occasional skipping of postgame #14

Closed
neale opened this issue Feb 5, 2017 · 9 comments
Closed

Occasional skipping of postgame #14

neale opened this issue Feb 5, 2017 · 9 comments

Comments

@neale
Copy link

neale commented Feb 5, 2017

I think I did this to myself, pretty positive actually.
But melee will pretty often skip the post-game altogether.
When a match is finished, the next frame is just the next match, skipping post-game, character select, and stage select.
The given example works fine, so its not my dolphin installation.
Nevertheless I can't find where I would have even enabled some sort of persistent game option.

@neale neale closed this as completed Feb 5, 2017
@neale neale reopened this Feb 5, 2017
@neale
Copy link
Author

neale commented Feb 5, 2017

I spam an action every second, I have the issue down to a line where I call an action when in IN_GAME.
If I don't call into techskill every frame, then the problem goes away. It would be nice to have an alternative, like

if ai_state.action  == enums.Action.DONE:
    do_thing()

If I skip 100 frames between actions I can end the game and get to post game. Its like the game can't end as long as the AI is trying to execute an action

@altf4
Copy link
Owner

altf4 commented Feb 5, 2017

I don't quite understand what the bug is here? The first comment sounds like you found a bug in melee? Perhaps you can elaborate a bit more on what you expected to happen versus what is happening.

@neale
Copy link
Author

neale commented Feb 6, 2017

I'm pretty sure the bug is not in melee.
When a match ends, the game will never enter the post-game state or character select as it should.
When the match ends, it just restarts the match.
I found that this happens when I give button input every frame.

I'm wondering if this was expected behavior and that I should avoid spamming melee with commands.

@altf4
Copy link
Owner

altf4 commented Feb 6, 2017

Can you make an example of this? Either in code that I could reproduce or video? I'm pretty sure that's not supposed to happen. :) You may have stumbled on some sort of rare melee bug on the transition between menus.

The game can certainly handle as many button presses as you can throw at it. That shouldn't be a problem. SmashBot frequently sends actions every frame to do various tech skill things.

@neale
Copy link
Author

neale commented Feb 6, 2017

I can do that. I figured out a way around it in the meantime.
If I use simple presses and release the buttons every other frame than I don't have the problem.

gamestate.step()
if gamestate.menu_state == melee.enums.Menu.IN_GAME:
    # frame one: just an example
    controller.simple_press(1, .5, BUTTON_A)
    # frame two: next time this loop runs clear the buttons
    controller.simple_press(.5, .5, BUTTON_MAIN)

""" Everything else"""

I'll make an example repo of this tomorrow:) Since I don't think this will allow me to charge smash attacks

@vladfi1
Copy link
Contributor

vladfi1 commented Feb 10, 2017

@neale That sounds like the 20XX salty runback feature, maybe you're running a modded iso? Or maybe you have some cheat enabled?

@ghost
Copy link

ghost commented Feb 10, 2017

@vladfi1, I tried running the bot with 20XX, couldn't pass the character select screen: #11

@neale
Copy link
Author

neale commented Feb 13, 2017

@vladfi1 I'm just using the stock 1.02 iso I got from Isozone with only the Netplay cheat enabled. I haven't been able to make any more headway on the main issue, mostly because I've been busy with work. If anyone was realllly interested they could comb through my forked repo around line 140. But I'll make a video or sample repo in lieu of that.

@altf4 altf4 closed this as completed Jul 3, 2017
@vladfi1
Copy link
Contributor

vladfi1 commented Jul 3, 2017

@neale Forgot to post this earlier, but I believe the netplay cheat code has some sort of postgame skip feature (possibly button-dependent).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants