OlivierC - Of course you use functions, but still how you use them adds up! You still need to know when to call which function and state your paremeters. Say for example you have on mouse clicked + is overlapping character: call function. First of all, you should only ever have to write that once and not for every character, which is obvious. But then also what if that character is unresponsive at the time? You don't want to have to add another condition saying 'is character responsive', so be sure to include that in your function.
And the more you get into it, the more little quirks may appear like timers - do you want them to stop when talking to someone? Just when talking to a specific person? And how do you event your speech? For every window of text you don't want to have to write 'is talking + talk page = X: call function that sets text to X'. Sure you will often have to refer to these, but making a neat way of housing all speech for a character under 1 set of conditions makes things easier.
So all I'm really saying is never get satisfied with how trim you get it, because there is always more to consider and easier ways to implement things. For my game most text doesn't require a single event, which makes life tremendously easier for the level designers/writers. But still I am always looking for new ways to add short-cuts that can reduce the need for events, or at least the number of actions and conditions and actions for more complex scenes. It's infinitely more important if you expect a lot of people to work along side you as you don't want to have to spend time teaching them how it works.
But about the XML/JSON, I had always thought you need an internet connection? I must say I haven't looked into it too much, I got turned off early on when there were still some issues with them. Maybe you could elaborate for me?
Sebastian - ah okay, thanks for that. I don't suppose you would have any idea how to implement dynamic lighting like that in C2? I know it's possible as I've seen a few demos using it, but there was never a capx. To have shadowing and lights working like that, alongside shaders and spriter, would lead to some really amazing and versatile visuals!