Ludii Forum
Updates to Brain Coral and Branching Coral - Printable Version

+- Ludii Forum (https://ludii.games/forums)
+-- Forum: Suggestions (https://ludii.games/forums/forumdisplay.php?fid=10)
+--- Forum: Submit Your Games (https://ludii.games/forums/forumdisplay.php?fid=23)
+--- Thread: Updates to Brain Coral and Branching Coral (/showthread.php?tid=704)

Pages: 1 2


Updates to Brain Coral and Branching Coral - dale walton - 09-04-2021

I have updated these games to add a cascading tiebreaker option as the default choice, and to add an Opponent capture's bonus to Branching Coral and making it the default goal.



Because the games are fairly different in character, I have split the lud scripts into 2 separate scripts, one for each game.



I have also revised the rules and info accordingly.



A note in passing: in play testing the AI on the games, I noted that  MC Grave typically was beating the optimized Ludii AI that used A/B. 

Having split the games, perhaps the AI can be optimized for the capture game (Branching Coral) independently from the simple placement game (Brain Coral).



I personally like the capture game more, and hope that by giving it its own listing it will get proper exposure.



--------------------------------------

I just updated the Branching Coral file to add explanation of the goal options into the rule test, and to add 2 alternate board/goal connectivity combinations for the boards with diagonals.
-- Also added go board sizes and square background and piece shadows.


RE: Updates to Brain Coral and Branching Coral - dale walton - 09-06-2021

Also breaking out the square version as a separate game (pair of games) called "Watershed - Plateau" and "Watershed - Floodplains" based on different connectivity.
The only options on this pair of games is which to play (board has diagonals or not) and board size (odd sizes) Background is color-coded for the game choice option.

Edit:

If this breakout is accepted, I can then revise the Branching Coral and Brain Coral files once more to remove the square board options. If you would like me to. (Those still should remain more generalized in the other options available, until I gain more experience with which options are dominant.)


RE: Updates to Brain Coral and Branching Coral - Eric Piette - 09-07-2021

Hi,

Sure for your last message.
Please answer that message with the 3 .lud in their versions to be added/updated in Ludii.

Regards,
Eric


RE: Updates to Brain Coral and Branching Coral - dale walton - 09-08-2021

OK I have updated all the files.

Note also a change to the tie-breaker to make the cascading scores negative, thus awarding the tie to the underdog, so as to make the game sharper, and reduce some first player advantage a bit.  I don't see the need for a pie rule yet.  If the games are of wider interest, that could be added at a later date.

See the attached files.
The change to the tie-breaker affects the AI play, and it may need re-optimization. Also, the different topologies play differently enough that they may need separate optimization...

See the attached...


RE: Updates to Brain Coral and Branching Coral - Eric Piette - 09-08-2021

Hi,

Ok these games are going to be added in the next release.

Regards,
Eric


RE: Updates to Brain Coral and Branching Coral - dale walton - 09-08-2021

Windflowers is also related. I changed its background to a meadow green to distinguish it, and reduced the many of the options available, and changed the details of capture  vs group connectivity on the square and triangle-square grids, and made the default board the triangle-square board.

This helps to focus on the versions that play best.  There are now 3 sizes.  The smallest tends to end in fairly regular patterns after a longish journey.  The lasge size is a bit long for a game that  is not transparent (maybe in the future play pattern tactics and strategies will emerge that make it less opaque,  but complete games are about 20-50% longer than the number of spaces on the board. )  Thus the medium size is definitely the best.

I like  this game a lot because it is not limiting in placement, but poor placements can be captured. However doing so would dictate to opponent's new position - which can be an advantage.  In other words the game is full of cold spots, and is all about  activly manipulating where is hot and where is cold.

This would replace the current version... see attached.


RE: Updates to Brain Coral and Branching Coral - Eric Piette - 09-09-2021

Hi,

It will be also updated in the next release.

Regards,
Eric


RE: Updates to Brain Coral and Branching Coral - dale walton - 09-09-2021

Thanks.


RE: Updates to Brain Coral and Branching Coral - dale walton - 09-12-2021

Final update:
I discovered an obvious fatal flaw in the goal of Windflowers: a player can force a win simply be passing until the game ends.

Therefore I have changed the goal to a choice of most stones placed (preferred) or optionally, size of largest group.  The previous submission for windflowers should be replaced with the below attachment.

The standard tiebreaker remains as having the smaller of the largest groups after removing tied pairs, but the implementation and score numbers are slightly different. This is due to designing a comparison for the case of multiple players:

I found that the game remains finite if the capture condition is properly described for the multiple player case, and so I implemented it at the same time as changing the goal.

More testing will be needed to see if king-making is a problem, but due to the opacity, and the independence of players in choosing relatively stable sites for their pieces, I believe it should not suffer too badly from king-making.

A final note.  Although the game compiles and plays correctly, there is an error when it is loaded that doesn't seem to affect anything.

This appears to be coming from
(define "Tied4FirstPlace"
(=
  (max 0 (max (sizes Group "ScoreConnection" of:(player))))
  (max
  (difference
    (values Remembered "Scores")
    (max 0 (max (sizes Group "ScoreConnection" of:(player))))  // This is causing a non-fatal null pointer exception at compilation
))))

or from the process of expanding the defines.

java.lang.NullPointerException
at game.functions.intArray.math.Difference.concepts(Difference.java:137)
at game.functions.ints.math.Max.concepts(Max.java:95)
at game.functions.booleans.math.Equals.concepts(Equals.java:196)
at game.rules.play.moves.nonDecision.operators.logical.If.concepts(If.java:201)
at game.rules.play.moves.nonDecision.operators.foreach.player.ForEachPlayer.concepts(ForEachPlayer.java:143)
at game.rules.play.moves.nonDecision.effect.requirement.Do.concepts(Do.java:339)
at game.rules.play.moves.nonDecision.effect.requirement.Do.concepts(Do.java:344)
at game.rules.play.moves.nonDecision.operators.logical.If.concepts(If.java:204)
at game.rules.play.moves.nonDecision.effect.Then.concepts(Then.java:125)
at game.rules.play.moves.nonDecision.operators.logical.Or.concepts(Or.java:208)
at game.rules.phase.Phase.concepts(Phase.java:225)

...


RE: Updates to Brain Coral and Branching Coral - Eric Piette - 09-13-2021

Hi,

I fixed that little exception.
And I have updated this lud file for the next release.

Regards,
Eric