I’m working on an Articy Draft importer tool for my own purposes. I’m aware of the Dialog Importer product on the Asset Store but for reasons of my own I wanted to write one myself. I was wondering if anyone else is interested in this.
The rest of this post will require a little understanding of the AD XML format.
Currently I can import the entire XML output of AD (except Journeys, which wouldn’t make sense) into custom hand-written classes for each type of object represented in the XML. These are what’s contained in the “Project” node of the XML and its subnodes. The “Hierarchy” node and the trees under that, including the Flow node and subnodes are stored in a tree of Id’s. As you traverse thru the flow you look up the IDs in a dictionary to get at the object containing the Dialog box, connection, pin, etc information. I’ll be targeting NGUI and/or the “new” UnityGui (whenever that appears) since that’ll be what I use and going forward will be the most common GUI system IMO.
I’m also storing all the expressions and other code objects, with the intention of generating code that can be used to emulate what you’d do with AD’s expression language. I don’t want to use dynamic code generation since that won’t work on iOS, which is my primary target platform.
A full load of their demo project “Maniac Manfred” weighs in at an ~300KB Serializable object. (for nitpickers, the dictionary is stored as generic lists and is reconstituted at runtime). That doesn’t include actual assets like jpgs, sound files, etc. which may be part of the AD project. The capability will exist to not serialize parts of the Project or Hierarchy nodes as one desires, which will certainly be useful on larger projects.
There’s more and more planned, too - but that gives the gist of what this is about. This is a overall a fairly complex endeavo(u)r.
Is anyone else besides me interested in this sort of capability?
jeff from benigngames
@benigngames on … well, you know :shock: