Return to “Suggestions”

Post

Storyline generation

#1
I'd love a storyline you can follow besides the randomly generated stuff, maybe even a system for generating distributable storylines. You already make everything pretty generic, so it would be really nice if one could create a set of ships, planets, npcs and connect them in a storyline that others can play though.

That's IMHO the stuff that makes games viral. When people can expand the original with their own addons (mods).

{ moved topic - DWMagus }
Post

Re: Storyline generation

#2
I love that idea. A universe that could be filled with storylines written by players. A player could decide which story lines to import into his game, based on rating and reviews of these storylines in the forum.
The LT engine would dynamically spread the story lines aorund the universe, involving - at least optionally - some scaling so the difficulty of the story lines. So, the story lines encountered would be adjusted to wealth and power level of the player when he ecounters them (of course intelligently - e.g. with a min. and max. difficulty set by mod author, as well as an off set in between those). Example: Story line has a min. diffculty catered towards a player of networth 10m credits and max 50m credits. It nomally would adjust its dicfficulty to the wealth of the player as long this is between 10m and 50m. So when a fresh palyer tries to do this in a nuthsell ship of old tech with no fleet and nothing (networth 100k), it would be quite impossible (catered towards a 10m networth player). On the other hand a 500m palyer would do it in a breeze, as the scaling stops at 50m. An off-set would mean that when the palyer has e.g. 20m networth the diffculty woudl be balanced for a 30m palyer, the off-set would be +10. In other words the storyline would be intended to be quite diffcult.

As obivously story authors would not know any planet, system etc. names, coordinates and distances in the randomly generated universe, these things would only be described in abstracts (like e.g. a far away system, relatve distance to palyer staring point, dynamic starting point near the player after x hours of gamepaly, afte reaching networth x, etc.). The LT engine would set the concrete lcoations itself within the rough boundaries of the given loose parameters.

The beauty here is that Josh would be spared of all the story writing / battle balancing /enocunter and reward designing work. It would be generated for him - not by procedural algorithms, but better: by the human minds and hearts loving his game. The game would grow this way over the years, as would its uninverse expand into infinety. The players would conquer and settle the vast sapce with their ideas. Now, isn't that inspiring?
Post

Re: Storyline generation

#3
Moved the topic to suggestions as this is more of a suggestion than a technical issue.

Also, there has been a bit of discussion in viewtopic.php?t=416

I'm of the opinion that storylines should emerge, but for the idea to share storylines? Not sure if it's going to happen as the storyline evolves, it evolves because of the universe you are in. Unless they are very basic quests, I doubt they will be able to moved from one universe to another.

Remember, Josh has stated that if you have the chance to take an escort quest, it's because there is need for one, not that enemies will spawn after you accepted the quest. It's a bit hard to import something like that into another universe if it doesn't have the same exact features.

While I do like the idea (as I play quite a few campaigns on freespace), I just don't see it happening.
Image
Early Spring - 1055: Well, I made it to Boatmurdered, and my initial impressions can be set forth in three words: What. The. F*ck.
Post

Re: Storyline generation

#4
Perhaps there's different kinds of stories: those dynamic ones told by the evolving universe itself and those scripted ones coming from players. The later have the advantage of coming from human souls - they will have humour, drama, flavor, crazyness, pop culture and scifi references, they might build upon previous chapters, tell arcs over the years, have twists... in short they could be full of emotion. Its the human detail that's the neccessary contrast to really feel the vast grandeur of infinety - or so I think. I doubt that procedural generation alone can do this. It's genious for setting the stage and allows Josh to do the wonder he does here, but it's not a tool for creating likeable or hateable characters and their persanal stories and habits. This gap could be elegantly filled by allwoing intelligent hooks for player stories and campaigns.
Post

Re: Storyline generation

#5
youngneil1 wrote:Perhaps there's different kinds of stories: those dynamic ones told by the evolving universe itself and those scripted ones coming from players. The later have the advantage of coming from human souls - they will have humour, drama, flavor, crazyness, pop culture and scifi references, they might build upon previous chapters, tell arcs over the years, have twists... in short they could be full of emotion. Its the human detail that's the neccessary contrast to really feel the vast grandeur of infinety - or so I think. I doubt that procedural generation alone can do this. It's genious for setting the stage and allows Josh to do the wonder he does here, but it's not a tool for creating likeable or hateable characters and their persanal stories and habits. This gap could be elegantly filled by allwoing intelligent hooks for player stories and campaigns.
I'm not denying that it wouldn't have emotion, drama, or all those other things listed.

But here's the problem.

Say you want to create a storyline/mission script. You have to take on pirate faction A, take out their base. This then has consequences that they then after you and you're on the run. You gain allies in order to beat the bad guys back.

Fairly simple and straight-forward.

However, you can't just SPAWN the pirates to destroy. That breaks everything Josh has stated in regards to being procedural generation. Not to mention, even if pirate faction A exists, the strength of the faction is different, thus having different outcomes. The pirate faction also has it's own alliances, and you may end up getting on bad terms with them whereas the original mission you couldn't.

Not to mention if you have a 'friend' that is scripted into the mission, how do you get that character into the other universe without just spawning him?

It's a logistical issue more than anything else.

The only compromise I can see is if there is a way to load in a storyline and have the universe evolve TOWARDS those events, but that would be an incredible challenge in and of itself.

Programming missions, storylines, campaigns, and all the scripting is relatively easy, but defeats the purpose that LT stands for.
Image
Early Spring - 1055: Well, I made it to Boatmurdered, and my initial impressions can be set forth in three words: What. The. F*ck.
Post

Re: Storyline generation

#6
Valid point - if spawning is a no go, then this wont work out. All the dialogue would obviously be spawned, too. Spawning in the sense of bringing in scripted events is the whole idea here.

I wonder though why a procedurally generated universe cannot have scripted elements injected. Depending on one's believes in the concept of fate our own universe has. The routines driving the universe and especially faction AI would need go give some space to the scripted content, not disturbing it. But besides that, I think adding such story arcs in would enrichen the infite, procedural content much more because it now holds the potential to reveal further stories anytime. Travelling the big wide open will be much more suspense creating, even in long episodes with no small scripted content appearing at all. Btw procedural content is of course following rules too, they are just operating on a grander scale. Grand things can only impress with their size if there's something small to convey a sense of scale. If Borgdan, smugler and fan of Green Ice Reggae, contacts you cause he accidentally flushed a very rare replique of a Hawaian dancing figurine through his space toilet and you seem to have those shiny sensor equipment to find the 8cm figurine somehere floating in the dead cold above the third ring of Excetron 6, than this is absurd and ridiculous, but also so bewilderingly unexpected, thtat you cant help but wonder how large the universe must be to contain such an unlikley fellow. Well, or so would I.

Oh, and perhaps to add to the technical side: how does the procedural universe remember the actions of a player? They are not predetermined by a seed code on which algorithms run. Yet they exist as an override. They are spawned once the player has acted. What's the difference here? The universe will react to actions of a player and remember them. And so it will be for scripted story arcs. Forgive me please if I miss the point here which is likely. But I would really like just to understand why it would not work out.
Post

Re: Storyline generation

#7
I agree completely.

The fact alone that Josh listens to his user base is one of the reasons why I personally would like some scripted events and being able to create missions just because I know there would be some epic user-generated content, while using a good engine.

Don't get me wrong, I'm not trying to get Josh to create a Freespace-esque type engine/game, but considering he's not reverse engineering someone else's work makes me drool at just the ideas behind it. :D
Image
Early Spring - 1055: Well, I made it to Boatmurdered, and my initial impressions can be set forth in three words: What. The. F*ck.
Post

Re: Storyline generation

#9
youngneil1 wrote:Oh, and perhaps to add to the technical side: how does the procedural universe remember the actions of a player? They are not predetermined by a seed code on which algorithms run. Yet they exist as an override. They are spawned once the player has acted. What's the difference here? The universe will react to actions of a player and remember them. And so it will be for scripted story arcs. Forgive me please if I miss the point here which is likely. But I would really like just to understand why it would not work out.
I'm not sure of this either, but my guess would be that the generated universe is a mix of 'hard' entities that never go away (stars, planets), and 'soft' ones (ships, factions, NPCs, volatile states) that do. The game engine generates the hard entities initially (and additional ones later as new regions are explored), and the 'run forward' process generates all the soft entities which come into and out of existence, interacting with each other and the hard entities. It all sounds very quantum-mechanicky ;) The extra factor is the you, the player; you change the soft state of the game as you play,so that it no longer reflects the initial seed. The hard state is unchanged by your input. In other words, the seed defines the hard 'bare bones' universe, while the savegame defines your uniquly developed one at the time of the save i.e. hard+soft. So the persistence is for the soft state.

I'll give a concrete example; I start a new game from seed X, and it generates a bunch of systems that make up my Bubble of Interest (BoI). It also generates my ship in the centre of that. I jump a few systems, ending up somewhere else, and drop a beacon. That beacon is a 'soft' entity; it will remain where it is until moved or destroyed, but is not a permanent 'hard' object generated by the seed. If I save the game, that savegame includes the 'hard' BoI and the 'soft' beacon. If I give seed X to anyone else that will generate the exact same 'hard' universe, but not the beacon.

The reason a seed is used is to procedurally generate the universe on demand i.e. limitless generation as you move through the galaxy. Clearly it's impossible to geneate an infinite number of systems, so only a local subset is generated around your location. As you travel and your BoI moves with you, new ones are generated ahead of you inside the moving edge of the BoI, based on some 'rule' that works on the seed.

Think of one of those drinking games like 'fizzbuzz' where you have to count upwards, but for every number with a '3' in it you have to say 'fizz', and for every number divisible by 3 you say 'buzz'. Get it wrong, you take a drink! :? Now, imagine you're in a star-generating spaceship travelling along a giant space ruler, where the numbered scale counts out the parsecs. Every time you get to a mark where the number has a '3' in it, it generates a 'fizzy' star. Every time you get to a number divisible by 3, it generates a 'buzzing' star. Sometimes you create a star that fizzes and buzzes. If you kept on going, it would keep on generating them without a limit. So, there's an example of a generation using the seed '3' and a very simple rule. It only generates the stars as you come to them, or it could do it a bit ahead of you. If you give the number '3' to someone else and they use the same rule, it will generate the same limitless sequence of fizzing and buzzing stars. Now LT will have a much cleverer Josh-invented rule, and likely use rather large multi-digit numbers as seeds, but the basic idea is the same.

The game will generate storylines as 'soft' entities, along with all other soft objecst used in the story. e.g. it will generate an NPC who wants someone to do a job. If you accept the job, it will generate the next step (or maybe it's already generated, and the steps are drip-fed to you). If you complete it, you get the following step, and so on all the way to the ending. If you fail, then there's a failure ending. So, it will generate the quest stages and triggers for completion or failure. Some steps will have multiple endings possible, i.e. the define a branch in the storyline.

Now maybe it could be possible for users to create stories that can be fed to this quest generator/step tester, but the feasibility of that will depend on just how the quest generator would work. AFAIK that's still up in the air, so it's too soon to say if it's possible. Of course, if you want to suggest such a design for the quest generator, go right ahead!

-@Josh, if I'm way off track here, feel free to stomp on this!
Post

Re: Storyline generation

#10
Great input, Jabbleowk! Yes, that's about the way I imagine it, too. Besides I would probably not differ between hard and soft objects, but just between predetermined, unchanged objects (by seed number; no matter if small ship or large sun) and those changed or created by actions of the player, which bw. could very well lead to interesting chain reations - butterfly effect (e.g. you shoot a pirate, who now will not discover a relict, which will not push the research of a small empire, which will not topple the large empire, which therefore will very well destroy your remote mining stations a year later...). If the game truely factors that in, then the saveganme will grow very large, very fast (not because it would have to save the whole future - it woudln't, that woudl still be generated. But becasue it would have to save every, as in every, change done by the player). Obviously there has to be a cut off point in the sense of the game actually simply forgetting at one point what the player has changed and what made a difference.

A another thing I wonder about is random numbers. If those were truely random in the sense of not dependend on the seed number (but e.g. system time of user,), then either the game would not use such at all or or all galaxies even based on the same seed would be very different very soon. Probably the seed is actually a seed for the alyways same sequence of random numbers and the algorithms of the game use this indefinite random number sequence to build the universe, small things, large things, every vector for every laser missing just by an inch.

My main question is still why the player could make a difference that is remembered and has influence on the galaxy, spawning events this way, but a user made sotry arc couldn't? Where's the difference between the player placing five hundred decoy satelites forming the word "Kubrick" compared to an injected story arc forming these five hundred satelites?

The way to bring in this satelite formation would have to be a clever one indeed though (as you mentioned "quest generator"). It would need conditions, not fixed coordinates. Trigger conditions flexible enough to work out in an unknown universe. One could be time spend by the player playing the game, another one could be networth of the palyer's empire. It could be the number of enemy ships shot by the plqyer or tons of ore mined. It could be once player finds the first faction ruling more than 20 systems or once he comes into a system the first time with threee suns. I coudl be a random umber check actually based on system time, why not? That could handle the "when", but of of course not the "where". This could be relative distant conditions - like event starts in the nearest system to the player, the system the palyer is in right now or the third nearest system or the first system with a double star counted from the players starting point in the universe (that is the center of the universe btw as an infinite universe can have no absolute center, I guess at least). Once the event/stroy starting point stands everything else could be expreseed as relative coordinates to that starting point. But beware, these coordinates might very well be inside a sun then. So there would have to be saftey checks and rules for replacing things if such impossible situations occur. Not easy, but I think very well possible. Or not, who knows :-).
Post

Re: Storyline generation

#11
JabbleWok wrote: Now maybe it could be possible for users to create stories that can be fed to this quest generator/step tester, but the feasibility of that will depend on just how the quest generator would work. AFAIK that's still up in the air, so it's too soon to say if it's possible. Of course, if you want to suggest such a design for the quest generator, go right ahead!
I agree with this. The way the AI works will determine how "quests" and stories will be generated. The only content I can see users add to this, are indeed scripted events.
If scripted events can't spawn anything, then are still a few options left. For instance, there's a chance that a ship gets attacked by pirates and the crew gets taken hostage. A scripted event here could be that one of the hostages is a very wealthy or important person. So his/her rescue would be worth more for the faction. A successful rescue of a rich person would offer the player a nice reward, and a new income/more influence for the faction. Not rescuing the person would mean no reward for the player, perhaps even negative reputation (for not wanting to work together) and other negative impacts on the faction.

These events could add a bit more depth to missions that would otherwise be very generic after a while.

If the AI will work towards goals using NPCs and create missions this way, perhaps we can help Josh by creating a list of goals an AI could have and what they'll do to reach these goals?
For this to be productive we do need to know how AIs are shaped (do different factions have different personalities?).

Perhaps a mission editor could be this? A way to create new goals for the AI and different ways/actions to reach that goal.
Beware of he who would deny you access to information, for in his heart he dreams himself your master.
Post

Re: Storyline generation

#12
I think that a major problem for implementing scripted missions will be that they only really can be made for one universe. And how many players are going to play in that specific universe?

If the mission is designed to be so generic that it can fit in practically everywhere, well, it effectively stops being a scripted mission, doesn't it?

The only halfway reasonable way for implementing scripted missions I can see is to implement them in the default universe 3827, and let every player know that if he wants them, he should stay in this universe; if he doesn't want them (or has played them already), it's time to move on to another universe.
Post

Re: Storyline generation

#13
One way of doing it might be to make sure the steps would be achievable in any instance of a universe. For example, the initial quest could be made available through talking to an NPC in a station. It doesn't matter which station or NPC, it's just a device to give you the quest so the generator uses the next suitable one you enounter. 'Suitable' would be important, but it would likely mean any NPC that's not already part of another quest.

The first stage could be to carry out some actions that should be possible in any instance of a universe, e.g. collect 100 units of ubiquitium. Once you have done that, then you call the contact's number (or whetever is the LT equivalent) and receive the instructions for the next stage. You don't need to know where he is, i.e. he's not going to die because his station is blown up, though maybe he'll 'happen' to make an appearance at some station you go to. Or one of his contacts will.

And so it should be very possible to construct a story based on a sequence of actions that are possible in any universe, and the story agents would similarly be the sort of NPCs and objects that could be anywhere. That would rule out any sort of bespoke creatures and items, unless the generator could be made to specifically handle that. Maybe it would be legitimate to generate a temporary system in which key events occur, so that they don't affect the rest of the universe. An isolated room with your own unique way there and back. A bit like travelling by wardrobe to a mystical land to have an adventure, before returning to the normal world which hasn't been affected in any way by your actions. However it would probably not be legitimate (or at least advisable) for the quest generator to make significant changes to the mainstream universe. So if you destroy a (storyline-generated) pirate fleet single-handedly, there will be no repercussions for the mainstream universe apart from whatever changes it makes to your own character.

The story design would have to follow certain dos and don'ts so as to conform to that 'happen anywhere' approach. Even with those constraints, it should still be very possible to concoct clever and challenging storylines. In some ways they'd be far more immersive than some other games I won't mention, as you'd be an ordinary person pursuing some unpredictable adventure in a big universe, as distinct from 'the hero' following 'the story' of 'the game'.
Post

Re: Storyline generation

#14
As far as I understand, storylines like these will be generated automatically.

AIs will have goals and ways to achieve these goals. They'll put tasks for the player to complete to help the AI reach the goals. If the player doesn't do it, NPCs will (or won't, which would be a problem for the faction).

For instance, an AI needs resources. It could do this by expanding into unknown territory, trade more, task people with scanning asteroids, with mining asteroids, and so on.
The AI will have a reason for needing more resources. Perhaps it will sell these to other factions for a tidy profit, or perhaps to make more ships and wage war ...

This will open up a whole array of missions for the player to take part in:
- probing / exploring new systems
- scanning x asteroids
- build mining ships/mining outposts for the faction
- mine ore yourself and sell it
- mine ore for this faction and get a wage
- shoot down ore transporters and sell this ore
- transporters of yours/the faction would need protection

This is only a small subset of the actions that the player could do, tasked by the AI to reach its eventual goal of waging war/conquering another sector/defending itself from aggressors...
The end of the storyline would be when the faction has reached its goal.

Variety in these missions can be created by giving AI a more narrow mind and a personality. Warlike factions wouldn't care where their materials come from and offer more aggressive missions, where "nicer" factions would be more passive. Even the goals and their reasons could be different depending on the personality of the AI for each faction. Perhaps some would even pay you outright for your protection once you have a fleet large enough, or offer you missions that would end up with them being more secure.

Because factions interact with each other, things you do for one faction will impact another. With this in mind, any faction will have stuff to do for the player.
Beware of he who would deny you access to information, for in his heart he dreams himself your master.
Post

Re: Storyline generation

#15
JabbleWok wrote: Now maybe it could be possible for users to create stories that can be fed to this quest generator/step tester, but the feasibility of that will depend on just how the quest generator would work. AFAIK that's still up in the air, so it's too soon to say if it's possible. Of course, if you want to suggest such a design for the quest generator, go right ahead!
This is a very interesting idea.

We're starting to get away from the actual game and into a meta-game of how the game actually works. Thoughts like this spawn the many thought-problems in most higher-end programming classes.

This type of thing is what I would love to see, but at this point, I don't think we can feasibly create something like that. Being able to use AI to differentiate a script into a pre-instantiated universe in order to gently affect the universe so that these scripts evolve on their own. It'd be like an AI to evolve a different set of variables into something that is believeable.

But now I'm getting into more than just AI and theory. This is equivelent to H2G2 where they couldn't build a computer to find the answer, instead they built a computer to build the program to find the answer. That's what I'm envisioning this to be.

Quite a mind trip, indeed! :D
Image
Early Spring - 1055: Well, I made it to Boatmurdered, and my initial impressions can be set forth in three words: What. The. F*ck.

Online Now

Users browsing this forum: No registered users and 0 guests

cron