Closed simondorfman closed 4 years ago
Doesn't this all fall apart when you rotate around an axis? Both of these images represent the exact same board state.
Also, I spent a good amount of time coming up with the math to link a tile with its neighbors, and it's not as simple as adding or subtracting numbers. The actual logic can be found here: https://github.com/skotz/volcanoes/blob/547c05db8bc13fd32b271fe02833d6c2fc1ede88/Volcanoes/Game/Constants.cs#L44-L157
Yes, rotating does mess up the 2nd point of trying to keep the tiles organized. But I think the 1st point still has merit.
I studied the code with the logic. I still don't really understand it. But I respect that you're not interested in messing with this. So I'll just close this ticket.
Maybe there's another way to accomplish this without renumbering the tiles. There's already a graphics setting for highlighting the neighbors of a tile. The color is set to light grey by default, so it's not super apparent. The setting is HoverAdjacentTileBorderColor
if you wanted to play around. Note that it's a graphics.json setting, not a volcano.json one.
Interesting idea. I was trying to play around with the color, but can't figure out what to put in the graphics.json exactly. Looking at the code nearby, I tried this:
{
"HoverAdjacentTileBorderColor": "Color.FromArgb(26, 196, 196)"
}
But it's not working. I tried variations on that but couldn't get it to work. Could you please give me an example of a value that goes in the json?
Colors can be specified in hex like this: "HoverAdjacentTileBorderColor": "#FF0000"
I wonder if the board would be more intuitive if a side numbered X were to always oppose a side numberd X+10 or X-10, and if cells always opposed cells with the same letter.
This would work if instead of breaking the board into 20 numbered groups of 4 letters (as it in now ) we used a single system where each of the first 40 tiles matched up with it's antipode (like A1-A40 and B1-B40). That still wouldn't solve the issue of wrapping your mind around the edges of the map, but it would help with understanding where the antipode for a given tile is.
I like that A1-A40 and B1-B40 idea! I think that would definitely help with understanding the antipode.
I wonder if North-South would be even more intuitive. Maybe N1-N40 and S1-S40? Or North1-North40 and South1-South40. Too verbose even if it's more grokable. What do maps use coordinates on the globe? https://en.wikipedia.org/wiki/Geographic_coordinate_system
I guess they use things like 45N for 45 degrees north. We're obviously not using degrees, but I think I like that idea of number first, then N or S for north or south.
So my current favorite idea is: 1N-40N and 1S-40S
updated spreadsheet showing where updates would happen with the 1N-40N and 1S-40S idea: coordinate_update_suggestion_v2.xlsx
Note that part of this will involve making the saved game loader backwards compatible with the old notation.
If it's less work, I vote to break backwards compatibility and just move to the new notation.
But I guess it would be nice to have so that my R parsing analysis stuff still works. Actually, I'm going to be continually redoing the analysis with each change of rules, so I don't think we really need backwards compatibility. Do we?
There were some errors in the spreadsheet so I corrected them based on what I believe was intended.
What do you think about this for formatting? Started the name with the letter, and then zero padded the number to make them consistent.
Done
Looks awesome!
goal:
The algorithm I came up with to try and easily explain opposites to a new player: "Whatever coordinate you're looking at, add or subtract 10 to the number, and that's the opposite side of the world. So 1A is opposite to 10A and 15D is opposite to 5D, etc."
Suggested changes detailed in the attached spreadsheet: coordinate update suggestion.xlsx