jonthysell / Mzinga

Open-source software to play the board game Hive.
MIT License
82 stars 9 forks source link

How to run AI? #92

Closed paulmelis closed 3 years ago

paulmelis commented 4 years ago

I was trying to see if I could get your Hive AI to run on Linux. Mono does not have WPF, nor does Visual Studio Code support it as far as I can tell (but I might be wrong). So I tried to just get the engine to run under Mono, which works. But I'm not clear if the engine also contains the AI? When I start a new game, specify a move for white I can see CPU usage go up, but there doesn't seem to be a generated move for black.

Or is the engine merely the intermediate between two players and would I have to start the AI (or two of them) separately?

This is with the portable zip release, btw

jonthysell commented 4 years ago

Sorry for the late response, I didn't even see this issue.

The engine contains the AI but does not automatically play moves. The bestmove command tells the AI to start looking for the best move for the current position, but then it's up to you to play it or not. With "pondering" enabled (the default) the AI constantly looks for the best move in the background, which is why you see the CPU spike.

The Viewer typically drives the engine and handles calling all of the right commands. It's with the Viewer that you can easily "play against the CPU", as the Viewer will handle calling bestmove and play on the CPU's turn.

JHonaker commented 4 years ago

@paulmelis If you get it working on Linux, I'd be grateful for the setup instructions. I don't really need to dive into it now, so I don't have time to allocate to figuring it out.

jonthysell commented 3 years ago

I haven't announced anything yet, but I've got Linux and MacOS working for all of Mzinga.

jonthysell commented 3 years ago

See the readme for setup instructions for Linux.