Hacker News new | ask | show | jobs
by zakgreant 1344 days ago
Neat! If you're not familiar with DOT <https://en.wikipedia.org/wiki/DOT_(graph_description_languag...>, you might find it interesting.

For example, your sample skill tree would just be something like this:

  digraph {
    "skill A1" -> "skill A2" -> "skill A3" -> "skill A4"
    "skill B1" -> "skill B2" -> "skill B3" -> "skill B4"
  }
There's a JS-based playground for DOT (and various other graph description languages) at https://rsms.me/graphviz/
2 comments

Update. Even though I didn't use the DOT syntax exactly, I added some syntactic improvements so that expressinga more complex dependency graph is easier. Now it allows for edges specified as {1,2,3} {4,5,6} (skills 4, 5 and 6 all depend on 1, 2 and 3), and the levels now can be expressed as 1 {skill 1, skill 2, skill 3}
Oh, I had used a program that used the DOT syntax without knowing that was its name. GraphViz was its name I think, but I may be wrong.

Thank you!