(Original working title was “Yeah, That’s Going to be Hard”… but describing the problem, articulating it, basically gave me a solution. Rubber duck debugging wins again!)
So, the other day I had an idea for adapting Polyhedral Pantheons to a planar array. It seems simple enough…
- Take a matrix of arbitrary size.
- Assign a domain to each vertex.
- Each vertex represents a deity with that vertex domain as their primary domain and the domains of neighboring vertices (4-adjacent, for the graphics types).
- Any domain may appear multiple times.
- A deity cannot have opposing domains (Good-Evil and Law-Chaos are about it, in my opinion; I’m okay with Death-Healing, Air-Earth, and Fire-Water).
- A deity cannot have the same domain twice.
The last two points can be satisfied as long as the verboten pairings are a “Knight’s Move” away (i.e. move directly out two vertices, then one vertex perpendicularly to that path).
All well and cool, then I realized it would be quite difficult to implement in an Excel workbook.
Well, parts of it are fairly straightforward. I can keep the domain lookup tables I have now, and the validation rules used for drop boxes selecting the domains (even the one that lets me select which domain set — PF1e, PF1e-with-3pp, D&D 3.x). Attaching the validation rules to the cells is easy, and I’m pretty sure a simple Fill Right and Fill Down will let me make an arbitrarily big matrix. I still have to stay away from the edges (if I reach an edge, it doesn’t have enough neighbors to get the number of domains I want).
The challenge lies in how to present it. Unlike the current worksheets, where I can work in an individual sheet and see everything at once — domain selection for each site, and the concatenated list of primary and second domains, plus alignment calculations and faction weightings and whatnot — in this mode, each cell in the matrix represents a deity. I don’t have a good way to unwind it.
The closest I can think of is on another sheet in the workbook, I collate the domains: matching location in the assignment sheet is the primary domain, the 4-adjacent domains are secondary. I can calculate alignment, more or less (‘Law’ and ‘Good’ in the cell means ‘Lawful Good’), and perhaps can render using formatting differences (color probably) using conditional formatting. Maybe I can do something with faction calculations in the same manner (calculate the strongest faction and assign some formatting for each faction.
Or, I just realized, I could have the ‘assignment sheet’ and the ‘collating sheet’ much as I’ve described, but the collating sheets have taller cells that can show multiple lines of text.
What can I say? It’s been a long week, and I’m not immune to being overly attached to the First Idea for implementation. Though I think in this case I caught it in time.
Though… I don’t know that factions really can work the way they did, unless they’re world-spanning. I might have to give this idea up, unless I can find a different way of implementing them altogether.