Ludii Forum
A Family of Four - Printable Version

+- Ludii Forum (
+-- Forum: Suggestions (
+--- Forum: Submit Your Games (
+--- Thread: A Family of Four (/showthread.php?tid=525)

A Family of Four - dale walton - 03-27-2021

Please review and accept this new experimental game.

Do you have standard Polyhedral nets?  I implemented my own Icosahedron, but it would be nice to use the standard one if it exists.

RE: A Family of Four - cambolbro - 03-27-2021


You should be able to describe your icosahedron board more succinctly by creating four triangles, scaling and rotating them as appropriate, merge, then add desired edges. You could do a splitCrossings on the two innermost triangles to split the edges where vertices are coincident.

What syntax would a "polyhedral" net ludeme use?


RE: A Family of Four - dale walton - 03-27-2021

Simply by name, eg:
(board (polyhedron Icosahedron))
You can go wild with which polyhedra to include. 

I doubt games with more complications than named polyhedra are needed, by if so the next step could be something like
(board (net Symmetry:{2 3 5} using:(tri 3)))
(board (net Symmetry:{3 3 3 3} using:(square 2)))
(board (net Symmetry:{3 5 3 5} using:(square 3)))  -- i.e. Tricontrahedron with tic-tac-toe faces
-- and then people can remove points they don't want...
(board (net Symmetry:{ {2 2 2} {2 2 2 2}} using:{(tri 2) (square 2)} ))  ?? snub cude with divided faces.... not sure this works,,,

(board (net Symmetry:{2 3 5} using:{(tri 3) axes:{5 5 5}} ))
(board (net Symmetry:{2 3 4} using:{{(tri 2) axes:{2 2 2}} {(square 2) axes:{2 2 2 2}}} ))

I think that  is still the future and you may have better ideas...

The display axis must be centered on a face in order to a avoid sites at infinity. -- so no option for polyhedra with a single type of face -- or perhaps center:<cell>. Get a math student to work out the formulas to locate the center of the face and the node points as projected on the plane, as the polyhedra are divided with duals and diagonals, etc.

Only for play on nodes of grid.  (If for faces, an orthogonal projection with rotation utilities would be appropriate, but hard to implement and hard to play.)

The actual projections probably need to be determined by experiment.  Curved connections would look best, but stereographic may have too great a difference in scale: you could try an azimuthal equidisdant projection instead.

RE: A Family of Four - dale walton - 03-28-2021

I find the analysis still hanging, and have thus made some revisions,
1) Shorten the piece names (cosmetic)
2) Use (set NextPlayer (player (mover) (then (move Pass)) instead of (move Set NextPlayer (player (mover))  as it is more natural (cosmetic)
3) distribute the consequences into the individual moves for clarity.
4) attempt to bring the game as close as possible to the spec posted in BGG.  (Ludii is still imposing some of its own anti cycling restrictions on some move choices, - I can live with that, even if they are not in the actual logic. but I can't seem to get the script to implement the complete logic of my definition, and thus cycles are achievable in practice - which may be what is hanging the Analysis and AI.

The attached trial shows an example with cycling, and I don't understand how it is being allowed:

In the attached trial and new version. The final position is a duplicate after removal, but the removal move is behaving as if it did not detect the positional repeat.-- If it had, it would not have cleared the stalemate state, and would have advanced to the next player to make a removal.

Please check it out.  There might also be an issue in the script of not detecting a situational repeat or of not finishing the set state consequences of a move when there is a forced pass - or this might have just been the same bug as above.

Or, else please respond as to what is wrong about what I am doing.

For Reference, here is a brief description of the game I posted on BGG:

-- Three types of pieces, with values 0, 1 and 2 respectively.
-- Goal: win when a group of exactly 4 of your stones, that contains minimum one of each type of piece, is present on the board at the end of your turn.
-- Score by tallying the value of each piece in the winning family.
-- If the winner simultaneously creates another family of his pieces on the board, score it also, --
-- But, do not score a simultaneously created family of the opponent's pieces for either player.

-- Locations surrounded by all 3 types (of either player) are unplaceable, and pieces on them are simultaneously removed at the end of each turn.

If repeat position, remove one opponent's piece, then if this is a new position, take a normal turn:  

Place if possible.
If not, move one step if possible,
If not, move again (i.e. treat the position as a repeat)
(Variant: treat a repeat position as a loss: opponent gets 1 point)

RE: A Family of Four - Eric Piette - 04-06-2021

Hi Dale,

I will check all the repeat detection code for each case with some examples, I come back to you when done and if that's on the next release, I will let you check all of that :)