Return to “Suggestions”

Post

Re: Storyline generation

#46
I completely agree. But my friend and fellow LT fan apparently thinks I'm being a douche. I get the feeling he doesn't really care for mods.

Also, scrap the JavaScript/JSON idea. I realized it wouldn't solve the most difficult problem, Josh would need to write a way to interpret the JSON data so the scripts could manipulate stuff in-game.

Although using JS/JSON would solve the problem of having to put together some kind of syntax, it wouldn't totally solve the interpreter issue. Josh would still have to deal with type-safety (or JS' total lack thereof), error handling, and interpreting the presented data in a way that affects the game-world.
Post

Re: Storyline generation

#47
If there are "hooks" into the game data, then the third parties can do the rest.

Think of the task - any story compiler needs to search the game data for desired objects, and insert/modify as appropriate. It's a database task.

One way to do that is to create an API for a C++ compiler (dll & includes), with the task of the API only being data access. That way your story script would be a C++ program which conditionally modifies the data as appropriate. To use it, you'd need to be very familiar with the game data structures so as to instantiate your story correctly and not break the persistent data (presumably a savegame).

At a higher level, we could create a bespoke story editor/builder which has a friendly interface to allow non-programmers to define the story, but at build time does exactly the same as that C++ program.

Really there are any number of potential ways to define & edit a story, from a nice graphical layout to low-level scripts, and people could create all sorts of utilities to do that. However, instantiating that story is still a unique data access task, so that data access level is the one we'd all need to agree on.

Essentially we'd need a stable and discernable data format, and a standardised API could provide access to that. If Josh is minded to allow that, he could help enormously by building in readable identifiers and making object relationships easy to recognise. If data access is identifier-based, that would also make subsequent data-changing updates easier to cope with. However, He may well have good reasons to obfuscate all this too, which would make the task much harder.
Post

Re: Storyline generation

#48
JabbleWok wrote:If there are "hooks" into the game data, then the third parties can do the rest.
This is one of the things I do best. I write the sniffers that can create the hooks. ;)
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

#50
Hope you don't mind me digging up this old thread....
JabbleWok wrote: 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.
I would like to take this even a step further.
You talked about the problems of creating a story with static/spawned elements within a procedural universe.
My idea's to extend the universe generation process.
  • First, a classical random universe is generated.
  • Now, a second storyline-specific code takes over and modifies the setup to fit the story requirements.
    • Add story-relevant places and planets to certain or random locations
    • Add needed fractions, stations, pirates, whatever
    • Create/Remove certain wormholes
    • Load/Import story-relevant ships/blueprints
  • Now you've a procedural universe including the static elements needed for the story.
  • And as it's located in a procedural universe, the same storyline will be different everytime...
Of course this is just a theorethical idea. Depending on how the engine works right now it might be rather challenging to build the functionality/framework needed for such universe setups.
One thing's sure though. Hooks and Story Builder would be great :)
Post

Re: Storyline generation

#51
jbjhjm wrote:Hope you don't mind me digging up this old thread....
I would like to take this even a step further.
You talked about the problems of creating a story with static/spawned elements within a procedural universe.
My idea's to extend the universe generation process.
  • First, a classical random universe is generated.
  • Now, a second storyline-specific code takes over and modifies the setup to fit the story requirements.
    • Add story-relevant places and planets to certain or random locations
    • Add needed fractions, stations, pirates, whatever
    • Create/Remove certain wormholes
    • Load/Import story-relevant ships/blueprints
  • Now you've a procedural universe including the static elements needed for the story.
  • And as it's located in a procedural universe, the same storyline will be different everytime...
Of course this is just a theorethical idea. Depending on how the engine works right now it might be rather challenging to build the functionality/framework needed for such universe setups.
One thing's sure though. Hooks and Story Builder would be great :)
I'm actually glad you ended up making this a dedicated post in this thread. After reading the other thread you started it seemed like it made some sweeping assumptions. This post clears up some confusion quite a bit and don't worry about necro-bumping. We support it! :)

I *really* like the idea you put forth. You're not actually touching the universe generation. You're actually running a second pass in order to make the state what you want. Almost like a reverse-engineering. :thumbup:

I think if there was any way to do a specific storyline/quest or whatever, this would have to be the way to do it as then you're not trying to mold the universe to the quest/story, you're molding the quest/story to the universe.

BTW, Welcome to the forums! :wave:
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

#52
DWMagus wrote:
jbjhjm wrote: Of course this is just a theorethical idea. Depending on how the engine works right now it might be rather challenging to build the functionality/framework needed for such universe setups.
One thing's sure though. Hooks and Story Builder would be great :)
I'm actually glad you ended up making this a dedicated post in this thread. After reading the other thread you started it seemed like it made some sweeping assumptions. This post clears up some confusion quite a bit and don't worry about necro-bumping. We support it! :)

I *really* like the idea you put forth. You're not actually touching the universe generation. You're actually running a second pass in order to make the state what you want. Almost like a reverse-engineering. :thumbup:

I think if there was any way to do a specific storyline/quest or whatever, this would have to be the way to do it as then you're not trying to mold the universe to the quest/story, you're molding the quest/story to the universe.

BTW, Welcome to the forums! :wave:
Thanks! Merry Christmas by the way! (If you are in te right time zone at least ;) )
And I'm glad my idea's interesting in some way :)

However I slept about it and there's one point I missed.
Let's go with the good old idea of a mission which is about attacking a pirate nest.
A) Generate Random universe
B) Let Story Creation Setup decide where to place the pirate nest.

So far that's nice. But the mission won't start immediately after story setup.
It's possible the player's playing the game for a month before this mission starts.
And in a dynamic universe with real AI the nest could become a pirate city... or a ghost station :ghost: ...or it's destroyed by other forces or whatever!

It's a sweet idea but still problematically.
Post

Re: Storyline generation

#53
jbjhjm wrote:Thanks! Merry Christmas by the way! (If you are in te right time zone at least ;) )
Merry Christmas to you too!
So far that's nice. But the mission won't start immediately after story setup.
It's possible the player's playing the game for a month before this mission starts.
I was actually taking this into consideration. The whole universe will spawn and then iterate through some years/decades/whatever in order to get the universe in a living situation. Thus, this means that whether the story spawns the assets at the beginning or after the player has been playing a month is essentially the same thing.

Once you get past the 'spawning in assets' instead of it organically occurring, you've set this up.
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

#54
From Josh's development log:
JoshParnell wrote: finished the implementation of dragging, so that nodes can now respond to it. This immediately opened up the door for some cool stuff: world editing! It took only three lines of code to modify the object nodes to respond to dragging by actually modifying the position of their corresponding objects. This allowed me to pop into the system map and literally rearrange the objects however I pleased. I must admit, being able to drag the jump holes right in front of me is a nice ability :lol: If nothing else it was a fun test of the dragging capabilities ;) This capability also immediately solves a lot of other problems. For example: the formation editor!
Moving generated objects around... interesting thing and might later be a good base for shaping the random universe into storyline requirements... :D
Post

Re: Storyline generation

#55
I caught that too, but I'm holding my breath. I don't want to get my hopes up incorrectly, but it definitely gives hope for some sort of universe editor.
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

#56
You are envisioning a third party scenario editor than can play with the proceedurally generated starting conditions. That sounds like something very interesting and given the ease with which seeds can be shared, could allow an element of "Can you defeat the Buttercup Pansygirl League quicker than me, starting from only a single ship?" competitions.

It would be nice if the player could customise parts of the history, because, from a fan fiction POV, it would easier to assist the PG to make the universe I have in mind when it comes to setting down my drivel on paper rather than wait for random chance.

I wonder if the nodal UI could perform this without the need for external hooks and C++ and complicated computery wizardry? Sadly, learned a little COBOL has not really left me in good stead for the modern world.
Post

Re: Storyline generation

#58
davidlasher wrote:Can we not dismiss everybody having an idea and claiming things are impossible? This consistent overlay of condescending replies is chasing people from the forum and I'm tired of reading it, just because you threw money at something doesn't make your opinion have any more value. I might have a new profile but that doesn't particularly mean I wasn't around when this all began, I observe not interfere.

I don't walk into the meetings at my nonprofit shunning new ideas, at least articulate your view point in a way that is constructive.

To clarify this isn't directed at any one person, as I said it's a recurring theme. I'm actually writing this just by skimming Page one of this particular post and feeling a particular frustration for the majority of silent users who give up after one post. The forum rules are pretty plain, albeit this recurring condescending theme is stated politely it's still rude. Can we get back to having fun imagination filled conversations or are we going to continually keep these forums dead?

I bet that a fan made forum would flourish and be very vibrant if it disallowed this behavior.

Back to your regularly scheduled programming.
I pretty much skimmed through all the comments in this thread to see where you were coming from. I can't remember page 1 but in pages 2-4 all the comments seem generally pretty constructive. And the ideas are awesome as well.
Post

Re: Storyline generation

#59
Haven't quite followed most of the thread, so this post may seem ignorant; but I'm being lazy, sue me.

Rather than a storyline generation, wouldn't it more impacting to have a transference of events between various LT games? I'm betting that Josh will likely implement some form of a client to server communication for validation of a purchase, most games do. So, in that vein, data transfer between LT game clients would pass on major events that have happened in the LT universe.

In other words, Josh and/or Josh & forum vote could come up with one or a few seeds for the LT universe. To limit server/bandwidth strain, one would assume they would range from 1-3 seeds in total.

Given that LT would allow for multiple save states, players will be able to switch between LT seeds on their clients at any point. So if you don't want to play in a "multi-verse" seed, you don't have to and can go play whatever you want, and for those who want somewhat of a shared experience, can hop onto the seed on their end which is universal for all.

Here, the most major events would be distributed to all clients via the server. If someone has played the game for a hundred hours and another for only fifty, then the major events that have taken place in X part of the LT universe would show up in the 50 hours player's game.

*One should make note though that this could have possible data conflicts, where one player could blow up an NPC station only to have that station be owned by another player in their own version of the seed; and the data being distributed to them could make their station disappear arbitrarily, leading to a lot of grief and suffering.

That being said, at the same time, this effect doesn't have to be implemented by Josh and can very well be done by the modders; though the issue ultimately does arise of having a server that can do such a thing.

In any case, I think something like this would add a lot flavor to playing LT to many people, and as a former writer, it would be cool also to be able to write a story in LT and see it propagate into the LT multiverse too!

One can dream.

Online Now

Users browsing this forum: No registered users and 17 guests

cron