((( My real questions are: * Is this too much to bite off as a first project? * What architecture advice do you have? * What political advice for dealing with the author and publisher do you have? * What other advice do you have? * What other comments do you have? ))) I use a role-playing system called GURPS 4ed, which has a reputation for being enormously complex and crunchy. The default magic system certainly is more calculation intensive than D&D5's. Mostly because it's based on spending points from a pool to power spells, and because acquiring new spells involves a complex network of categorically distinct prerequisites. I want to construct a play aid which will have the following features: * Given my current spell prerequisites, what spells can I acquire next? More generally, what spells can I acquire in N more layers of the spell prerequisite graph? (Output is tabular) * Given the character's current state, and the fact I want to get a cool spell X, what paths lead to X? There is the obvious derivative, optimizing for A, what are the most optimal paths to X. (Output is graphs with drill down.) * Integration with GURPS Character Assistant 5, which is, alas, proprietary and witten in VB.net is needed. GCA5 only runs on Windows. (You get around it by running a virtual Windows guest on your Mac or Linux host ... Or just running it on Windows.) Everyone in my group uses GCA4 or GCA5 if they use automated character management at all so-- The magic system network assistant needs to interface with GCA5 as effectively as possible, especially since the source books are stored in a semistructured, machine readable format (I *think* they transitioned to JSON), and character stats, advantages, and disadvantages can be critical prerequisites for spells. * It needs to have an adequate GUI (preferably consistent, or even integrated with GCA5). I know I'd rather not work in the dying VB.Net language. C# would therefore be the obvious choice. I'd rather work in Scala, Python, or Java (in that order). I know just enough Prolog to know it is almost directly applicable to this problem's backend, but I would spend forever getting competent with Prolog, and then no one else would be able to maintain it. F# guts plus a C# outer layer might be a reasonable compromise. I haven't yet contacted Steve Jackson Games, the publisher, or the GCA author, Armin D. Sykes. GCA5 is currently selling for $16.00, but I think they let you install it as often as you want on your own computers. At any rate, I'm not optimistic SJG, in particular, would like to open their proprietary creative content in the form of data sheets for rule and source books through an insecure interface. I'm thinking for that reason they wouldn't like a Python or scripted solution, or an open source app. My real questions are: * Is this too much to bite off as a first project? * What architecture advice do you have? * What political advice for dealing with the author and publisher do you have? * What other advice do you have? * What other comments do you have?