So I've been doing a lot of thinking about AC's dialogue editor and conversation mapping interfaces.
While I find action lists really easy to use and modular, the conversation editor tools in AC make it a real challenge for me to mentally map an entire conversation in my head. There are too many screens to sift through and get lost in and one must often use the hierarchy window to navigate back to the start of a conversation.
Here are 2 UI design changes that would really improve my workflow. What do you guys think?
Comments
Much of the "quirks" of the current system are down to how Unity works (or at least my knowledge of it). Multiple ActionLists on one object, for example, causes problems - is this what's going on in the Conversation mockup? I like the idea of a Conversation being editable in the node editor, but the option lists themselves will always have to be in a separate list object.
Vertical nodes do make sense, though, and I'd like to look into some of this. As for a timeline feature, it's been on my mind but it may well be much wiser to add integration with a dedicated asset instead. What do you think of Cinema Director support?
actions? Which systems could you foresee this being an issue with?
The main issue I was going to raise was that of adding the AssignValues parameter, but I see you've already covered that. 1.41 will likely reduce the number of component variables needed as well - things like the various managers, GameEngine scripts etc are being made into static variables.
what I can tell, the difference between Cutscene, DialogueOption, and
Interaction ActionLists is very minimal. If that level of abstraction
was removed and they were all just ActionLists, then the player could
create any of the above simply by arranging actions on a generic
ActionList.
The issue isn't so much the separation of ActionList "types", but the way AC expects them to work: a list is called, it runs it's various Actions, and then stops. AC uses this simple way or working to it's advantage: for example, it places the game in a "blocked gameplay" state if any ActionLists set to "Pause Gameplay" are currently running. It can also make decisions about what "skipping" will achieve, whether or not saving is possible, etc.
If an ActionList were to contain your suggested "conversation" Action, AC would no longer be able to do these things - because the same ActionList could mean any of several different things depending on how "far along" it's progressed. It would also make it difficult (on the user side) to trigger the same conversation (or use a "cutaway" ActionList midway through a response) because the conversation is now tied to the Actionlist itself.
Keeping the various responses (i.e. DialogOption lists) in separate places does at least keep things very straightforward - even if it might not be the most user-friendly. As a compromise, what if the various Conversation "tools" (such as being able to manage options etc) were to be integrated into the node editor, while the options themselves were still kept separate?