[WIP] Story Generation Templates

logo.png

(In relation to this: [TUTORIAL] Goals and Necesities AI (Story Generation Section One) - Community & Industry Discussion - Epic Developer Community Forums)

I recently got the go ahead to start progressively releasing various story generation templates. If you haven’t seen the post, we are implementing a story bricks type system that is optimized for a plethora of agents rather than the few thousand most games like that are limited to.

While you shouldn’t expect the first one to come out anytime soon, unlike the tutorial series, this will be entirely encapsulated within the engine. I realize I said no more than 8 hours ago I wouldn’t be using the editor again; however, after some discussion with my team, we decided to release the template as we get closer to releasing our first trailer

ITS OUT!

But wait! There’s more!

This, unlike, the tutorial series will be a community project. We aren’t going open source [yet, there are plans to do so however], but if you want to help on the template implementation, post a reply below. I’ll be sure to get to you :slight_smile: (Note: An interview of you is required)

If you are an independent developer looking to utilize the template possibly before its release, send me an email at (Note: An interview of you AND at least 60% of your team is required)

But what exactly are we making?

In simplified terms, our system uses AI simulation to generate the entire plot line of a game. The developers set the games initial state, (ie: perhaps an army at the north and towns south of it) and let it run. Sort of like how a civ game would play out if the player created the initial battle field and let the AI fight against each other for a day straight, but with a more personal aspect. The player isn’t directly involved in the story unraveling, but due to its ability to procedurally react to the players actions (whether scripted or not) it creates a much more immersing environment.

It is, in one term: Next Gen Immersion

But what does WireZapp get out of it?

Absolutely nothing! The sole reason we’re doing this, is that we know how big of a component to story telling AI is. We also know that most studios cannot afford a large scale AI department. We are the middleman. If you are willing to contribute, or even just provide feedback, then we need you.

But what does I get out of it?

You get constant updates on our SDK, included access to its release before we even release our own flagship game!

Does it cost anything?

At the moment, not a cent. We’re trying to be as transparent with our policies as possible. But if you join now, you’ll be grandfathered into our current policies!

Our current partnered studios:

** Dungeon Survival Project **
“A VR game in homage to the classics such as Nethack and Eye of the Beholder, with a focus on survival gameplay.”

By n00854180t

About WireZapp
WireZapp is an AI Research and Development firm that was started back in 2009. We’ve completed various computer vision applications, all of which utilized very alternative approaches to industry standards, and all of which produced equal if not better results. We’ve designed and implemented various graphics engines, as well as memory management engines. We’ve even done some work into Civil Engineering AI.

Most of our team is made of senior level programmers, as well as various designers and artists.

One question: I still don’t truly understand your project, is something like Facade or like an interactive fictional story?

It’s like neither of those tbh. Facade was finite machine based, and interactive stories are made of predetermined choices.

It’s sort of like dungeons and dragons. There isn’t a limit to the choices that you make. If you want to call a guards ****** a donkey, go ahead. The Dungeon master (or political ai as we refer to it) will respond accordingly. There’s no dice rolling though. Everything is based of off your past experiences with that Ai, as well as his opinions about things that relate to you (events, records, other NPCs, even dialogue. It creates the open ended feeling needed by next gen RPG games.

I don’t know if I am putting this correctly

Edit: apparently I can’t say ******

You might want to look into Clockwork Empires for inspiration, they seem to be doing some really good things that are maybe not the same field as you’re in, but a parallel one at least.

https://www.gaslampgames.com/blog/

To my knowledge their system isn’t as dynamic. I may be wrong, but it looks finite

First major update! Woo

After a lot of optimization, I can now store a log of 1.5 million NPC events (NPC A killed NPC B) in under 1GB of RAM :smiley:

Finished the editor. Will upload videos and screenshots after Q&A testing :slight_smile:
(Well, its finished but it doesn’t compile yet. Currently it interprets all of the AI “nodes”, rather than compiling everything into a nice DLL)

We now have 2 studios using the AI engine :smiley:
Possibly another three by next weekend

AI engine is now on V0.2 Alpha. UE4 plugin is underway. Should be a matter of one or two months until the template is finalized

First serious update with screenshots!

Welcome to the >DOT editor!

Features so far:

XML Export and Importation


Visual Debugging


Tree view management (As well as gradient editing)


Multidimensional Fourier Analysis


Dynamic Polymorphism


There are a few other features that are a bit hard to screen cap. For instance we currently have semi working hot reloading with Unity (And underway with UE4), as well as a build scripting engine. Its still not too late to apply! We always need more volunteers to help us bring this to UE4

We plan to eventually implement behavior tree interpretation, in order to convert UE4 style behavior trees into fuzzy logic maps. We also hope to finalize our compilation engine, that would result in in-editor build script editing, and reducing memory requirements
-Storing NPCs as fractals and/or series functions
(Finished)
-SQL and Apache autodeployment upon debugging
(Finished)
-Microsoft project integration
(Still implementing)

(Incase anyone is wondering, the editor and AI engine are under GPL)

I’ll be showing a video of the editor sometime tomorrow. Only features I won’t enable are cluster scripting (Used for creating new factions during run-time with minimal overhead), and control system stability analysis (Used to detect the likelihood of all the NPCs dying when you hit play)

Hey - Quick question,

Could this be used to simulate a Dynamic Campaign similar to that of Falcon 4.0 or Small Town with “individual AI Personality’s” in a Multiplayer environment?

That said - Is this multiplatform Ready?

I am currently looking to deploy to Windows and Linux.

I will be in touch really soon to talk specifics. :slight_smile:

Yeah, we JUST finished our Linux port today :smiley: (Currently working on iPhone, and PS4)

And that’s pretty close to what it can do. We’re more oriented on absurd amount of NPCs rather than a single NPC having a large amount of detail. Currently my personal game is pushing 4 million NPCs without any frame drops (And on the AI engine taking less than 1GB of RAM). None of the NPCs are particularly complex though. They have about the same tier of intelligence as a Sims 2 NPC.

I’ll send you a message

Woah, this really have advanced. It looks amazing. Any chance in the future this can be implemented in the engine by using blueprints?

We’re trying to have it run through a slate UI in UE4 but, at the moment we’re lacking resources (Particularly UE4 programmers) to do so. We do have plans to directly integrate blueprints into the system, but we’re unsure if we want blueprints to be interpreted by the AI engine, and have the AI engine spit out a correlating control schematic, or if we want most of the editing to be done in >DOT and have >DOT trigger blueprints within UE4.

If you mean to like create an entire system within UE4, I’d be skeptical. >DOT requires a build phase for the master entities (The entities that get inherited from) and once we add multilevel polymorphism that build phase is going to get a lot more complex. Multilevel polymorphism in this context means that the master entities can inherit from other master entities, which can inherit from a cluster of entities, which then can bypass a branch during data linking and only inherit some of the data being sent between two entities, or could even dynamically change what it inherits from during run time (This feature is my favorite). It becomes complete chaos compilation wise (But visually is very easy to grasp, even for non-programmers [We tested it on an English major]), which is why I’m considering delaying the video until after we finish up on that.

The closest we could do to what you’re hoping for is create a custom blueprint that runs during UE4 in editor build phase (I don’t know if that’s possible) and a custom type of node. Those nodes and blueprints don’t actually do anything besides get interpreted by the AI engine. That data gets sent to >DOT, and then can be edited and tested from >DOT. Once you finish that up, its sent back to UE4 and the build phase is finished.

It (the blueprint) would look something like this:

Following the chain, you can presume that Employees also contain Food and Water
Soldiers contain Food, Water, Money, Social and, Inv_ammo.
Etc.

Its very logical if viewed visually, but behind the scenes it drives the CPU insane during compiling. You can specify how much of each attribute the entity wants, which makes things even more chaotic, since that may not get carried through polymorphism.

Obviously actual scenarios are a lot more complex than this, since a particular chain can be at most 64,000 entities long (It gets maxed out by the limiting size of short, but tbh I’ve never had a longer chain than 20)

On another note, once multilevel polymorphism finalized, our system will actually look quite close to a flow graph. Only difference between a flow graph and how it’ll look, is you can attach nodes on the lines as well rather than just to other nodes. So it wouldn’t really be too big of a learning curve from UE4.

Another reason I’m considering waiting on doing a video for the editor is that we’re redoing the UI in HTML and CSS so that we can push front end updates without requiring a full redownload.

Actually, you can do that, I’ve seen plugins and proyects that implement their own code via blueprints. What would be useful and provide a nice workflow is exactly that

Well if you know any UE4 programmers who want to help us port this, let me know :slight_smile: This isn’t the only engine we’re porting to, but it seems to be the engine where we can’t find many people to help us do the port.

I’d probably architecture it like that, since yeah, that would give the best workflow

The only one I can think of, who always gives great words of advice is Hourences, check his website, he’s always online on his IRC. If you manage that or create a template for different NPCs to interact similar to the chats NPCs have on Skyrim or Oblivion within themselves, I’ll give this a total use :smiley:

Can’t find any contact information. Mind providing a link? (I see his website, can you give a link to his IRC?)
Edit: Nevermind