Are you writing a parser from scratch or converting the CS code? I personally would convert the CS code, cuz you’re right, there are a lot of ways to do things. From scratch, you might not catch all of them, but if you follow the CS code, you’ll be doing the exact same thing the real thing does. I tried once, but it was a bit too much for me to wade through, cuz I’m more a PHP man than JS. I might try again someday, cuz once I know the way CS works, I could mod it in other, very cool ways.
Good thing is, though, that once you have a parser, you could use it to output many things, like a graphviz file or convert a choicescript game to another language like, say, Twine or Undum. It’d be nice to be able to convert back and forth between various CYOA filetypes, letting people develop a game in different ones, cuz each has strengths and weaknesses. For example, I’d like to start in Inkle. That way I can stay in my right brain, just writing story. Then, I’d convert it to CS to add things Inkle can’t do. A few years ago I wrote alpha code for an inkle2cs converter that also produces graphviz. It’d be nice to then either convert the CS to Undum for it’s nicer looking interface (or make the CS game itself have a nicer looking interface).
What I plan to do with quicktest is change its output to be graphviz code instead. Graphviz isn’t ideal, though, as it won’t show what the stats are doing, which is what I really want. Will you have a way to track stats from node to node in your IDE? (I still can’t get it to run, and I’m kinda afraid to mess with Wine too much. I did upgrade to 1.6.1 and use the real cabinet.dll, but it still didn’t work. I might still have multiple versions installed, but there’s so much Wine this and Wine that that I don’t know what’s what.)