-
Notifications
You must be signed in to change notification settings - Fork 10
GUI
The Prismata AI GUI is written in C++/SFML, and should run on Windows, Mac, or Linux, as long as the SFML library is installed. When the GUI is started, it will parse the AI configuration file and load all of the States
defined within it. You can then select which state to load as the starting state for your GUI game. You can then use the GUI to play an offline game against yourself (controlling both sides) or against an AI player of your choosing. I tried my best to make the GUI look nice enough, but it is not nearly as polished as the real game - feel free to make improvements and send pull requests. Not all unit art is currently included in the GitHub repo.
The GUI should be intuitive to any Prismata player, however some things are slightly different. The controls are listed in the bottom-left of the GUI, but here they are again:
-
Left Mouse
- Click on units to activate them, or the buy pane to buy a unit -
Enter
- Brings up the AI Menu, in which you can move up/down to select an AI player to perform the remainder of the current turn in the GUI. Pressing Enter for a 2nd time carries out the move. If the player takes a long time to think, it will pause the GUI while it is thinking and then carry out the entire turn move, one action every 200ms. You cannot interact with the GUI while the AI is thinking, or while it is carrying out its actions. -
ESC
- Exits to the State selection menu, or quits the game if on that menu -
TAB
- Switches between base set / random unit buy pane -
Shift
- Shift clicking works for the mouse as well as purchasing, but NOT for target ability units -
Q
- Activates all drones (does not do auto-defense like the full game) -
Z
- Undo action. The GUI stores a history of all game states, so this just pops the last one off the stack -
X
- Toggles the showing of the maximum attack / defense potentials of each player -
M
- Toggles the drawing of unit info panes when you mouseover a unit or buy pane -
Tilde
- Toggles the drawing of some AI debug information. This will draw thePlayer::getDescription()
string on the right hand side of the board for whichever AI player just moved -
Right Mouse
- Click and drag to move the display -
Mouse Scroll
- Zoom in and out