While purposefully avoiding framing the problem in terms of a specific architecture, calling upon more sophisticated data structures, and locking down a specific output method (which was why the ‘coding’ and ‘performance visualization’ sections were so slim), I have presented the authoring dilemma through a working example.
Why authoring? Regardless of the implementation details of the artifact or architecture, someone has to make content (in this case, I focus on the AI) that fits into whatever restrictions are required. Even grammars and procedural generation need some terminal assets to work with. You can’t make something from nothing. And if we want more behaviors, characters, scenarios, or whatever we are aiming to build, we need some combination of more authors, more experienced authors, and ease of authoring. I feel like phrasing this in terms of an equation would be more clear (and someone else has probably done this better than I have already). Something like…
Content Authored = (#Authors * Avg. Skill Level )/Task Complexity
(Note: I am ignoring time as a variable in this discussion because it’s a constant that we cannot affect. Its effect can be observed in #Authors, as I am implying that more authors in the same span of time can produce more content. Also, # of authors or increase of skill does not scale as this equation implies — it is all case/task-specific. This equation represents the general positive/negative relationship of the variables involved)
On a specific project, teams manipulate these variables as best they can to maximize quality output: recruiting more authors (+ #Authors), training their authors (+ Avg. Skill Level), and utilizing hierarchical structures/building in-house authoring tools (- Task Complexity). This is well and good within teams, but my personal goal is to make it a reality in a broader sense. I want independent game designers, game companies, and more people in general to make use of the wealth of research that academic institutions are creating. As I said above, no matter the context, academics and non-academics alike must be able to create content in order to create these interactive virtual characters. It is my theory that the authoring burden is too high for anyone but the most determined, technically trained and scientifically-minded to want to use these systems.
Authoring Burden = SetupCost + (#Tasks * Avg. Task Complexity)
This equation is more common-sense than mathematical. It is clear that if someone has to make less things (- #Tasks), and/or those things that have to be made are simpler/smaller (- Avg. Task Complexity) , then it is easier to make those things (- Authoring Burden). My theory is if we reduce the authoring burden, more authors will want to use the system. As a community, we grow; we get more interactive characters enriched by a wider pool of perspectives.
If we build it, they will come. Great. How do we build it? There are many great minds that have implemented a number of architectures that make interactive characters not only theoretically possible, but physically possible. I do not intend to re-create the wheel. My goal is to choose an existing architecture that is optimal from an author’s perspective and make it more so by extending it to alleviate its authoring burden.
I have outlined here what makes up the authoring burden in general, but before I can assess how to alleviate a specific architecture’s burden, I must pick my architecture. The above writing will help me ground further discussion in how to do just that, which will be the topic of my next post.
~~~ ***** ~~~
(Note: Paulo say that arguing for “Complexity” in an academic document isn’t a good idea. Why? I dunno. We can find a better rephrasing of it to be measured quantitatively and qualitatively, such as: Number of clicks to do a task, Number of lines of code written, Number of functions, concepts, or interlocking sub-systems involved, Time to train authors to accomplish the task, Number of bugs/possible mistakes…)