Hard Light Productions Forums

Modding, Mission Design, and Coding => Help Wanted/Offering Help => Topic started by: woutersmits on February 04, 2018, 12:00:28 pm

Title: random campaigngenerator
Post by: woutersmits on February 04, 2018, 12:00:28 pm
i like some ppl to help with this projact
campaign generator its posseble
some saying not but i belive that ai is smarter as us
Title: Re: random campaigngenerator
Post by: Bryan See on February 04, 2018, 12:01:30 pm
I'm interested in doing that.
Title: Re: random campaigngenerator
Post by: Nightmare on February 04, 2018, 12:58:51 pm
Already a new project? What about finishing the other things you're working on?
Title: Re: random campaigngenerator
Post by: wookieejedi on February 04, 2018, 01:12:48 pm
A good idea to recruit help is to lay out a set of goals and larger plan, that way others can see what you are contributing and what specific aspects they might be able to add or help with. I have made my own campaign generator (development is still ongoing 2 years later), and from my experience I could give you a list of lessons I have learned, but I suspect you are looking for someone with more active involvement. From my experience, the amount of time a team leader puts in should be as much if not much more time then the other contributors in the team put in. In other words, leading by example can work wonders.   You also propose using some type of 'ai' in your project, so I would suggest stating what experience you have with AI and what skill sets you possess that would allow this project to reach completion. Are you proposing using a lua solution, custom external script packages, modular missions, etc? Overall, projects with specific goals and a road map are much more likely to attract others and reach a final end product.

Also, I agree with Nightmare. Having too many open projects greatly raises the probability that none of them will ever reach completion. One step at a time with small, doable goals is a good matra to follow  :)
Title: Re: random campaigngenerator
Post by: potterman28wxcv on February 05, 2018, 05:02:37 pm
I still think that generating an entertaining random book is easier than this. And nobody generated such a book yet, or at least, not that I'm aware of.

There are a lot progress done in AI field involving neural networks and other stuff. But I think we are still far from AIs having a deep understanding of our language. And this is what is needed if you want to do a campaign generator : you need a way to tell the machine what is a good campaign.

The only way you could do that without doing decades of active research, would be to just take the procedural way : create instances of a more "generic" campaign, using procedural generation. But story-wise it would be in my opinion way more work than redacting an Act for Blue Planet, you would need a lot of fine tuning and a lot of possibilities so that the user keeps getting entertained (in terms of story) with each new campaign..

Obviously the first step to generate a random campaign would be to have a random mission generator. Then you could add constraints/bindings to your random mission generator, and make it so that your random campaign generator uses the random mission generator.

But then the stories would not be original. You wouldn't have unexpected outcomes like you have with the great campaigns out there. It would feel generic and it would be very hard to step out from that impression.
Title: Re: random campaigngenerator
Post by: Nightmare on February 05, 2018, 06:09:00 pm
Also, there are already tons of exciting campaigns out there, so before you start worrying about a random campaigngenerator - what about playing them all? Many of them have cool ideas, new gameplay features and assets in them. :cool:
Title: Re: random campaigngenerator
Post by: wookieejedi on February 05, 2018, 06:33:03 pm
I still think that generating an entertaining random book is easier than this. And nobody generated such a book yet, or at least, not that I'm aware of.

There are a lot progress done in AI field involving neural networks and other stuff. But I think we are still far from AIs having a deep understanding of our language. And this is what is needed if you want to do a campaign generator : you need a way to tell the machine what is a good campaign.

The only way you could do that without doing decades of active research, would be to just take the procedural way : create instances of a more "generic" campaign, using procedural generation. But story-wise it would be in my opinion way more work than redacting an Act for Blue Planet, you would need a lot of fine tuning and a lot of possibilities so that the user keeps getting entertained (in terms of story) with each new campaign..

Obviously the first step to generate a random campaign would be to have a random mission generator. Then you could add constraints/bindings to your random mission generator, and make it so that your random campaign generator uses the random mission generator.

But then the stories would not be original. You wouldn't have unexpected outcomes like you have with the great campaigns out there. It would feel generic and it would be very hard to step out from that impression.

I agree. An instant action type scenario with slightly altered variables each time would be the most probable, best case outcome in my opinion.

Also, there are already tons of exciting campaigns out there, so before you start worrying about a random campaigngenerator - what about playing them all? Many of them have cool ideas, new gameplay features and assets in them. :cool:

^This is a good idea.
Title: Re: random campaigngenerator
Post by: Mongoose on February 05, 2018, 07:01:24 pm
As an alternative, why not a MadLibs campaign generator?  "It has been XX years since Capella.  Go!"
Title: Re: random campaigngenerator
Post by: wookieejedi on February 05, 2018, 07:03:45 pm
As an alternative, why not a MadLibs campaign generator?  "It has been XX years since Capella.  Go!"

My immature self would use "Admiral <boogers> just jumped into the <poop> star system to the attack the newly formed <farting> pirate cluster."
Title: Re: random campaigngenerator
Post by: Nightmare on February 05, 2018, 07:35:34 pm
As an alternative, why not a MadLibs campaign generator?  "It has been XX years since Capella.  Go!"

My immature self would use "Admiral <boogers> just jumped into the <poop> star system to the attack the newly formed <farting> pirate cluster."
Such an idea you can flush down the toilet :p
Title: Re: random campaigngenerator
Post by: Firesteel on February 05, 2018, 11:42:49 pm
One area of my research (and my lab's in general) is dynamically picking story elements based on game states. I'd be curious to see how well trying to update a campaign structure based on end state of a mission would go.
Title: Re: random campaigngenerator
Post by: Nightmare on February 05, 2018, 11:55:33 pm
That's interesting. I think about having a mission generator where the next mission is based upon the outcome of the previous mission. Imagine a new story being created from, say, the destruction of the Colossus in High Noon. Usually you would have to repeat the mission, but this would allow the player to break free from such structures and explore alternate realities... but this is literally fantastic and unlikely to happen...
Title: Re: random campaigngenerator
Post by: Firesteel on February 06, 2018, 12:17:40 am
That's the gist of it. At the moment I'm trying to get an interrupt driven conversation system off the ground with the (very long term) goal of being able to use it in combination with that type of reactive planning I talked about. I have no idea if FSO's current version of campaign files are flexible enough to handle either of those two things but I have to get a prototype of something beforehand.

The other thing with FS (at least within my understanding of the current capabilities) is that all those possible missions would need to be hand authored and manually connected.
Title: Re: random campaigngenerator
Post by: karajorma on February 06, 2018, 12:58:35 am
Unless you generate the campaign file dynamically too. There's not that much to a campaign file so it would be fairly easy.
Title: Re: random campaigngenerator
Post by: Bryan See on February 06, 2018, 05:10:29 am
It's like making use of AI, namely Machine Learning.
Title: Re: random campaigngenerator
Post by: karajorma on February 06, 2018, 06:30:59 am
It's really not.
Title: Re: random campaigngenerator
Post by: Bryan See on February 06, 2018, 08:43:08 am
Unless it is trained with data for the generator to learn. The data in question is the campaign and missions.
Title: Re: random campaigngenerator
Post by: wookieejedi on February 06, 2018, 09:14:23 am
Unless it is trained with data for the generator to learn. The data in question is the campaign and missions.

Machine learning is a bit more complex then that. Also, as mentioned, it is not the same as the dynamic/random campaign or mission generation.

Unless you generate the campaign file dynamically too. There's not that much to a campaign file so it would be fairly easy.

In my personal campaign-esque generator I used that method, but ultimately settled on using mission loops with lua scripted mission rewrites. The more recent SDL file structure came in handy for that.  :)   
Title: Re: random campaigngenerator
Post by: Bryan See on February 06, 2018, 09:26:06 am
Unless it is trained with data for the generator to learn. The data in question is the campaign and missions.

Machine learning is a bit more complex then that. Also, as mentioned, it is not the same as the dynamic/random campaign or mission generation.

Unless you generate the campaign file dynamically too. There's not that much to a campaign file so it would be fairly easy.

In my personal campaign-esque generator I used that method, but ultimately settled on using mission loops with lua scripted mission rewrites. The more recent SDL file structure came in handy for that.  :)   

It's something to do with the differences between random generation and pseudo-random generation. The strengths of random generations over the latter is that it is more secure, I think.

I tried to create it, but it requires the FSO codebase.
Title: Re: random campaigngenerator
Post by: Bryan See on February 06, 2018, 10:15:23 am
I'm sorry for my previous posts, and I may be thinking of using a Python command-line tool to generate random campaign and missions.
Title: Re: random campaigngenerator
Post by: wookieejedi on February 06, 2018, 10:21:57 am
If you are going to undertake this task I would highly suggest (from personal experience) using lua, especially if you want new missions to be affected by previous missions.
Title: Re: random campaigngenerator
Post by: Bryan See on February 07, 2018, 09:26:54 am
Yes. But how? Create a new program using Lua? Or in-game?
Title: Re: random campaigngenerator
Post by: wookieejedi on February 07, 2018, 09:33:12 am
Yes. But how? Create a new program using Lua? Or in-game?

What worked for me was making a set of LUA scripts that are called using the mission file. So a combination of FRED and custom LUA scripting. For example, one of my scripts tracks the persistent fleet in the dynamically generated missions. One of my SEXPs in the mission becomes true if the ships are survive, and the result is that the SEXP calls a LUA script that saves the ship name, type, and health to a text file so it can be read in the next dynamically generated mission. That is one of my many scripts (40+) and sexps (100+), but it shows the a simplified example, that when tied with other sexps and scripts allows for dynamically generated missions that carry persistent fleet and campaign data.
Title: Re: random campaigngenerator
Post by: Nightmare on February 07, 2018, 09:40:03 am
So does that mean you can theoraticly generate "survivor fleet vs Shivans" campaigns at random?

Also, do you have all these scripts available public somewhere? I could imagine there are many people here who'd like to take a look at them.
Title: Re: random campaigngenerator
Post by: wookieejedi on February 07, 2018, 10:33:11 am
So does that mean you can theoraticly generate "survivor fleet vs Shivans" campaigns at random?

Yeah, exactly. One of my goals is to have a "survive and fleet-build" campaign. As part of my my setup the first mission of the dynamic campaign is a 'choice mission', where the player selects the number of missions in the campaign, the player rank in the squadron, starting fleet sizes, etc. Using a simple counting index, the number and class of both enemy and friendly ships are dynamically selected for each mission depending on mission type, difficulty, and amount of player wingmen available for the mission, which is affected by the previous mission outcome (ie persistent fleet data, other persistent variables). The briefing then gets updated with that info, as do other factors like wing rank, ship arrival, and persistent wingmen traits. It's overall similar to instant action game-play, but with enough dynamic briefings/debriefs and persistent progress between missions to tie missions together.   

Also, do you have all these scripts available public somewhere? I could imagine there are many people here who'd like to take a look at them.

Not yet, as this is still very much ongoing project for the past year. I appreciate the interest, though! I was originally making it more for myself, but it's grown a bit from there  :lol: Hopefully someday it will be complete enough that I feel comfortable releasing it!
Title: Re: random campaigngenerator
Post by: Nightmare on February 07, 2018, 10:39:28 am
Wow, that sounds really cool  :) :yes:
At first I thought something like this must be impossible, but I'd be happy to see if you can proof me that I was wrong. :D
Title: Re: random campaigngenerator
Post by: woutersmits on February 07, 2018, 10:44:22 am
you going to help us with campgen
Title: Re: random campaigngenerator
Post by: wookieejedi on February 07, 2018, 10:47:00 am
Wow, that sounds really cool  :) :yes:
At first I thought something like this must be impossible, but I'd be happy to see if you can proof me that I was wrong. :D

Thanks! At first I kinda figured, well I will start with a feature and see if I can get it to work. Then after a good amount of trial and error I would figure out a solution, then move on to the next feature. After many steps of that process I thought, 'well this might actually work.' Of course the story aspect is virtually absent, but my goal wasn't a story campaign, it's a set of re playable 'instant-action like' missions that are connected with persistent progress.

you going to help us with campgen

I am open to providing some additional, concise advice or suggestion based on my experience, but my ongoing projects and RL don't permit me to spend more time then that, unfortunately. 
Title: Re: random campaigngenerator
Post by: woutersmits on February 07, 2018, 10:48:49 am
nightmaire you wana help us
Title: Re: random campaigngenerator
Post by: Bryan See on February 07, 2018, 10:50:28 am
I can help. What of Total Conversions?
Title: Re: random campaigngenerator
Post by: Nightmare on February 07, 2018, 10:59:20 am
To clarify this- wookieejedi basicly made a somewhat working campaign-generator, the thing that Bryan See and woutersmits just started planning, right?

Idea behind most TCs is, to my understanding, to port a universe to FS engine, so that other fans with ideas can come and turn their own ideas into campaigns. I know it's a bit different from what we see here at HLP, where the base mod includes a custom campaign.
Title: Re: random campaigngenerator
Post by: The E on February 07, 2018, 11:42:34 am
Thanks! At first I kinda figured, well I will start with a feature and see if I can get it to work. Then after a good amount of trial and error I would figure out a solution, then move on to the next feature. After many steps of that process I thought, 'well this might actually work.' Of course the story aspect is virtually absent, but my goal wasn't a story campaign, it's a set of re playable 'instant-action like' missions that are connected with persistent progress.

This is pretty much the best outcome you can hope for for a procedurally generated campaign.
Title: Re: random campaigngenerator
Post by: wookieejedi on February 07, 2018, 11:46:03 am
Thanks! At first I kinda figured, well I will start with a feature and see if I can get it to work. Then after a good amount of trial and error I would figure out a solution, then move on to the next feature. After many steps of that process I thought, 'well this might actually work.' Of course the story aspect is virtually absent, but my goal wasn't a story campaign, it's a set of re playable 'instant-action like' missions that are connected with persistent progress.

This is pretty much the best outcome you can hope for for a procedurally generated campaign.

Very true. Plus, I like the problem solving aspect of it all, so it's really just a fun pet project for me without any major grand plans.

Idea behind most TCs is, to my understanding, to port a universe to FS engine, so that other fans with ideas can come and turn their own ideas into campaigns. I know it's a bit different from what we see here at HLP, where the base mod includes a custom campaign.

The HLP community is just too awesome  :lol: Seriously though, it's difficult to find a more friendly, open, and dedicated modding community then HLP.
Title: Re: random campaigngenerator
Post by: Nightmare on February 07, 2018, 12:02:45 pm
The HLP community is just too awesome  :lol: Seriously though, it's difficult to find a more friendly, open, and dedicated modding community then HLP.
That's true. :nod:

So even a random campaign generator might be fun for sometime, it can't replace the awesome content made here.
Title: Re: random campaigngenerator
Post by: karajorma on February 07, 2018, 09:55:49 pm
While I love the idea of making this sort of campaign generator, I should point out that the idea isn't actually that new (https://www.hard-light.net/forums/index.php?topic=38128.msg777060#msg777060).

Although getting it to release rather than dying in beta is another matter.
Title: Re: random campaigngenerator
Post by: wookieejedi on February 07, 2018, 10:04:31 pm
The HLP community is just too awesome  :lol: Seriously though, it's difficult to find a more friendly, open, and dedicated modding community then HLP.
That's true. :nod:

So even a random campaign generator might be fun for sometime, it can't replace the awesome content made here.

Indeed, the content here puts many AAA games to shame.

While I love the idea of making this sort of campaign generator, I should point out that the idea isn't actually that new (https://www.hard-light.net/forums/index.php?topic=38128.msg777060#msg777060).

Although getting it to release rather than dying in beta is another matter.

That's very true. Also true with many large projects, sadly. For me, it's fun working on it at least, so if it ever is complete cool, if not that's okay with me, too  :P *reminds self to stop having that attitude about my doctorate dissertation*
Title: Re: random campaigngenerator
Post by: Bryan See on February 08, 2018, 04:14:02 am
Speaking on use of random campaign generator on TCs (such as the one I'm working on as HLP's second original project after Wings of Dawn), the HLP community is willing to contribute on this. Right now, I am the only one working on.