Closed simondorfman closed 5 years ago
This was a lot to visualize in my head, but here's what I think a "rotation" would look like.
I'll keep this in the back of my mind. I don't think I want to transform how the board itself is stored since that'll mess with the engines, but I could make some kind of rotation translation layer in the UI.
The math to translate every single tile to its rotated tile will probably be a nightmare, especially if we want the ability to rotate around any selected point.
@skotz nice illustration of what rotate would look like. that's exactly what I was thinking.
yeah, some kind of rotation translation layer in the UI makes sense, rather than actually changing how the board itself is stored.
I get that this is may be a pie-in-the-sky idea for a prototype, because it works well enough as-is. but while I'm thinking of pie-in-the-sky UI stuff, it would also be cool if the board could transform from a 2D board to the 3D Pentakis Icosidodecahedron shape. Basically, give players two different modes to play the game, 2D and 3D.
I've got big ideas about how cool the 3D version graphics could look. Something like this:
I have some experience with 3D programming, but at least for now I'd rather not go down that path. Everything gets significantly more difficult when you add a dimension. The trig involved in perfectly placing 80 triangles is no joke. Plus you'd need a way to let the user rotate the model, select tiles, etc... It took me like 2 hours just to make the 2D board align and scale appropriately.
I have the basic structure in place to translate between graphical tile indexes and game board indexes. It looks pretty cool. Now I just need to add some intuitive rotation buttons.
This really messes with your mind, and I love it.
Implemented in v0.2.8
it's easier for me to see the path from one side of the world to the other side when there's no white space between the tile connections.
this UI feature idea would allow me to rotate the world so i can see any connection path without any whitespace between any tiles.
one way "panning" could work: I click and drag the board to the south-east. all triangles (and all the pieces on them) move one space to the south-east, and the pieces on the bottom and right wraparound to the other side. So the board always looks like the same shape, but you're able to drag the board and emulate spinning a globe.
one way rotating could work: have a globe icon on the corner with rounded arrow buttons (clockwise & counter-clockwise). pressing the buttons would rotate the world in that direction. perhaps the rotation would be anchored on the upper left triangle. Or anchor on a more central tile.
very bad mockup of the world with two arrow buttons on it: