I’ve gotten a few suggestions on labeling the tiles but I’ve not yet decided exactly how I am going to do it.
I am kind of curious how someone who could turn these into a random generator would label these. I’m almost tempted to break it down per wall connection as the room walls follow the different wall connection points as such…
For the most part if you’re making a dunging with the majority of it with the double width corridors you will be using the Double and possible the Irregular Double wall connections.
I’d like to come up with some kind of labeling system that would allow me to label them in a clockwise direction starting at the top of the hex. That way if I realise I forgot an option it won’t end up at the end of the list with other odd sorts but would at least be grouped with tiles that are similar in some aspects. Also a system like that might come in handy if ever I find someone willing to make a random dungeon generator with these tiles.
So the photo above would be categorized from the top of the hex with a Double Wide Left side Vertical wall, next side is Left Side Double Corridor , then nothing, then a Double Wide Corridor, 5th side also a double wide corridor then nothing.
The middle tile would have nothing, nothing, Right Side Double Corridor Wall, Open space, Left Side Horizontal Double Corridor, nothing.
The last tile would have nothing, Double Wide Corridor, Double Wide Horizontal Corridor, Double Wide Vertical Corridor, Double Wide Horizontal Corridor, Nothing.
Now to somehow figure out how to use that in some kind of labeling. I’m up for any suggestions! If you think you have an easier solution please let me know.
I think you would want to address the wall angles also. As it looks likes you can have wall angles at right angle and not at right angles. If I was to create a random dungeon creator out of them, I would probably do one of the following:
1) Enumerate each side ‘type’ based on it having a matching edge. Tiles could be then placed adjacent to other tiles with matching edge numbers.
2) Add additional information of various sorts -> wall angles, tile pair/edge probabilities, tile groups (IE to help make rooms more likely), etc.
Also a good idea. However it is fine for different wall angles to pair up, just as long as they are on the same connecting point on the hex edge. It looks like I’m not going to get away from a label that is excessively long.
if you enumerated by if the space between two points has a wall or open that would be 2^12 enumerations => 4096 possible edge combinations. Probably won’t use all of them. Each side could be represented by 3 hexadecimal numerals (1-0a-f), meaning the matching could be represented by 3*6 hex numerals or 18 characters if you weren’t worried about the human readableness of it. Then you would need to add a description of the interior of the shape.
I like that idea. I will mess around with it
Neglecting wall angles, each hex edge can be described by whether each segment (between consecutive colored marks, or between hex corners and the first and last marks) is open or a wall.
With n segments in each wall (in the main diagram, if the red marks are coincident with purple ones, n=12) a wall type can be encoded as a n-bit binary number.
The whole tile can thus be described by the type of each edge, either as a consolidated 6n-bit binary number or six separate n-bit ones for edges.
If the tile can be rotated, the first corner should be chosen in a standard way (e.g. minimum value if the edge codes are concatenated into a binary number).
If wall directions are significant, tile edges can be described by the direction and orientation of the 0,1 or 2 wall surfaces passing through each hex corner or mark. More specifically, there’s a pie slice of wall between two possibly empty slices of open corridor; completely open corridor can be represented as a special case.
Relative to the edge, the walls through marks in the example tiles run perpendicular (conventionally 0°), +30° or -30°, +90° or -90° (i.e. along the edge), while the walls through corners run through the bisectrix (conventionally 0°) or +60° or -60° (i.e. along the edge). Other angles, particularly +30° and -30° at corners and +60° and -60° at marks, could be added to the set of allowed wall directions
In the example each hex side has 11 marks with 11 configurations and a hex corner with 4 configurations.
I hope you figure out a good system, because someday I’d like to incorporate a random tile placement system into my MapForge software so it can build layout for you automatically with all the joins matching up properly. So far, I’ve only had to deal with square tiles, but when hex support gets added, this could be very cool.
Regarding the Random dungeon generator. It sounds like an interesting challenge.
So I think I may have something that should work on connecting the edges. However it does nothing for what is in the tile. So a blank tile with no walls or corridors touching the edges would be 000000 and solid earth tile would be 161616161616. However you could have four columns on the blank tile, a pit, a room, a pool, etc. The Solid tile could have a stairwell or pit in the middle of it. They can’t all be called 000000. So I may add an Alpha Numeric at the beginning