altf4 / SmashBot

The AI that beats you at Melee
GNU General Public License v3.0
548 stars 72 forks source link

Unable to get SmashBot running #123

Closed CHPraxis closed 4 years ago

CHPraxis commented 4 years ago

Hello,

I am unable to get SmashBot running. It won't launch at all in some Dolphin instances, and with the ones it does launch in, no input occurs from player 2.

In full disclosure, I have never done anything with Python before. Most of my coding experience is in XCode and Android Studio (Objective-C and Java).

I tried to follow the guide. I couldn't get Visual Studio to compile the special build of Dolphin- build errors relating to having too new a version of Visual Studio. So I skipped that after reading some other comments stating it wasn't required.

I couldn't get it to launch with the installed version of Dolphin, or with FM Slippi (r18), with this output in each case:

smashbot.py -e "C:\Users\username\Documents\FM-v5.9-Slippi-r18-Win" --debug

Traceback (most recent call last): File "C:\Users\username\Downloads\SmashBot\SmashBot-master\smashbot.py", line 67, in console = melee.console.Console(path=args.dolphinexecutable, File "C:\Users\username\AppData\Local\Programs\Python\Python38\lib\site-packages\melee\console.py", line 79, in init config.set("Core", 'slippienablespectator', "True") File "C:\Users\username\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 1201, in set super().set(section, option, value) File "C:\Users\username\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 902, in set raise NoSectionError(section) from None configparser.NoSectionError: No section: 'Core'

smashbot.py -e "C:\Program Files\Dolphin"

Traceback (most recent call last): File "smashbot.py", line 67, in console = melee.console.Console(path=args.dolphinexecutable, File "C:\Users\username\AppData\Local\Programs\Python\Python38\lib\site-packages\melee\console.py", line 79, in init config.set("Core", 'slippienablespectator', "True") File "C:\Users\username\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 1201, in set super().set(section, option, value) File "C:\Users\username\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 902, in set raise NoSectionError(section) from None configparser.NoSectionError: No section: 'Core'


But, it DID launch successfully with Slippi 2.2.1:

Command: smashbot.py -e "C:\Users\username\Documents\FM-Slippi" Connecting to console...

And I validated that the player 2 slot has "Standard GameCube controller" and it shows device "Pipe/0/slippibot2".

But when I go into the game, there is never any input from Player 2. There are .csv files in the Logs directory, but they are all completely blank.

I can verify that the melee library is installed here: C:\Users\username\AppData\Local\Programs\Python\Python38\Lib\site-packages\melee\

I'm not sure if it's supposed to be running in the background somehow? I am running Python 3.8.2

Thanks for any help!

altf4 commented 4 years ago

You need to build the Ishiiruka listed in the readme. It's basically just "regular Slippi" but with a feature added that lets SmashBot see the game. Without it, SmashBot cannot see the game.

altf4 commented 4 years ago

Hopefully soon this feature will be merged into upstream Slippi. It's related to the upcoming spectator feature. (SmashBot essentially spectates on the match) But it's not there yet. There's no ETA, but if you wait for a few weeks or whatever, you may be able to use "regular slippi" and not need to build this yourself.

CHPraxis commented 4 years ago

Trying to compile, I get 91 errors, all of which are almost identical (except in filename) to these two:

Code C1010 unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source? SlippiLib c:\users\username\downloads\ishiiruka-gamma\externals\slippilib\slippigame.cpp 561

Code C1083 Cannot open precompiled header file: 'C:\Users\cmhar\Downloads\Ishiiruka-gamma\Source..\Build\x64\Debug\pch\pch.pch': No such file or directory Dolphin C:\Users\username\Downloads\Ishiiruka-gamma\Source\Core\DolphinWX\AboutDolphin.cpp 1

altf4 commented 4 years ago

Visual Studio is a silly program. This is an error that happens with upstream Slippi Ishiiruka, too. Just rebuild the project.

VS sometimes tries to use precompiled headers despite never being told to.

CHPraxis commented 4 years ago

I even went and turned off precompiled headers in properties, and it's still giving me the same error :( I tried a rebuild too.

altf4 commented 4 years ago

Double-check that you're building the Release version and x64. IE: Not Win32