Server-Sided Articy Variables/Expresso and Client Events

Sun 12. Oct 2014, 06:14

Hi everyone,

Some of our designers have stumbled across Articy and really like the system. We've put together a small unit test and can export a simple flow with dialogues. This is all very nice, but my grasp of Articy is a bit tenuous and I have a few questions/scenarios where I'm hoping someone more knowledgeable with Articy can help:

How threadsafe/performant is the Access API, and more specifically, Expresso? We have a highly parallel architecture with potentially thousands of concurrent connections. Even though quests are event driven (thus less intensive transactions) I need to know whether this system can take the heat.

How do you handle waiting for events in the Articy? My best-guess approach right now is to bind a custom C function to a WaitForEvent(type) in Expresso (instruction flow frag?) and feed appropriate event types, caching some value (IE Global.CurrentSector) and following with a conditional flow frag.

How can I differentiate flow fragments for an exporter? Worst case scenario we can just prefix names, but we are going to need to specify some actions for the client and some for the server. I'd like to keep things as straight-forward as possible. A very simple example of what I'm thinking is:
[Server 0x1] Available Quest: Monsters! -> [Client 0x2] Accept Quest -> [Server 0x3] Spawn Monsters -> [Client 0x4] WaitForEvent("monster_died") -> [Client 0x5] if monstersAlive > 0 goTo(0x4) else goTo(0x6) -> [Client] You've done it, your rewards are 'x'! Claim Reward -> [Server 0x6] Distribute rewards

As we may need to add custom Expresso functions, is there a way to add these to draft's auto-complete?

What is the "best" way to synchronise Expresso variables to a database? Ideally in such a way that only variables actually used are stored? I'm not sure if there's a good intermediate for this problem besides writing an entirely separate flagging system, which I'd like to avoid if at all possible.
natom
 
Posts: 1
Joined: Sun 12. Oct 2014, 05:14

Return to Technical Discussion

Who is online

Users browsing this forum: No registered users and 21 guests

Who We Are
Contact Us
Social Links