-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
ARC works by sending broadcasts to tell engines to move, who then read the state, think, and report back a move. Of course, ARC does a lot of heavy lifting for state handling and delievery along with various UI tools, so this eases the load on the engine itself.
First, create the following broadcasts in your engine sprite. Your chosen engine sprite should be the one that does the "thinking" for a move.
$[engine_name]
$[engine_name] draw?
$[engine_name] stop
You should set "engine_name" to something not too long or complicated, and that doesn't collide with others. Good examples include:
white_dove
gok_classic
delta 4.1
This broadcast (remember to include the $ at the start!) will be what ARC calls your engine by when it wants your engine to think and report back it's move. The one with "draw?" means that the other engine has offered a draw, and it is valid to simply return accept (we will get into more detail about this later) and the one with "stop" means that the engine should stop all other scripts in sprite (important to not stop all sprites as this will stop ARC too).
Next, create the following for all sprites variables:
_dci fen
_dci think time
_dci black time
_dci black time inc
_dci white time
_dci white time inc
_dci move overhead
And finally create these for all sprites lists:
_dci
Now that we've created all of the basic setup stuff, let's actually integrate this! To better explain this, let's walk through what the engine should do when $[engine_name] is broadcasted.
-
$[engine_name](or other versions of this) gets broadcasted - Engine sets it's own internal board state with
_dci fen - Engine sets it's "side to move" (or stm for short) to the current stm that
_dci fenis - Engine notes how much time it has to think in seconds (the default is to use the
dci [white or black] timeanddci [white or black] time inc, unless if both enginesdci [white or black] timeis exactly 0, where it should then rely on_dci think time) - Engine thinks