[Kde-games-devel] AI library in the gamelibs?

Ian Wadham iandw.au at gmail.com
Sat Jan 4 01:06:01 UTC 2014


On 04/01/2014, at 8:29 AM, Inge Wallin wrote:
> It supports the following features, which none of the current or previous board games (like kenolaba), do:
>  - time control of the engine, not just depth of thinking
>  - Iteratively deepening alpha-beta search algorithm with lots of optimizations
>  - Opening book generation and use of the opening books in the game
>  - Support for games with many different types of rule sets like loss vs tie if no move is available, simple win/lose vs graded win/loss (like chess and reversi, respectively), etc
>  
> So, what's your opinion? You could argue that an advanced AI library like this would be unnecessary for the simple types of game that we have in the kde games, but I have one argument against that: efficiency is not wasted even if you don't make full use of it. You can also use it to save batteries which is very important on tablets and phones.  And I do think we should port as many of our games as possible to Plasma Active and other tablet operating systems.
>  
> Regarding use of it, if this is interesting I will personally port both KReversi and KFourinline to it but this is probably a half to one year into the future. Could also make a good Summer of Code project.

Two comments.

Firstly, I know that smarter AI is a challenge and I wish to encourage
you, not discourage you, but I believe it is important for our games
always to contain difficulty levels that will not turn away beginners.
In my own case, KReversi and KFourinline are both too hard to win,
even at novice level, so I have never become "hooked" on them.

Secondly, I wonder if the above approaches could provide a better
AI player in KJumpingCube (Einstein?). ATM the algorithm is basic
MiniMax, preceded by an algorithm to pick a set of "likely" moves.
Kepler AI is the original algorithm and Newton AI is one I added.

The problems with KJC, as I see it, are that there is usually a large
number of possible moves and that each move can require time
to play its outcome, because of the possibility of "cascading" moves
spreading all over the board.  I have speeded up the processes
involved quite a lot, but am wondering (vaguely) where to go next.
Newton and Kepler are fairly easy to beat at the highest level
(i.e. largest number of moves in the lookahead).

All the best, Ian W.




More information about the kde-games-devel mailing list