12-07-2020, 11:56 AM
Thanks, Cameron, that is indeed very helpful.
(12-07-2020, 09:14 AM)cambolbro Wrote: With your A1 => B1 => ... H1 => A1 example, are you trying to achieve a wraparound board such as a cylindrical board?Yes, that's exactly what I try to achieve.
(12-07-2020, 09:14 AM)cambolbro Wrote: We will support such wraparound boards, as well as projective boards (e.g. Projex) through modifiers in the tiling.Oh, great, that's an interesting approach. So if I understand correctly, essentially the board would still be realized as a (possibly infinite) tiling of Euclidean space, but then you "divide out" certain group actions on that space (translations, possibly combined with rotations or reflections?) to identify cells with each other and get the wraparound. That would indeed create the topologies I was thinking about (and even a few more which I have not yet considered).
(12-07-2020, 09:14 AM)cambolbro Wrote: You'll see them unwrapped (flat) in the interface. Not sure yet how to show the wraparound connections visually :)Actually the visualization is less of a concern for me at this stage, and my main focus is on the game logic, i.e., implementing the game rules on a wraparound board graph. But based on the implementation via tiling, I do have some ideas in mind:
- On those sides of the board which are wrapped (such as left and right for a cylinder), one could have outgoing / incoming little arrows, possibly colored or indexed somehow, that should convey the meaning "the board continues here from this outgoing arrow towards the incoming arrow with the same color / index". I guess that's the easiest. (That's more or less how I implemented it Zillions, which has 2D flat boards only, but with a custom bitmap background image).
- One could show more than one copy of the board, and move pieces simultaneously on all copies. So the view would be a bit like standing in a mirror cabinet, where you see yourself multiple times in the mirrors.
- If one shows just one copy, one could have a "shift view" command, which shifts the whole board by one unit in some direction, and all cells which are shifted out on one side are shifted in on the other. So for example, for a cylindrical chess board, turning by one unit could shift out all H cells, making the G cells the rightmost shown cells, while the H cells appear next to A on the left, with the whole board shifted to the right by one unit.
(12-07-2020, 09:14 AM)cambolbro Wrote: I hope to have this done within the next few weeks.That would be awesome!