Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Simulator Enhancements (03/13/24)

Pages: 1 2 3 [4] 5 6 ... 8

Author Topic: Personal Contacts  (Read 27208 times)

Wyvern

  • Admiral
  • *****
  • Posts: 3786
    • View Profile
Re: Re.: Personal Contacts
« Reply #45 on: August 14, 2020, 10:13:05 AM »

Ah, actually, let me paste the relevant patch notes! Basically, instead of just giving a small buff (which they still do), objectives also let you *do* something - deploy more ships. So that's real, qualitative impact - from playtesting, capturing one actually feels fun, since you're anticipating which ships you get to deploy.

This makes using smaller ships to capture and skirmish over them worthwhile. And there are supporting changes that both don't penalize you for putting officers in small ships, and remove any incentive for lugging around 10-15 "give me more deployment points" Paragons. And, capturing objectives doesn't let you snowball an advantage - it's more about evening out the playing field.

Neat!

Not in the patch notes, but needs to be dealt with: if objectives are being made more important again, the AI needs some improvements to being able to actually capture a node.  For an example, if I give a capture order to a fast cruiser, and a couple of enemy frigates wander over to harass it, it should darned well sit on the node until it's captured it and only then start chasing after things that'll take it a while to catch.  (For an example from a recent battle - I set a ship to capture a node... the enemy didn't even contest that node, but some of their ships happened to be going by at maybe 3000su away or so, and my ship wandered off-node towards them.  Didn't even manage to get in range of anything, but it also wasn't capturing the node, either.)
Logged
Wyvern is 100% correct about the math.

pairedeciseaux

  • Captain
  • ****
  • Posts: 340
    • View Profile
Re: Personal Contacts
« Reply #46 on: August 14, 2020, 11:11:42 AM »

Good to see a new blog post!

Personal contacts look like a well designed solution, and will most certainly provide a good framework for more organic content and gameplay. Nice.

Also the declarative approach is good to see, though I have to ask: why not go even further and have declarative statements and maybe basic logic in non-Java files (like .ship files)? So that adding such content could be done without having to deal with Java.

Agree with some comments here, the surprise/understated announcement above of deployment and battle related changes is as much if not more important (at least for existing players), because it touches existing core gameplay. So another blog post with a summary of it could be our next hype raising ticket, ha!  :D
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23986
    • View Profile
Re: Personal Contacts
« Reply #47 on: August 14, 2020, 11:28:07 AM »

Oh wow, % of battle size. So for those of us playing at 4-500, one of the minor objectives is enough for a cruiser, while a major objective is worth a capital. Thats pretty significant!

Yep! Kind of has to be, since the idea is you can balance the odds with a quick aggressive play at the start.


Hey Alex, I think it would be cool to spice up the rewards from these missions other than just cash.
Rewards could include a choice of ships, mid-level officers, a temporary (or potentially permanent) exemption from tarriffs from the local port or blueprints.
I would especially like to see blueprints here as its currently harder to get the blueprints of factions you are allied to, as raiding planets is a main way to reliably get blueprints.
obviously these would have to be scaled to fit the difficulty of the mission, but I think it would spice things up a bit from the usual cash and friendship reward.

Some of this is in, actually. Well, kind of. For example, one of the "military" rewards is being able to buy a good quality surplus military hull cheaply, whith a better relationship resulting in a better/bigger hull being offered.

... actually, this reminds me of something pretty big I *completely forgot* to talk about in the blog post! Another type of "mission" is a "custom production order" that you're able to give - using a screen that's much the same as the colony ship/weapon/fighter custom production screen. Higher importance/relationship increases the max value of the order, which is delivered to storage at the colony after a time.

You can pick either from your own blueprints, or from blueprints the contact has. Trade contacts don't have any, military contacts have their faction blueprints, and underworld arms dealers have the good stuff. The idea here is you can make intermittent use of blueprints you know before you have a colony up and running, and *also* it's a means to reliably get a hold of some stuff that's otherwise, for whatever reason, extremely rare.

(Modding note: no_drop, no_sell, and no_dealer blueprints are excluded from being available this way from the contact, unless the player knows them.)


Something else I think would be nice is to require a contact of the appropriate importance to vouch for you to progress in a faction from commission  -> friendly -> cooperative.
I think it would add some barrier to entry and more nuance than just chucking over 50 ai cores to become fully allied to a faction

That could be interesting, yeah. I'm not really sure how much I want to expand commissions; there's a lot that couldbe done there but it's kind of... its own thing. We'll see, though. I guess what I'm saying more than anything is that "expanding commissions" would be its own effort and not "let's add some things to it while doing something else", if that makes sense.


Very exciting! Can't wait to play around with the new content.

Thanks!


Dunno if it was intentional but I really like how elegant that solution is at also getting the player to think about deployment.  It's a neat system that feels completely overlooked as 90% of the playerbase likely just shows up in their initial fleet and begins chucking hulls at the enemy until there's nothing left.

Oh, hey, yeah! That's definitely true, since now you have to consider what you think you'll be able to capture, how much that gives you, what you can deploy as the 2nd wave if you succeed, what you need to deploy to capture it, and so on.


You should look up Star Traders: Frontiers, Alex. It has a similar contacts system, though it's a lot more complex since the entire game is built around it. The contacts there are faction-based, and are mission dealers, contact providers, service providers, etc, and they interact with each other and other factions.

This looks like it's going to add a great deal of depth to the game!

Actually, the contacts thing IIRC was partly spurred on my someone making a related suggestion based on Star Traders! It makes sense that ST:F would be more all-in on that, though, at least given what little I know about the game (which seems very cool, btw).


Maybe I missed something in the blog post but what exactly is different with these ''special'' bounties? I see there are potential higher-end enemies that wouldn't show up in normal bounties but it seems you'll get these after you complete a bunch of normal ones. Mind you, I'm completely fine with the way they're gonna work but I'm just confused on the ''special'' part. Or are they just called that because complications may happen? Anyways a great blog post, looking forward to relearning the game.

Hmm - I guess I wouldn't read too much into the word "special" - they're basically an alternate source of bounties that's more restricted, and considerably more varied and challenging. Does that make it "special"? Who's to say :)

HUZZAH patch notes! Ok but seriously, those are some fantasstic changes. The officers being what's important in counting DP makes way more sense than ''here's a bunch of capitals''. I'm not too affected by this since I already use mostly cruisers, but I'll guess even faster ships will be useful now.

Since one of my concerns was whether officers counting for this "makes sense", I'm very happy to hear this!


Well I am confused that if these scripts will affect the current intel codes...

They won't, no. For example the vanilla Red Planet mission did not need any changes and works as-is.



Interesting blog post, I'm looking forward to all the official and modding content that this will make easier to implement:)

Hey - good to see you around!

Yeah, here's hoping this helps as far as modding in missions. That's very much a goal.

It might be cool if some contacts could turn into officers for hire, after you have build a rapport with them.

Hmm, perhaps! I'm not sure that it's a useful conversion, though - a contact is generally more valuable than an officer. And if a contact would become some kind of super-officer, then that might encourage farming up contacts for that, and that doesn't seem great.


Maybe you could use an AI core to simulate a quest givers personality for a while. And since the personality copy was uploaded while at dock, it still believes itself to be there and thus gives you the same texts.

Have you been reading Alastair Reynolds recently? :) The whole "beta personality simulation" thing and so on...


BTW, any chance for a blog post about the deployment system update? To me it's actually more exciting than the personal contacts topic^^"
It certainly is more impactful. I was kinda surprised that such a big thing was casually mentioned in a thread dedicated to a completely different topic, not that I mind it tho. Not sure it could be made into an entire blog post, seems pretty straightforward to me.

Yeah, I'm not sure there's *that* much to talk about with that! It's impactful but what I wrote I think pretty much covers it. That said, happy to elaborate on any aspect!


Thanks Alex,

Really excited by the developments, as always.

:D (Also, hey!)

Do people you interact with when answering distress beacons become contacts when they get back to safety? That would be a cool reward for saving them.

Hmm. Another interesting idea, yeah. They don't - as I was saying earlier, getting contacts is pretty much a bar-only thing right now - but I wouldn't rule out a pass at some point for "other ways to get contacts", and that sort of thing would fit right in.

Also, can't wait until some modder uses the new functionality to turn Starsector into an AI core dating sim.

... don't give them ideas.


I hope that the mentioned mission difficulty scaling won't solely rely on larger fleets but include things like stealth missions where higher skills as a pilot are required.

It's specifically for these custom bounties, so stealth missions don't factor in directly. Aside from the need for stealth if, say, your target is a Pather fleet inside a system with a Pather base and a bunch of Holy Armadas.

Only indirectly related: Are there changes to the problem of random high value drops like nanoforges & alpha cores without challenges, which instantly shoot players into the late game?

Hmm, I don't think this is a "problem". You get a drop like this, and it's a choice - do you sell it and spend the money for a boost now, or do you keep the rare item and use it to get more benefit out of it later? Presenting the player with that choice is an intentional thing the game does. That said, I've been meaning to look at and perhaps tone down the sell prices. I wouldn't say 300k or so catapults you into the endgame on its own, either - it's not enough to buy a Paragon (even if one is available), let alone outfit it. I mean, it's certainly a big step, but let's not overstate it - it's also what you'd get from doing a few midrange bounties, right.

(Also, there's *a lot* more special items, which I think increases their value since finding another is much less likely. E.G. where you might now find a nanoforge, it'll be one of... around 10 or so things, with their own unique and powerful effects.)




I also really like the idea of having to be at a system's hyper comm and potentially using up a Gamma Core. It's a non-trivial expense that saves you some time, especially if you're a well-developed player with your own faction at some distance from the Core Worlds. I guess if you're swimming in Gamma Cores, you can make use of such a system more often but I don't know how much, if any, the AI Cores have changed. Gamma Cores don't do a whole lot for Colonies in the current version and it's not uncommon for me to have 20+ stored up after going into a few Red Beacon [REDACTED] system.

Even if Gamma Cores are unchanged (i.e. relatively useless to me under normal circumstances), the choice I now have is to use them to call my contacts or to turn them in for credits/rep with factions. That they're used as a high-end form of "currency" either way makes them vastly more important to me than present. Heck, if that was the case, I'd like to see more ways AI Cores could be used as currency for other forms of trade/mechanics.

One thing I completely forgot about is that a lot of the missions assume the player is physically present. Things like taking cargo on-board, buying a ship from the contact, etc. So that stuff would need to get filtered out, hmm...


Somewhat off-topic but it's always bugged me that bigger ships don't capture points faster than smaller ships. Something about the opportunity cost of having a capital wait around to capture a point the same length as a frigate just hasn't sat well with me. (The capital being at full speed and passively capturing the point on the way notwithstanding!) I've always felt that there could be modifiers to the capture rate, either by ship size, by deployment point cost of the ship in question, by number of ships within the capture zone, etc. However, there's never been a reason to really dive into it because the objectives were never all that important.

Now, with this new system, capturing/holding will be more important and modifiers to capture rate may be worth looking into. Capture rate could be based on ships size, but perhaps the inverse of my original logic: Frigates capture the fastest to keep them useful later. Or perhaps there's a hull mod that increases capture rate so that you make certain ships in your fleet more specialized in this role. Just a thought.

To me it feels like it's fast enough already that it wouldn't really matter, no? If you've got a capital ship there, chances are you've taken the objective by the time you're able to just move through it at the normal (i.e. slow) speed of the capital.


Good stuff, nice to get an update on what's being worked on.. Thanks for that  :)

Thank you!

Also, gamma cores are useful for maintaining or repairing reputation with factions, and to me, they feel a bit too valuable for something as inconsequential as getting a few extra missions while out and about. It feels like it's something you would want to do all the time for convenience, but not something where it's actually necessary so that you feel like you need to use a very limited resource. I just can't imagine a scenario where I'm more desperate than normal to get missions so that I would think about burning AI cores instead of flying home and restocking. I would prefer basic resources like volatiles or supplies instead so that I could actually use the mechanic as a convenience outside of the time in the game where I'm farming red systems (tbh I don't even need missions anymore at that point).

Hmm, yeah, this is... a good point. Perhaps this could be a use for story points, actually, with full bonus XP granted so it's "eventually free, but not in the short term".


Is the skill that lets you get extra officers being removed with he skill update? It seems like it would be 100% mandatory if officers also let you deploy more forces.
Base number of officers is now 8, but you'll still be able to get to 10 with a skill. So yes, it would seem it's gonna be ridiculously good.

Right! The alternate skill to "+2 officers" gives +1 to offcer level, and since officer level also factors in here, they're... not precisely equivalent, but close. I don't think it'll matter that much, anyway, since you're pretty likely to be at 40% deployment regarldess of which one you take when fighting the highest-tier enemies. So objectives will be the ticket - and taking on some additonal temporary mercenary officers, for anything that's too tough otherwise.

Given the new skill system, are all AI officers considered to be Max Level? Not that there's anything wrong with that.

Their actual level is used, if that's what you're asking.


Not in the patch notes, but needs to be dealt with: if objectives are being made more important again, the AI needs some improvements to being able to actually capture a node.  For an example, if I give a capture order to a fast cruiser, and a couple of enemy frigates wander over to harass it, it should darned well sit on the node until it's captured it and only then start chasing after things that'll take it a while to catch.  (For an example from a recent battle - I set a ship to capture a node... the enemy didn't even contest that node, but some of their ships happened to be going by at maybe 3000su away or so, and my ship wandered off-node towards them.  Didn't even manage to get in range of anything, but it also wasn't capturing the node, either.)

Ah yeah - I actually did make some changes here, they were just in a different section of the patch notes and I didn't include them. It was more focused on frigates but I *think* it would also help in the scenario you describe. I'll have another look, though.


Also the declarative approach is good to see, though I have to ask: why not go even further and have declarative statements and maybe basic logic in non-Java files (like .ship files)? So that adding such content could be done without having to deal with Java.

I thought about it! Basically, what you're seeing as an upside - getting away from Java - is actually a downside :) There'll always be something custom, even if it's minor like putting together a string or something. And being able to use a Java editor is extremely nice. For example, I can type in "trigger" and hit auto-complete and see the list of possible methods, instead of having to look up what's valid in this particular text file or whatever. And, the documentation for this gets generated automatically, so it's better for modders, too.

(Somewhat tangentially, that's what the "code is data" point is about... that there's not much conceptual difference between a data file and a file with code; what matters is the stuff around it that makes it easier or harder to work with.)

Agree with some comments here, the surprise/understated announcement above of deployment and battle related changes is as much if not more important (at least for existing players), because it touches existing core gameplay. So another blog post with a summary of it could be our next hype raising ticket, ha!  :D

:D
« Last Edit: August 14, 2020, 11:40:45 AM by Alex »
Logged

Grievous69

  • Admiral
  • *****
  • Posts: 2978
    • View Profile
Re: Personal Contacts
« Reply #48 on: August 14, 2020, 11:34:46 AM »

... actually, this reminds me of something pretty big I *completely forgot* to talk about in the blog post! Another type of "mission" is a "custom production order" that you're able to give - using a screen that's much the same as the colony ship/weapon/fighter custom production screen. Higher importance/relationship increases the max value of the order, which is delivered to storage at the colony after a time.

You can pick either from your own blueprints, or from blueprints the contact has. Trade contacts don't have any, military contacts have their faction blueprints, and underworld arms dealers have the good stuff. The idea here is you can make intermittent use of blueprints you know before you have a colony up and running, and *also* it's a means to reliably get a hold of some stuff that's otherwise, for whatever reason, extremely rare.
YES!YES!YES! I remember this being a frequent suggestion, so glad it made it in. Finally some use of early game blueprint hunting.
Logged
Please don't take me too seriously.

Thaago

  • Global Moderator
  • Admiral
  • *****
  • Posts: 7174
  • Harpoon Affectionado
    • View Profile
Re: Personal Contacts
« Reply #49 on: August 14, 2020, 11:54:01 AM »

... Does this mean that if we get a Hegemony military contact of high enough standing we can custom order XIV ships without having to raid the Hegemony for them? I would love to be able to advance as a Hegemony commissioned bounty hunter, eventually sporting those pretty orange stripes on my ships.

...

Hype! :D
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23986
    • View Profile
Re: Personal Contacts
« Reply #50 on: August 14, 2020, 12:01:51 PM »

... Does this mean that if we get a Hegemony military contact of high enough standing we can custom order XIV ships without having to raid the Hegemony for them?

I do believe that it does!
Logged

SCC

  • Admiral
  • *****
  • Posts: 4112
    • View Profile
Re: Personal Contacts
« Reply #51 on: August 14, 2020, 12:18:38 PM »

It doesn't lock you to a faction, though it does make it easier to gain faction rep since completing missions for a contact will also increase your rep with the faction.
I feel that it's a missed opportunity, at least in the current state of the game. Any given faction's standing, positive or negative, is mostly an arbitrary choice on the part of the player that doesn't affect anything else. It's mostly a question of how much time are you willing on to spend on buddying up with everyone.

I also just realised contacts are also going to be used to get rid of commodity excess, I recall you saying something about that. I'd have preferred economy to get on a grander scale and provide this in an organic way, but I can nag you to go back to geometric economy only for so long.

Hmm, yeah, this is... a good point. Perhaps this could be a use for story points, actually, with full bonus XP granted so it's "eventually free, but not in the short term".
I hope you won't go overboard with story point sinks, lest they become routine, ordinary. And yeah, gamma cores continue to be fairly worthless, aside from being friendship tokens.

Is the skill that lets you get extra officers being removed with he skill update? It seems like it would be 100% mandatory if officers also let you deploy more forces.
Base number of officers is now 8, but you'll still be able to get to 10 with a skill. So yes, it would seem it's gonna be ridiculously good.
Not necessarily. There's a lot the player can do even without officers, it just demands more skill from the player.

pairedeciseaux

  • Captain
  • ****
  • Posts: 340
    • View Profile
Re: Personal Contacts
« Reply #52 on: August 14, 2020, 12:23:59 PM »

Also the declarative approach is good to see, though I have to ask: why not go even further and have declarative statements and maybe basic logic in non-Java files (like .ship files)? So that adding such content could be done without having to deal with Java.

I thought about it! Basically, what you're seeing as an upside - getting away from Java - is actually a downside :) There'll always be something custom, even if it's minor like putting together a string or something. And being able to use a Java editor is extremely nice. For example, I can type in "trigger" and hit auto-complete and see the list of possible methods, instead of having to look up what's valid in this particular text file or whatever. And, the documentation for this gets generated automatically, so it's better for modders, too.

(Somewhat tangentially, that's what the "code is data" point is about... that there's not much conceptual difference between a data file and a file with code; what matters is the stuff around it that makes it easier or harder to work with.)

Sure, I understand the advantages of the code approach. Let me elaborate.

Pure programmers have mostly logic and coding skills (*).

Pure content creators have mostly story-telling and/or art-producing skills (*).

(*) WRT to subject discussed here

Sure, there are people having a mix of skills, but it's not that common. And there are people with coding skills that won't touch Java.

Who would create tons of missions using the new framework? How? Look further down the road, a few years from now, when Starsector will be million seller.

Ideal answer, IMHO, is content creators without programming skills, using a GUI tool. Even if such a GUI tool do not initially exist, non-code text file are accessible enough to such people and let them contribute using their existing skills. And it's easy to plug a GUI tool on top of non-code text files. Said GUI tool would be better than your IDE's autocomplete feature.

Having the option to write advanced logic in Java code sure is a good option, and I have no doubt that you and a few modding wizards will do great things with it, but IMO it should not be mandatory. There are other places where such a non-code approach could be good: for example star system definition (unless I'm mistaken, those require Java code).

In other words, you could have both the new Java declarative API/format when fine control / advanced logic is required, and a non-Java declarative file front-end for the easy cases.
Logged

David

  • Global Moderator
  • Admiral
  • *****
  • Posts: 909
    • View Profile
Re: Personal Contacts
« Reply #53 on: August 14, 2020, 12:40:28 PM »

Pure programmers have mostly logic and coding skills (*).

Pure content creators have mostly story-telling and/or art-producing skills (*).

(*) WRT to subject discussed here

Sure, there are people having a mix of skills, but it's not that common.

*raises hand*

Part of what is exciting about all of this - at least to me - is that it makes this piece of the content pipeline a lot easier for me to use efficiently. More content made faster = game done faster!
Logged

FooF

  • Admiral
  • *****
  • Posts: 1378
    • View Profile
Re: Personal Contacts
« Reply #54 on: August 14, 2020, 01:07:33 PM »

It doesn't lock you to a faction, though it does make it easier to gain faction rep since completing missions for a contact will also increase your rep with the faction.
I feel that it's a missed opportunity, at least in the current state of the game. Any given faction's standing, positive or negative, is mostly an arbitrary choice on the part of the player that doesn't affect anything else. It's mostly a question of how much time are you willing on to spend on buddying up with everyone.

I'm kind of in the same boat as SCC here. At some point I'd imagine you have to start choosing where your allegiances lie. If you wanted to progress further up the chain or improve standing with VIPs, you'd have to start forsaking contacts from rival factions. I would find my suspension of disbelief waning if the player character could schmooze with the upper echelon of contacts for two or more rival factions simultaneously. Low-to-mid- level ones, sure, no problem, but at the highest level? I don't know if they should be mutually exclusive or just very difficult (like using Story Points along the way).


Logged

Megas

  • Admiral
  • *****
  • Posts: 12117
    • View Profile
Re: Personal Contacts
« Reply #55 on: August 14, 2020, 01:15:38 PM »

At some point I'd imagine you have to start choosing where your allegiances lie.
ME (my colonies)!  At some point, the core worlds die and no longer nag at my faction.  No more nagging means free to explore or grind Ordos without constant interruptions grinding my activities to a halt just to babysit something.
Logged

intrinsic_parity

  • Admiral
  • *****
  • Posts: 3071
    • View Profile
Re: Personal Contacts
« Reply #56 on: August 14, 2020, 01:16:52 PM »

Also, gamma cores are useful for maintaining or repairing reputation with factions, and to me, they feel a bit too valuable for something as inconsequential as getting a few extra missions while out and about. It feels like it's something you would want to do all the time for convenience, but not something where it's actually necessary so that you feel like you need to use a very limited resource. I just can't imagine a scenario where I'm more desperate than normal to get missions so that I would think about burning AI cores instead of flying home and restocking. I would prefer basic resources like volatiles or supplies instead so that I could actually use the mechanic as a convenience outside of the time in the game where I'm farming red systems (tbh I don't even need missions anymore at that point).
Hmm, yeah, this is... a good point. Perhaps this could be a use for story points, actually, with full bonus XP granted so it's "eventually free, but not in the short term".
I have no idea how the story point system will play, so I don't really know how this would feel, but my impression of how calling contacts should be used is "I'm out exploring/flying around the core and want to see if there are any convenient missions nearby to make some extra money" which is sort of a casual interaction/check and not something that feels super consequential or critical enough to warrant spending important resources (that's just my impression). Maybe you could restrict the pool of missions available remotely to be of lower quality, so that you might find a couple basic missions to make more money, but you won't get the really juicy high level missions without meeting in person? You could also restrict remote access based on relationship with the contact (they only give you their number after you become good friends :P). Those seem like more natural ways of avoiding a situation where the player never goes to meet the contact in person, but maybe I'm not thinking about the system in the right way since I haven't played it.

Is the skill that lets you get extra officers being removed with he skill update? It seems like it would be 100% mandatory if officers also let you deploy more forces.
Base number of officers is now 8, but you'll still be able to get to 10 with a skill. So yes, it would seem it's gonna be ridiculously good.

Right! The alternate skill to "+2 officers" gives +1 to offcer level, and since officer level also factors in here, they're... not precisely equivalent, but close. I don't think it'll matter that much, anyway, since you're pretty likely to be at 40% deployment regarldess of which one you take when fighting the highest-tier enemies.
Hmm, so no matter which way you go in the tree, you get some extra deployment points and benefits to officers? That seems very reasonable.

also
...and taking on some additonal temporary mercenary officers, for anything that's too tough otherwise.
:o :o :o :o :o :o :o :o  is this a new thing? or just referring to grabbing up a few low level/bad officers for a fight and then firing them immediately?

It doesn't lock you to a faction, though it does make it easier to gain faction rep since completing missions for a contact will also increase your rep with the faction.
I feel that it's a missed opportunity, at least in the current state of the game. Any given faction's standing, positive or negative, is mostly an arbitrary choice on the part of the player that doesn't affect anything else. It's mostly a question of how much time are you willing on to spend on buddying up with everyone.
I 100% agree with SCC on this, I think the game should make you pick sides more/make your decisions more consequential. It would make sense that your hegemony contacts would be *** when you started doing missions for the TT.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 23986
    • View Profile
Re: Personal Contacts
« Reply #57 on: August 14, 2020, 01:28:13 PM »

I hope you won't go overboard with story point sinks, lest they become routine, ordinary.

Hmm - I don't think that's a concern, since the limiting factor here is the availability of story points. The more things to spend them on, the merrier! The only "danger" is having a story point use that's clearly not worth it so it never gets used. Which might actually be the case here, really.


It doesn't lock you to a faction, though it does make it easier to gain faction rep since completing missions for a contact will also increase your rep with the faction.
I feel that it's a missed opportunity, at least in the current state of the game. Any given faction's standing, positive or negative, is mostly an arbitrary choice on the part of the player that doesn't affect anything else. It's mostly a question of how much time are you willing on to spend on buddying up with everyone.

I'm kind of in the same boat as SCC here. At some point I'd imagine you have to start choosing where your allegiances lie. If you wanted to progress further up the chain or improve standing with VIPs, you'd have to start forsaking contacts from rival factions. I would find my suspension of disbelief waning if the player character could schmooze with the upper echelon of contacts for two or more rival factions simultaneously. Low-to-mid- level ones, sure, no problem, but at the highest level? I don't know if they should be mutually exclusive or just very difficult (like using Story Points along the way).

I mean, there's a time-honored tradition of playing both sides against each other, so I feel like it only requires a bit of imagination to make it "make sense"! That said, all of this is to me in the category of "you could also use contacts to do <thing>". Which, sure! And it sounds like it could be cool! But the set of things like this is endless, and there are only so many ways I can say that this particular way of applying them didn't happen, and may or may not happen at some point in the future. Like, this is more in the category of a suggestion for another thing to do, and less a critique (which "missed opportunity" kind of implies), if that makes sense.


Sure, I understand the advantages of the code approach. Let me elaborate.

Pure programmers have mostly logic and coding skills (*).

Pure content creators have mostly story-telling and/or art-producing skills (*).

(*) WRT to subject discussed here

Sure, there are people having a mix of skills, but it's not that common. And there are people with coding skills that won't touch Java.

Who would create tons of missions using the new framework? How? Look further down the road, a few years from now, when Starsector will be million seller.

Ideal answer, IMHO, is content creators without programming skills, using a GUI tool. Even if such a GUI tool do not initially exist, non-code text file are accessible enough to such people and let them contribute using their existing skills. And it's easy to plug a GUI tool on top of non-code text files. Said GUI tool would be better than your IDE's autocomplete feature.

Having the option to write advanced logic in Java code sure is a good option, and I have no doubt that you and a few modding wizards will do great things with it, but IMO it should not be mandatory. There are other places where such a non-code approach could be good: for example star system definition (unless I'm mistaken, those require Java code).

In other words, you could have both the new Java declarative API/format when fine control / advanced logic is required, and a non-Java declarative file front-end for the easy cases.

I think "person without at least a bit of coding skills putting together compelling missions" is just flat-out unrealistic. Whether the mission specification is in "code" or "data", it'll be of about the same complexity and creating the "data" manually would require coding skills. Because it's complex enough.

But, what about a GUI? There's really nothing prevent a GUI from generating code in the current format (see: code == data). The extra effort of compiling it (which isn't strictly necessary, as the game could do it on startup, but it would be significantly better) would be pretty minor compared to the mountain of other tasks involved in creating such a GUI.

The real driver of complexity here is "what you actually need to do to make an interesting mission", not whether the ascii characters that define it end up in a .java or a .txt file, if you know what I mean. I think that's the key point - putting stuff in a text file will absolutely *not* make it simpler. In fact, since a text file is not a great fit for this for various reasons, and since a ton more things would have to be translated from text into code by some additional layer, it'll make it *more* complicated.



I have no idea how the story point system will play, so I don't really know how this would feel, but my impression of how calling contacts should be used is "I'm out exploring/flying around the core and want to see if there are any convenient missions nearby to make some extra money" which is sort of a casual interaction/check and not something that feels super consequential or critical enough to warrant spending important resources (that's just my impression). Maybe you could restrict the pool of missions available remotely to be of lower quality, so that you might find a couple basic missions to make more money, but you won't get the really juicy high level missions without meeting in person? You could also restrict remote access based on relationship with the contact (they only give you their number after you become good friends :P). Those seem like more natural ways of avoiding a situation where the player never goes to meet the contact in person, but maybe I'm not thinking about the system in the right way since I haven't played it.

No, that makes sense. I'm also not 100% sure how it'd play, but that idea is worth keeping in mind.


Hmm, so no matter which way you go in the tree, you get some extra deployment points and benefits to officers? That seems very reasonable.

Yep.

...and taking on some additonal temporary mercenary officers, for anything that's too tough otherwise.
:o :o :o :o :o :o :o :o  is this a new thing? or just referring to grabbing up a few low level/bad officers for a fight and then firing them immediately?

It's new but I'm pretty sure I've mentioned it here and there on the forum. But, basically - regular officers you hire are now presented as... "Officer for hire" or something like that. There are also "Mercenary Officers" you can talk to at colonies. These, you can hire for a story point (100% bonus XP) and they will stay on with you for a year, for a pretty high monthly cost. Getting them to stay on for another year after that costs another story point (no bonus XP). These officers tend to be high level, but don't level up or count against the officer limit.
Logged

Wispborne

  • Captain
  • ****
  • Posts: 400
  • Discord: wispborne
    • View Profile
Re: Personal Contacts
« Reply #58 on: August 14, 2020, 01:35:33 PM »

This is awesome! Pumped to see creating quests become more accessible.

It was fun/gratifying to see the specific shift from an imperative to a declarative system for the quests; I wrote my own wrapper to make quests declarative already, although yours is, of course, far more accessible and comprehensive.

Spoiler
https://github.com/davidwhitman/Gates-Awakened/blob/master/src/main/kotlin/org/wisp/gatesawakened/midgame/MidgameQuestBeginning.kt

Code
class MidgameQuestBeginning : BarEventDefinition<MidgameQuestBeginning>(
    shouldShowEvent = { Midgame.shouldOfferQuest(it) },
    interactionPrompt = {
        addPara {
            "You spot a familiar tattoo; a grey circle around the eye of a $manOrWoman" +
                    " in the corner of the bar, glowing a faint white. " +
                    "You realize that it looks a bit like a ${mark("Gate")}."
        }
    },
    textToStartInteraction = {
        "Move in for a closer look at the tattooed $manOrWoman's tripad screen."
    },
    onInteractionStarted = {
        planetWithCache = Midgame.planetWithCache!! // Must exist for quest to be offered
    }
.......
[close]

Cool! Yeah, going more declarative seems like very much the way to go. Finding the right balance is tricky, though, but I'm happy with where it's landed. And, yeah, what you've posted looks pretty solid, too. Same general idea, looks like - using a base class with some methods/data members to facilitate a declarative approach.

I'm assuming you're using a language that works on top of a jvm and compiles into Java bytecode? Not identifying offhand what it is - clojure, maybe?


It's Kotlin, a language by JetBrains. You assume correctly; it compiles to java bytecode. It's actually an official language for developing Android apps, quite mature and stable.

Note: Below, I critique some example code from the blog post without full context of the rest of the API. What's more, this is *your* codebase and your project - please feel free to ignore my critique; I have my own baby codebase, I understand and won't be offended.

I do have a question; how much will the order in which you call methods in this new, declarative API matter?

That is, I presume that you must first call beginTrigger(...), then define triggers, and then endTrigger(). Is that the case, and if so, why not add a class to define a trigger so that the order that quest bits are declared doesn't matter (like a Builder pattern)?
eg
Code
beginWithTrigger(
  new HyperspaceRangeTrigger(planet, 1f, false, Stage.GO_TO_RUINS, new TriggerConditions() {
    triggerCreateFleet(FleetSize.MEDIUM, FleetQuality.DEFAULT, Factions.PIRATES);
    triggerSetStandardAggroPirateFlags();
    triggerFleetAllowLongPursuit();
    triggerPickLocationAtInSystemJumpPoint(planet.getStarSystem());
    triggerSpawnFleetAtPickedLocation(“$gada_pirate”, null);
    triggerOrderFleetPatrol(planet);
  }
);

Hmm. Honestly, I'm not sure that syntax is an improvement over having an endTrigger() call. It's an extra line and a bunch of extra syntax that imo reduces clarity - not that there's a *huge* difference.

But I think maybe we're talking about slightly different things. In my approach, you call beginTrigger() and endTrigger() to define a trigger; the various triggerXXXX methods are "what you do within the trigger", not separate triggers, right. The order of those calls may or may not matter depending on what they are, specifically.

Actually - I don't understand what you mean by "so that the order that quest bits are declared [in] doesn't matter". So I think I might just be missing something of what you mean.

I hear your point about clarity and that may be enough of an argument on its own, but I'll explain what I meant.

A method might end up looking something like this, right?

Code
connectWithGlobalFlag(Stage.GO_TO_RUINS, Stage.GET_IN_COMMS_RANGE, “$gada_gotData”);
connectWithInRangeOfCommRelay(Stage.GET_IN_COMMS_RANGE, Stage.COMPLETED);
beginWithinHyperspaceRangeTrigger(planet, 1f, false, Stage.GO_TO_RUINS);
triggerCreateFleet(FleetSize.MEDIUM, FleetQuality.DEFAULT, Factions.PIRATES);
triggerOrderFleetPatrol(planet);
endTrigger();
setTimeLimit(Stage.FAILED, MISSION_DAYS);

But it could also look like this, if you are in the mindset of "I just need to declare all of the things for this quest":

Code
connectWithGlobalFlag(Stage.GO_TO_RUINS, Stage.GET_IN_COMMS_RANGE, “$gada_gotData”);
triggerCreateFleet(FleetSize.MEDIUM, FleetQuality.DEFAULT, Factions.PIRATES);
beginWithinHyperspaceRangeTrigger(planet, 1f, false, Stage.GO_TO_RUINS);
triggerOrderFleetPatrol(planet);
connectWithInRangeOfCommRelay(Stage.GET_IN_COMMS_RANGE, Stage.COMPLETED);
setTimeLimit(Stage.FAILED, MISSION_DAYS);
endTrigger();

The lines are the same, but I reordered them. Will this fail, due to having triggerCreateFleet(...) before beginWithinHyperspaceRangeTrigger(...)?

In the example I provided, the Kotlin one, you could swap shouldShowEvent and interactionEvent and it wouldn't matter; the point is declaring them, rather the order in which they are declared.

Another benefit of passing a Trigger object to an addTrigger method is that the trigger-specific methods could be scoped to the Trigger object, rather than available anywhere in the quest definition.

A builder is another possibility;
Code
addTrigger(new HyperspaceRangeTriggerBuilder(...)
    .triggerCreateFleet(...,
        new FleetCommandBuilder()
        .orderFleetToPatrol(planet)
    )   
    .triggerCreateFleet(differentFleetParams,
        new FleetCommandBuilder()
        .orderFleetToPatrol(aDifferentPlanet)
    )
    .build()
)

This syntax also allows you to create two fleets with separate order chains (call triggerCreateFleet a second time) from the same trigger event, which I'm not sure how you'd do with the code in the blog post.

Anyway, a good deal of this is personal preference as well. Take what makes sense to you.
Logged
Mod: Persean Chronicles | Mod Manager: SMOL | Tool: VRAM Estimator | Tool: Forum+Discord Mod Database | If I'm inactive for 3 months, anyone can use any of my work for anything (except selling it or its derivatives).

Chaos Farseer

  • Lieutenant
  • **
  • Posts: 98
    • View Profile
Re: Personal Contacts
« Reply #59 on: August 14, 2020, 01:51:28 PM »

.
It might be cool if some contacts could turn into officers for hire, after you have build a rapport with them.

Hmm, perhaps! I'm not sure that it's a useful conversion, though - a contact is generally more valuable than an officer. And if a contact would become some kind of super-officer, then that might encourage farming up contacts for that, and that doesn't seem great.

You mentioned that, if a contact’s system gets decivilized, the contact moves to another system and lose a point of importance. Maybe if the contact gets pushed around to 0 importance, instead of fading away, they ask to join you as an officer? Then you’re not missing out, and it might be a neat narrative tie-in.
Logged
Pages: 1 2 3 [4] 5 6 ... 8