Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Pages: [1] 2

Author Topic: Mission, storylines, immersion, tools and a look at how other games do it  (Read 6806 times)

TrashMan

  • Admiral
  • *****
  • Posts: 1325
    • View Profile

The game atm feels...empty. You can fly around ,trade and pirate and build fleets, but there is no purpose other than to just do it. IT lacks a campaign. A story. Something to flesh out the universe.

In order to see how to do that, one needs to look no further than two great games X3: Terran Conflict and Escape Velocity Nova.
They both contain self-contained storylines/mission chains the player can bump into.
I'd say that EV: Nova does it better despite being older. It came with a primitive tool one could use to make missions - but it was still lightyears ahead of what Starsector has. Which is nothing. The idea isn't for the devs to craft storylines, rather, to create tools to do so and let players make storylines. Good ones could then be put into the game.

To get back to practical side of things, let me explain how EV: Nova did things - most of it was simple flag checks to display text and do action.
http://imgur.com/BGSB2




A mission chain could be started (there was a % chance) by landing on planet, entering the shipyard, the market, the bar ().
One could set conditions - if the mission will only appear in the bar, or any planetary location; if the planet is directly specified by name or condition - like belonging to a faction.
The "missions" could also be set to trigger if you had item X in the cargo hold.

On start, a mission would prompt you with an image/text and options. You could usually decline a mission chain, after which it wouldn't appear again.
Starting a mission chain would set a flag as set, which would activate the next stage. Each stage had it's own conditions, triggers and effects.

A mission stage could be set to place/remove items in your cargo hold, sabotage your ship, spawn enemies (various conditions - it could spawn a few corvettes taking off from the planet you just left for a quick getaway, or could spawn a fighter fleet at the nearest pirate base that would actively look for you, or an ambush at half point of your journey, etc..)

A lot of powerful things can be done with simple methods, but for someone to do this for Starsector, it would require a LOT of wrangling with java. Ironically, a 30 year-old game has SS beat in user friendliness and mission coding.
This is something you really should work on IMHO, as the profits are more than worth it.
« Last Edit: May 17, 2017, 07:47:09 AM by TrashMan »
Logged

Embercloud

  • Commander
  • ***
  • Posts: 120
    • View Profile
Re: How to give this game more life
« Reply #1 on: May 17, 2017, 06:42:24 AM »

Text adventures would be absolutely fantastic for this game.
Logged

nomadic_leader

  • Admiral
  • *****
  • Posts: 725
    • View Profile
Re: How to give this game more life
« Reply #2 on: May 17, 2017, 07:11:47 AM »

Note: Your thread will get more reads if you make the title actually explain what the thread is about. (edit: there you go :) )

I prefer the original EV and EVO, because EVN railroaded people into the plots a little to hard, and they were too prolixly written. Still, they was awesome, and the tutorial is actually the best example of this in Starsector.

As a result of the complexity of starsector modding and the infinite powers it has, doing stuff like this is too difficult for many modders, so the majority of starsector mods just add new ships, which hits a point of diminishing returns eventually.

EV/N had really simple modding, with fewer capabilities, but as a result people really took it to the extreme of its possibilities and did a lot more interesting stuff and more total conversions with totally new aesthetic styles.

It would be great if some modder made a mod called "MissionLib" or something, which 1) sets up a system of persistent campaign boolean variables "mission bits" (true/false switches) and hex flags (for requirements, etc) the way EV/N had, and 2) Made up templates and routines to allow other modders to easily create branching and linear quest sequences from 5-10 basic mission types (escort, kill, deliver, protect, find, scan, etc).

That would really add a lot of life to the game and make it easy enough for non ultracore modders to get into this.
« Last Edit: May 17, 2017, 07:50:13 AM by nomadic_leader »
Logged

TrashMan

  • Admiral
  • *****
  • Posts: 1325
    • View Profile
Re: How to give this game more life
« Reply #3 on: May 17, 2017, 07:50:26 AM »

Note: Your thread will get more reads if you make the title actually explain what the thread is about

I prefer the original EV and EVO, because EVN railroaded people into the plots a little to hard, and they were too prolixly written. Still, they was awesome, and the tutorial is actually the best example of this in Starsector.

As a result of the complexity of starsector modding and the infinite powers it has, doing stuff like this is too difficult for many modders, so the majority of starsector mods just add new ships, which hits a point of diminishing returns eventually.

EV/N had really simple modding, with fewer capabilities, but as a result people really took it to the extreme of its possibilities and did a lot more interesting stuff and more total conversions with totally new aesthetic styles.

It would be great if some modder made a mod called "MissionLib" or something, which 1) sets up a system of persistent campaign boolean variables "mission bits" (true/false switches) and hex flags (for requirements, etc) the way EV/N had, and 2) Made up templates and routines to allow other modders to easily create branching and linear quest sequences from 5-10 basic mission types (escort, kill, deliver, protect, find, scan, etc).

That would really add a lot of life to the game and make it easy enough for non ultracore modders to get into this.

So true.
While it might be fun to try out a new ship, there's no context to anything one does. No "character".

I changed the thread title for clarity
Logged

nomadic_leader

  • Admiral
  • *****
  • Posts: 725
    • View Profile

For context: in this thread starting here there are a couple pages of discussion by Alex and modders who have tried to do this before and the challenges 'rules.csv' presents (note that's an old thread don't necro it, post in this one)

There's a lot of potential if the developer and modders can just make some more user friendly framework/library for other modders to use a few simple templates.

In EV/N missions could be triggered by what other missions you had done or not done, the date in-game, what outfits and ships you had, and your reputation with particular faction.

In Starsector you could add the following things as conditions for quests:
Type of cargo in your holds
Whether certain factions are at war with each other, shortages, trade disruptions, high smuggling, and other market conditions
Distance between two markets in the same system (orbits)
Stellar events like solar flares or magnetic storms.

But first we need those simple templates, we need the MissionLib
Logged

Morbo513

  • Captain
  • ****
  • Posts: 317
    • View Profile

I'd really like this, It'd give me something to contribute beyond shitposting here, provided it were relatively simple
Logged

Midnight Kitsune

  • Admiral
  • *****
  • Posts: 2847
  • Your Friendly Forum Friend
    • View Profile

The issue with adding in missions like this is that a modder would have to traverse the rules.csv. And while some people might think that just makes them look lazy or such, it is really because it is a convoluted mess and a half that very few dare to mess with. That and Alex most likely/ hopefully will add in missions, quests and other such story elements near the end of deving SS
Logged
Help out MesoTroniK, a modder in need

2021 is 2020 won
2022 is 2020 too

nomadic_leader

  • Admiral
  • *****
  • Posts: 725
    • View Profile

As I recall the developer never played EV, so maybe this isn't a priority.

In the thread I linked to, modders report using java code instead of rules.csv since the latter is too obtuse, and the developer confirms bypassing it as an option (e.g. some 0.8 salvage interactions use their own java plugins). Looking at rules.csv it is an awkward tool for this job; not suprisingly since it's adapted from Left 4 Dead; a totally different game.

Well, that's what alpha/beta testing is for -- testing modding features also. Rules.csv has failed to be accepted by modders; it is not a good tool for this purpose. It will remain for standard market interaction dialogues and so on, but for upcoming releases I hope the developer will also add a new framework for adding quests that doesn't rely on rules.csv. If he doesn't, I hope a modder will.

Ideally I'd like to see something that can parse simple .txt files the way Endless Sky does, rather than messing with spreadsheets, in order to make it accessible to more modders; though these 'kitbashed' quests wouldn't have the variety and flexibility of those made by modders willing to add custom java. But a lot charm comes from creatively using a limited toolset. And then when someone did throw up something  new using new code, it would be even more of a fun surprise.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24128
    • View Profile

FWIW, when I was working on the tutorial - which is basically a mission of the kind we're talking about here, right - the way rules.csv works didn't get in the way. It was overall a significant amount of effort, but it didn't feel like it was because of the tools involved, but just because putting a story mission together *is* a bunch of effort. The rules stuff, I pretty much just typed it in and it worked.

Any kind of text-parsing thing still has to solve the same basic... not problems, exactly, but it has to be able to hook into code in some way; the rules already do this, and it's questionable as to how a new way of doing the same thing would be superior. My feeling is that "templates" would indeed be helpful, but could/should probably involve rules.csv where appropriate. But then stuff like "going to the bar" would have to be added by the core game (or by a utility/general purpose mod), so that it could be shared between mission-adding mods.


As far as vanilla, I like this sort of thing, and there've been some conversations internally about how it might fit in/what sorts of missions we'd like to potentially see/etc. The main thing is not to add that stuff too early, because it would be a bear to update if major systems are added/change/etc.
Logged

nomadic_leader

  • Admiral
  • *****
  • Posts: 725
    • View Profile

FWIW, when I was working on the tutorial - which is basically a mission of the kind we're talking about here, right - the way rules.csv works didn't get in the way. It was overall a significant amount of effort, but it didn't feel like it was because of the tools involved, but just because putting a story mission together *is* a bunch of effort. The rules stuff, I pretty much just typed it in and it worked.

After I made the post I looked at the tutorial. It does seem straightforward, but I suppose the difficulty is hooking it into the code. Nonethless, fair or not, the modding community hasn't embraced it, which is a black eye for rules.csv

Can modders make it into separate files at least for each quest string? Will they be loaded? Working with one monolithic file seems awkward.

Quote
Any kind of text-parsing thing still has to solve the same basic... not problems, exactly, but it has to be able to hook into code in some way; the rules already do this, and it's questionable as to how a new way of doing the same thing would be superior. My feeling is that "templates" would indeed be helpful, but could/should probably involve rules.csv where appropriate. But then stuff like "going to the bar" would have to be added by the core game (or by a utility/general purpose mod), so that it could be shared between mission-adding mods.

The comms directory is the bar, isn't it? Characters can show up there with quests. Though it would be nice if MissionLib also let a quest could show up in another place sometimes, like the shipyard, or out in the middle of nowhere. (like you survey an inhabitable jungle world and suddenly a savage approaches your surveyors).

The templates would just help by limiting things to several options defined in the MissionLib java plugins. Like instead of "conditions" being anything one can imagine, maybe it could just be like 15 things such as faction rep, fleet size, location, faction war status, and so on. But it needs to allow more complex logical operators.

I think the Endless Sky (EV clone) is a good example: it limits things. SS should not merely copy this, but it's good to note that for very attribute of a mission (offer conditions, failure conditions, location, payment, fleet generation, etc), there's just a few options to choose from. Seems simple, but that's still a lot of permutations.
https://github.com/endless-sky/endless-sky/wiki/CreatingMissions


Quote
As far as vanilla, I like this sort of thing, and there've been some conversations internally about how it might fit in/what sorts of missions we'd like to potentially see/etc. The main thing is not to add that stuff too early, because it would be a bear to update if major systems are added/change/etc.

Maybe 1 storyline for each faction that's composed of like 6 segments each, maybe with a couple branches, one that can have a tangible impact on the gameworld like destorying a planet. Space the segments out so it lasts longer and the player can go at their leisure, not all at once. Just as a showcase to encourage modders to take it from there. No need to railroad people into super involved plots in vanilla.

Then have some random mini quests that are somewhat more random and based on chance encounters. These should be procedural enough to make it seem like there are more quests than there are.
Logged

TrashMan

  • Admiral
  • *****
  • Posts: 1325
    • View Profile

But then stuff like "going to the bar" would have to be added by the core game (or by a utility/general purpose mod), so that it could be shared between mission-adding mods.

The bar was simply a planet/station location to get information.
Starsector has ship buying, upgrade/refit, missions and marketplace.
EV Nova had a trade center, shipyard, mission board, outfitter and bar.
It should be trivial to add a bar. It's role would be to get the latest gossip and would serve as a more personal quest/mission hub.

Since the game tracks fleet movements and events, it should be trivial to get the bar to offer some info like "Hegemony patrol destroyed a large pirate fleet in system X. Probably some debris worth picking up for a brave captain!"

Quote
As far as vanilla, I like this sort of thing, and there've been some conversations internally about how it might fit in/what sorts of missions we'd like to potentially see/etc. The main thing is not to add that stuff too early, because it would be a bear to update if major systems are added/change/etc.

It's not really user friendly.
EVN had a proper editor. While it was fairly complex (since you had to match number ID's and flags on pretty much everything), it was understandable enough that I could make a mission.
Maybe I'm getting old, but for SS it always came off as too much work. I could try looking at it again.

Also, SS has been in development for forever. It's actually a joke in some circles that it will never ever get finished.

A proper editor - a proper mission system - needs the following:
- conditionals for appearing (item in possession, player location, time, level, variable/flag check, etc..)
- display text
- display image
- options
- effects (add/remove cargo, spawn fleet with orders, etc..)
 
Logged

Tartiflette

  • Admiral
  • *****
  • Posts: 3529
  • MagicLab discord: https://discord.gg/EVQZaD3naU
    • View Profile

Alex just stated that missions are a burden to maintain, so a whole mission editor would be a ludicrous amount of work overhead for every update in addition to the 3-6 months initial development time. That's something that is only added post release.
Logged
 

Harmful Mechanic

  • Admiral
  • *****
  • Posts: 1340
  • On break.
    • View Profile

I wrote my share of EV/EVN mission chains. I know what it was like, and if I dig up the stuff I know it runs and I can make it work again. Please don't assert that something is there that wasn't there.

Mission Computer is a dev tool that was released to the userbase - after the game was complete. And it was a great tool; powerful, flexible, authoritative, stable. I'm also old-school enough to have done pre-Nova EV plugin development with nothing more sophisticated than ResEdit and the required templates. It wasn't that much harder; instead of handy GUI guidelines you just needed a notepad to track your resource locations. Writing a story and testing it still took most of the time.

Starsector is not complete. It's not even beta complete, feature-complete.

Right now, modding Starsector is still pretty much uncharted territory. It's not an accident that lots of mods stop being updated each time the game updates; it's a lot of work. It requires a certain demented mindset, certain professional skills, or both, to keep a mod alive through a game's ongoing development. Doubly so for dev tools like the Ship Editor.

Something like a GUI editor for a mission structure that, even if implemented, would change constantly, is probably one more project than we have sufficiently talented and dependable professional programmers in the community for. A GUI editor is a luxury item, a bonus for after the game's release. I'm sometimes still shocked that we have a GUI editor for ships.

If you genuinely believe this should exist - if it's that vital a project for you to hold in hand - you should get started either creating it, or learning the skills required to create it yourself. Because you're not doing the job of persuading other people to do it by insisting that it's a worthwhile use of their hobby or development time.
« Last Edit: May 18, 2017, 02:14:49 AM by Soren »
Logged

TrashMan

  • Admiral
  • *****
  • Posts: 1325
    • View Profile

You're right!
No one should be posting suggestions in the suggestions forum.
We should all work on making the suggestions ourselves.

Welp, better close this sub-forum...

Logged

Histidine

  • Admiral
  • *****
  • Posts: 4688
    • View Profile
    • GitHub profile

Random thought: For linear text of the sort expected in a quest, a Ren'Py style script (example) would be considerably more legible than the current rules.csv structure.
(But I can see no prospect of such a thing being implemented)

Can modders make it into separate files at least for each quest string? Will they be loaded? Working with one monolithic file seems awkward.
This was a concern of mine as well, although my worry was more that the general (non-quest) rules-based dialogs having to check quest-related entries (and vice-versa!) wastes performance (the impact is probably insignificant but still) and bloats the log.
A MissionLib would presumably use an extended version of the rule dialog plugin that can be told to load a specific .csv for each quest.
Logged
Pages: [1] 2