History and Notes
version notes | issues |
to do | credits
Version history
- version 1.1:
- New AI: Bob AI.
- Hard-coded AI
- Exact analysis of card gain/loss when choosing roles,
including calculating expected trade values inferred from
trade cards already drawn
- Better trading behavior: Will only trade over hand limit if
in search for a card (i.e, has nothing good to build on hand)
- Improved chapel behavior. Chapel will effectively increase hand
limit by one, and big point buildings will be preferred to be
put under it if it hurts the opponents
- Improved councillor decision engine
- Hard-coded card values, which will dynamically change during
play depending on what cards will be played
- Will play violet 1 cost cards for free if quarry/carpenter combo is
present
- version 1.0:
- ties are now recognized correctly
- Market Hall bug fixed
- added game over dialog
- GUI look changed
- "Use library?" is only asked in two player games when player is
governor and chooses role for the first time, otherwise it's used
automatically
- During trader and producer phase, which goods to sell/produce are
now proposed automatically even if player has other options, e.g.
other goods to sell/produce
- new AI: Dawkins AI. Improvements:
- if at 11 bldgs and next card would result in 3+ VP lead:
Try to force builder
- if at 11 bldgs and next card would result in <2 VP lead
or loss: Prevent builder, try to force councillor instead
- during builder phase: Don't build anything if building
would end and lose the game, only build if a player
afterwards might end the game (at 11 buildings, more
than 3 cards in hand and less than 2 VPs behind)
- use crane at 11 buildings if losing and game won't end
- role choice: Take into account whether losing, roughly equal,
or winning at the moment
- role chouce: Better estimation of (potential) profit for
producer/trader role, including knowing which trade values
haven't been drawn yet
- CardValue, BuildNothingValue: Take VPs (losing, equal,
winning) into account
- UseChapelValue: Take own cards, opp cards, hand cards,
#hand cards, #turns to go, VPs into account
- greatly optimized for speed, for faster evolution
- removed "Intelligent Dialogs" option and non-intelligent code
- added extensive help pages
- if building last building in a game, don't build what normally
would be built but maximize points instead
Known issues
-
user can use black market to discard goods, then change his mind and
don't build anything, thus illegally discard goods "for free"
-
the player does not see which cards get drawn for AI's "Gold Mine"
cards
-
if the supply and discard pile combined drop below a total of 10
cards, the game just stops without telling the user why. (Shouldn't
happen with the AI except if the player has a chapel, stores a
card under it every turn, and the AI won't build because it would
lose the game. What happens in the real San Juan game if players
run out of cards?)
To do
-
Improve GUI: Select roles with one click only, without the need to click
okay; Mark governor with small icon
-
Add hard-coded AI similar to Bob AI that tries to go for the guild hall
-
New genetic AI which will incorporate all enhancements from the hard-coded
AIs and then be trained against Bob, Guild Hall, and the other evolving AIs
so that its play will be more variable than Darwin/Dawkins
-
Implement San Juan variants, like playing without drawing and
discarding additional cards at the beginning, playing with no or a
weaker library in 2 player games, or nerfing the Guild Hall
-
Save player statistics (games played/won/lost, cards played, ...)
-
Add "cancel" during building phase, maybe ask crane/black market after
selection of which card to build
-
Deal with the known issues ;-)
Credits and thanks
-
The original San Juan game was designed by Andreas Seyfarth and published
by alea/Ravensburger.
-
JSanJuan was designed and developed by
André Wichmann in Java,
using the excellent Eclipse SDK.
-
The wood background of the main window is a texture created by
Noctua Graphics.
-
The scans of the English San Juan cards were found in the San Juan
files section of BoardGameGeek
and were originally made by Dick Ruck (crabro at BGG) for a different,
buggy implementation of San Juan (see below).
-
Thanks to Stefan Brück from alea games for providing a lot
of constructive criticism!
-
More thanks to Melanie Ludmann for playing countless games of San Juan
with me and for playtesting the program and providing feedback!
-
Thanks must also go to Guido Wegener for providing additional computing
power to evolve my AIs.
-
Additional thanks go to Günther Rosenbaum for creating an
excellent PC version of St. Petersburg
(http://www.westpark-gamers.de), Mark Haberman for doing a first, albeit
buggy and abandoned implementation of San Juan (look at
http://www.boardgamegeek.com in the San Juan files section), and Tony
Mitten for creating
an amazing MS Excel(!) genetic algorithm for Puerto Rico (to be found
at http://www.boardgamegeek.com in the Puerto Rico files section) - all
these have inspired me to do JSanJuan!