adonthell-minigame
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Adonthell-minigame] Isola game


From: Alexandre Courbot
Subject: [Adonthell-minigame] Isola game
Date: Tue Apr 9 11:27:02 2002

I've got a AI project to make for university this year. While this kind
of work is usually boring (less time to work on things that matter!), it
could finally be interesting to us:

The goal is to implement an Isola game. Isola is a board game which goal
is to unable the opponent to move his piece anymore. You and your
opponent start with one piece on the board. At each turn, you have to do
two things:
-move your piece
-mark a square as unreachable (you and your opponant can't move your
piece to this square anymore).

The player who can't move his piece anymore has lost.

Replace "piece" with "rune", and you have a mini board game that could
make it into Adonthell :)

The project details includes developing an alpha-beta algorithm to
simulate the computer opponent. Alpha-beta is very good for board games
(actually I know of no other algorithm that board games use) and should
be generic enough so we can use it in all of our minigames.

I think there is a lot of this work that could be of use to Adonthell.
The good thing is that we have a total freedom of choice for the tools
and languages we use. So why couldn't I do it using the Adonthell API?
:)

So I could directly work on the CVS tree, provided we want to include
Isola as a mini-board game. If we do so, I'd then use the Gfx/GUI
modules for the user interface, and make a package with the necessary
Adonthell modules and the Isola game for my teacher.

This would also be a good occasion to test whether our will to make
these games totally in Python is a good idea or not: The alpha-beta
algorithm would be entirely done in C++ (in the AI module probably), as
well as a framework for board games. But games themselves could be
totally designed in Python. This includes the famous heuristic function,
which would be called by the alpha-beta algorithm. Is this realistic in
terms of speed to do this funtion in Python? I personally think so, but
if this isn't the case we will have to revert to C++. Anyway, I'd first
try to do it in Python. And I'm nearly ready to bet it'll work.

If you see no drawbacks in what I proposed, I'll settle that with my
teacher (there are some huge dependancies on Adonthell that he might not
like ;p) and will not waste my time again with these useless university
projects! :)

Alex.
-- 
http://www.gnurou.org




reply via email to

[Prev in Thread] Current Thread [Next in Thread]