[WIP] Story Generation Templates

And yeah, there is some basic socialization that goes on. An NPC will see an event happen (ie: A building collapses and kills another NPC), and it’ll store a record of that event, modified by the NPC’s opinions about the other NPC and the building. So if it likes the NPC, it’ll claim the NPC died in some epic way.

That information is then told to other NPCs, who modify it to suite their opinions, and it starts propagating. It creates a really interesting social simulation, since conflicting opinions lead to more conflicting opinions, and you can start to see NPCs have great distaste against other NPCs.

I’m even considering adding a super elementary NLP library into things (Most likely just use an open source one) so that the player can contribute. I’d most likely do a quick parse over what the player is saying to pull out the subject and verb, then run a sentiment analysis pass to see what the player’s opinion is. Moderately light weight, and it’d produce great results.

Also the 1GB thing is the simulation running without this component on. I’m trying to figure out ways to keep this below 4GB once I enable social. At the moment every record is stored as 4 bytes, the issue is there are just SOOO many of them, and it would take to long to see if that particular NPC has already stored a record before, so there is way too much repetition.

Well then, that’s exactly what I needing right now. I’m sending you an e-mail

DOT should be moving over to native UE4 soon. We’re currently in the process of having it directly integrated into other community libraries. Lots of progress! Woo

DOT is no longer going to be open source. The editor (And all future editors) still be however. We plan on moving our engine suite (DOT, LINK, PROC, DIAG, and ZETA) to a subscription based model.

Edit: Changed my mind about DOT. Its now fully open source: [FINISHED] DOT Fuzzy Logic AI Engine Pre-Alpha (Open Source) - Community Content, Tools and Tutorials - Unreal Engine Forums

I can’t really give much info on >LINK and PROC yet, but DIAG is a Natural Language Generator and Processing library once again designed for highly parallel architectures (Directly integrated into DOT). DIAG is oriented on allowing the player to interact with AIs created within DOT without a finite number of options they (as a player) could pick. Our goal was to create a system that would allow either A) The player to talk into a microphone (Or type) to nearby NPCs within an open world environment, or B) Allow the NPCs to talk through the player through speech bubbles (Waaaay down the line we may implement text to speech). These statements go further than simple commands (Go run to the store for me) since as stated before, every AI in DOT has opinions on everything else within the world as well as having their own set of inference matrices (100 gold means something different for me than it does for you). This, in turn, allows for far more dynamic conversations between the player and NPCs than would otherwise occur.

ZETA is a computation management library that assists on the back end of DOT and DIAG. It runs on top of HLSL and allows us to easily offload work to an APU/GPU when the CPU is being too heavily worked (APU is preferred by the system however, since we still have access to the CPU cache).

Where things stand right now, LINK is in theory, PROC is already into Alpha development, DIAG is in theory, and ZETA is fully implemented. Those, excluding ZETA, are not currently available to the public, and can only be used by developers willing to contribute (for royalty/deferred) until they are fully released.

DOT however is already available for anyone interested :smiley: