Ambrosia Garden Archive
    • Formerly a rant, turned OMG WTF LOL, turned bummer


      Rotating systems: case reopenned

      I just feel a mighty need to bitch right now, about things that are supposed to help us, that I have found myself fighting consistently. These things I would like to implode messily:
      1. Implicit reciprocal links
      2. Valid Target not found for missions (due to system visbits).

      They both need to just die. Right now, I'm working on some beginning missions where much of the universe is cut off at a few choke points. So, I duplicate the systems in question, visbit the systems on either side (have to do both sides because of #1), and completely remove the links from one version. No links, right?

      Wrong. Because the two occupy the same spot in space, Nova (intelligently) assumes they are the same system. They are, I want Nova to think this. However, it then assumes that #1 exists in the versions of the systems where they don't! AAAAAAAAAAAAAAAAAAA!!!!!!!!

      So, now I have to move the systems by a pixel to disconnect them, but that's going to cause issues because you could be in the system when it changes.... AAGH. Go away, implicit links! I don't need or want you! Hell, it takes away power- it's now very difficult to create maze-type systems (or one-way links of any kind!). GO AWAY!

      #2 is just plain annoying. It's there to prevent bugs, but in TC's where nearly every single system is visbitted (Read: SS & Retribution) it makes it completely impossible to do any random missions, as it will never find a target. Couldn't we have just left this up to the developers? I know that even in Nova this caused headaches- ever notice how the borders are supposed to change hands and don't? Yup, it's our friend #2 at work. YARG!

      This post has been edited by Masamune : 08 November 2004 - 12:58 PM

    • Actually, the borders aren't supposed to change hands. We removed that feature because it confused the hell out of our beta testers.

      We also requested the implict reciprocal link system. Why? Because it meant we didn't have to create hyperlinks to each and every invisible copy of a system that exists. That saved us huge volumes of work.

      Get over it.

      Dave @ ATMOS

    • What pipeline said was correct. It was removed in Beta 7 of Nova.

    • pipeline, on Nov 2 2004, 02:34 PM, said:

      Actually, the borders aren't supposed to change hands. We removed that feature because it confused the hell out of our beta testers.

      We also requested the implict reciprocal link system. Why? Because it meant we didn't have to create hyperlinks to each and every invisible copy of a system that exists. That saved us huge volumes of work.

      Get over it.

      Dave @ ATMOS
      View Post

      Edit: darn, missed your post while typing.

      First, those must be some dumb beta testers ;). But beyond that, if that's the issue, then fine- but why remove the ability to do it nicely? Now, for SS and Retribution, I can't make random missions, due to the extensive visbitting. That sucks, and I don't care what you say.

      Based on what you've said previously, though, I'm confused. Before, you said that the system swaps were removed because of flaws in the system; namely, that if you have a mission to a certain planet, and the system it's in get's swapped, the travelStel/ReturnStel condition can never be met. Which is why planets in visbitted systems were automatically removed from the valid targets list when using random stellar selects. In any case, your previous testimony seems to contridict "Never planned to do that". There's an awful lot of crons in there, with some very well-defined frequencies, for you to only have been planning on putting messages up in the bar, IMHO.

      Next, we're talking about two separate concepts here and getting our signals crossed. I like the fact that two systems in the same location will share links, which is what you're talking about. It does have the side effect of making it very annoying to remove system links dynamically, though, and this you have to conceed.

      The assumed implicit links in other cases, though, are simply craptastic. I assume it was designed this way so that you can do the shared links, however, I fail to see the necessity of extending this to all cases. Say I have two stacked systems with mutually exclusive visbitting (as is proper), A and B, both with links to C. C only links to A. When B becomes visible and A is hidden, C redirects to B. This is good. Obviously, in this case, it needs to assume an implicit link. But why does it need to assume this in other cases? There's more than enough data to be able to differentiate when you're linking to a stacked set of systems from when you're not, in which case you simply want a one-way jump.

      Anyway, Pipeline, I don't want to rag on you. You guys did an excellent job on Nova. But I disagree with some of your design decsions, as they remove alot of power from one of the most powerful tools at our disposal, and have caused me various headaches! So, I won't be getting over it until my headaches go away. πŸ˜‰

      This post has been edited by Masamune : 02 November 2004 - 07:51 PM

    • Masamune, on Nov 3 2004, 10:49 AM, said:

      First, those must be some dumb beta testers ;).View Post

      No, they weren't, and I don't like the implication. They found it very hard (and very annoying) to keep track of the state of the universe. The response against it was overwhelming.

      Masamune, on Nov 3 2004, 10:49 AM, said:

      But beyond that, if that's the issue, then fine- but why remove the ability to do it nicely? Now, for SS and Retribution, I can't make random missions, due to the extensive visbitting. That sucks, and I don't care what you say.View Post

      It came down to time. We didn't need the feature, and it would have caused Matt some serious coding grief to put it in. We had more important things to work on -- getting RLE encoding right, making sure our new animations worked, reworking every single resource type for ever-changing templates, etc.

      Masamune, on Nov 3 2004, 10:49 AM, said:

      Based on what you've said previously, though, I'm confused. Before, you said that the system swaps were removed because of flaws in the system; namely, that if you have a mission to a certain planet, and the system it's in get's swapped, the travelStel/ReturnStel condition can never be met. Which is why planets in visbitted systems were automatically removed from the valid targets list when using random stellar selects. In any case, your previous testimony seems to contridict "Never planned to do that". There's an awful lot of crons in there, with some very well-defined frequencies, for you to only have been planning on putting messages up in the bar, IMHO.View Post

      Jason left the crΓΆns in to give people an idea of what might have occurred. As for the issue you describe, the work-around would have required an entire rewrite of the way in which Nova handles references to stellar objects.

      Masamune, on Nov 3 2004, 10:49 AM, said:

      Next, we're talking about two separate concepts here and getting our signals crossed. I like the fact that two systems in the same location will share links, which is what you're talking about. It does have the side effect of making it very annoying to remove system links dynamically, though, and this you have to conceed.
      View Post

      What's the alternative? A whole series of fields in the template specified as "static links"? Yeah, cheers. That would have added another whole bag of work to Matt's coding efforts. Nova's complex enough as it is.

      Masamune, on Nov 3 2004, 10:49 AM, said:

      The assumed implicit links in other cases, though, are simply craptastic. I assume it was designed this way so that you can do the shared links, however, I fail to see the necessity of extending this to all cases. Say I have two stacked systems with mutually exclusive visbitting (as is proper), A and B, both with links to C. C only links to A. When B becomes visible and A is hidden, C redirects to B. This is good. Obviously, in this case, it needs to assume an implicit link. But why does it need to assume this in other cases? There's more than enough data to be able to differentiate when you're linking to a stacked set of systems from when you're not, in which case you simply want a one-way jump.View Post

      Once again, it comes down to time and necessity. The instance Matt coded suited our needs well, and didn't cause us any headaches. We were pushed for time as it was -- extra features that we were never going to use in the scenario were dropped or never considered.

      Masamune, on Nov 3 2004, 10:49 AM, said:

      Anyway, Pipeline, I don't want to rag on you. You guys did an excellent job on Nova. But I disagree with some of your design decsions, as they remove alot of power from one of the most powerful tools at our disposal, and have caused me various headaches! So, I won't be getting over it until my headaches go away. πŸ˜‰
      View Post

      You seem to forget that the Nova engine was designed to do our job, not yours. Nova is not the be-all and end-all flying Edsel. It does the jobs we needed it to do, and very little more. Our design decisions were excellent because they enabled us to do the two most important things:

      • Get Nova finished

      • Make our job as straight-forward as possible.

      Anything else above and beyond that is sheer happenstance. It's called "project management".

      If you think that your feature request is worth Matt's time (and no extra money) to code up for you now, go right ahead and mail him. I guarantee you, though, that if it involves changing the template types for Nova resources, he'll give you a flat "no". What's more, were he to change it then WinNova would also need to be changed, including all the resource reading code. Since WinNova is stuck in limbo land, I don't think we'll be changing anything.

      Dave @ ATMOS

      ps. Yes, you've annoyed me.

      This post has been edited by pipeline : 02 November 2004 - 08:21 PM

    • That would be cool... a system that Nova believed was the same one, even though they were far from each other... interesting. scrambles to open TextEdit and get this all down πŸ™‚

    • pipeline, on Nov 2 2004, 06:04 PM, said:

      No, they weren't, and I don't like the implication.

      Notice the ;). I chose it to denote sarcasm.

      pipeline, on Nov 2 2004, 06:04 PM, said:

      They found it very hard (and very annoying) to keep track of the state of the universe. The response against it was overwhelming.
      It came down to time. We didn't need the feature, and it would have caused Matt some serious coding grief to put it in. We had more important things to work on -- getting RLE encoding right, making sure our new animations worked, reworking every single resource type for ever-changing templates, etc.

      I understand time management.

      pipeline, on Nov 2 2004, 06:04 PM, said:

      Jason left the crΓΆns in to give people an idea of what might have occurred. As for the issue you describe, the work-around would have required an entire rewrite of the way in which Nova handles references to stellar objects.

      I think a single field- planetClass- would have solved the issue, especially since you already said you were already dealing with changing templates.

      pipeline, on Nov 2 2004, 06:04 PM, said:

      What's the alternative? A whole series of fields in the template specified as "static links"? Yeah, cheers. That would have added another whole bag of work to Matt's coding efforts. Nova's complex enough as it is.

      Why would you need that? It should (I say should only because I haven't seen the code) be simple matter to determine if you have stacked planets or singular planets, and change the behavior accordingly. No need for a set of static links.

      pipeline, on Nov 2 2004, 06:04 PM, said:

      Once again, it comes down to time and necessity. The instance Matt coded suited our needs well, and didn't cause us any headaches. We were pushed for time as it was -- extra features that we were never going to use in the scenario were dropped or never considered.

      Hell, half the features in Nova didn't get used! What are they still doing in there? Obviously, you considered those.

      pipeline, on Nov 2 2004, 06:04 PM, said:

      You seem to forget that the Nova engine was designed to do our job, not yours. Nova is not the be-all and end-all flying Edsel. It does the jobs we needed it to do, and very little more. Our design decisions were excellent because they enabled us to do the two most important things:

      • Get Nova finished

      • Make our job as straight-forward as possible.

      Anything else above and beyond that is sheer happenstance. It's called "project management".

      If you think that your feature request is worth Matt's time (and no extra money) to code up for you now, go right ahead and mail him. I guarantee you, though, that if it involves changing the template types for Nova resources, he'll give you a flat "no". What's more, were he to change it then WinNova would also need to be changed, including all the resource reading code. Since WinNova is stuck in limbo land, I don't think we'll be changing anything.

      Dave @ ATMOS

      ps. Yes, you've annoyed me.
      View Post

      I never asked it to be everything. That's where you're missing the entire point of my post, and has us now stuck in hostility land. I posted to bitch, because I was tired of hitting my head on the keyboard. I gave up asking for features the day after Nova was released and Matt said, "No new features will be added".

      I've spent a hell of a lot of time looking at, working with, and thinking about the Nova engine, and what I can do with it- as you have as well, undoubtedly. Sometimes I get irked that something I feel should be (or should have been) quite basic was overlooked, and causes me headaches as a result. As it is becoming obvious to me now, visbits were never meant for extensive use. So, if I want to use them that way, I'll just have to bear the burden.

      Anyway, now I'm annoyed, and I'd rather not be- at least not at you. I'll stop my public bitching and extend an olive branch. Just try to look at it from my POV for a sec, and maybe you'll understand my inner pain. πŸ˜„

    • Your pain I can understand.

      Here is a solution: if you think your scenario is good enough to be a new Escape Velocity release, why not contact Ambrosia? They may recontract with Matt to make some of the engine changes you want.

      Dave @ ATMOS

    • Exactly what would be the characteristics of a scenario good enough to be a new EV release? A universe 2 or more times larger than the Nova one? 500-mission long mission strings? Excessive publicity?

      I'm interested.

    • I can understand the limitations that you guys had to place on EVNova... One of my many mottos is "If you find a problem... work around it... if it's hard... it's because you're developping a high-tech piece of software that shouldn't exist... if you succeed... you're one hell of a programmer!"

      It's a pitty that I can't ask Ambrosia to make a new EV release with my storyline... it would be copyright infringement... even if Origin Inc is dead!!! Damn those fools at Electronic Arts!!! Wish they managed things like Ambrosia... Wing Commander would still be alive today... luckily there are many strong-willed veterans in the Confederation Navy working to keep the story of Christopher Blair alive through various game-mods and freeware games in the works, such as my Wing Commander TC for Nova πŸ˜‰

      I just can't wait to run into that visbit issue... since the entire Kilrathi Imperium becomes the Kilrathi Assembly of Clans after wing commander 3!

    • pipeline, on Nov 2 2004, 07:05 PM, said:

      Your pain I can understand.

      Dave @ ATMOS
      View Post

      Then I'm completely satisfied! Now we can be friends again.

      I wouldn't begin to presume my project could be EV4. EV:N Override maybe :).

      Most of the fun, for both me and the future players, has been pushing the existing engine as far as it will go. But every now and again you hit these walls that make life difficult, you know? It's not that I can't fix it- I have- it's that I really don't want to have to fix it sometimes.

    • Masamune, on Nov 3 2004, 02:51 AM, said:

      As it is becoming obvious to me now, visbits were never meant for extensive use. So, if I want to use them that way, I'll just have to bear the burden.View Post

      That's something that became more and more obvious for me as well after all the reports of problems with it and the caveats in the Bible about that. You #1 and #2 come both from VisBit use, and the #2 can be corrected (with a mission that looks like the random mission and always goes to the changing planet, repeat for the number of changing planets and the number of random missions that should go the the changing planets) if the number of swapped systems (and planets) is reasonable. That's why the VisBit field explanation fills most of my sΛ™st annotated template: it's a feature that isn't really meant to be used extensively, and can be a source of bugs if not every case is considered.

      As for #1, what's possible is to place uninhabited systems at the choke points, and make them disappear, replaced by nothing, to cut the hyperlinks. Okay, that makes systems disappear, but I can assure you that nothing can go through. πŸ˜‰

      By the way, could you please explain in detail, Masamune, the various problems you've run into? This is priceless information, I would put the most important ones in my templates, and the others will be known by the collective mind of plug deving. πŸ˜‰

    • Hey! Guess what! If you put the system with less links at a lower id, it doesnt inherit the links from higher ids in the same spot. You just need one extra system, let me explain.

      a and b are in the same place, as are c and d. a and c are lower id numbered than their counterparts. C visbits are impossible to match, and Ds field is empty. b and d link to eachother. (this must be explicit). when the time comes, swap a with b. c should never be visible, but making it prevents nova from figuring out the implicit return jump.

      This also goes for wierd maze areas. Just put an invisible, unlinked system on top of every system, then the jumps in the visible system will have no implicit return links, so you can do whatever you want.

    • That makes perfect sense, Neb. That should help out a bunch- I'll just have to carefully control my system ordering. Thanks!

      Zacha: I'll try and post or email you a collection of wisdom ASAP.

    • Yep, no problem πŸ™‚

      I had to spend hours figuring all that stuff out for my project im working on.

      Theres still no resolution for the random missions, though. though, maybe...

      There is a subrule that says if the spob is in a mutable system, but every mutation contains that spob, you can use it as a random dest. So put a copy of every version of the spob in every system, without giving navdefaults to the ones you shouldnt be able to land on. That should work, right?

    • Oh, i just realised it wouldnt chose right.

      Hmm, it would randomly chose any system -.-

      doh.

    • While we're talking about system in SS, I have a question: did you ever try out Martin Turner's idea to use the same spob but in different systs? I'll make a stab at testing this anyways, but rotating planets might be a possibility after all if it works.

    • the xy of the spob is stored in the spob, not the sys, as is the govt of the spob itself.

      So you couldnt really do much with this idea

      (though, i suppose you could make a moon orbit a planet, with the moon never being the target of any random missions)

      This post has been edited by NebuchadnezzaR : 03 November 2004 - 09:42 PM

    • No, I mean the actual syst rotating, not the planet. We happen to have around a planet per system.

      But now I just remembered other issues: if the player is in a - wait a second. I think I might have just figured out a way. It'll involve probably three times as many crons, and a lot of missions, but it could work

    • NebuchadnezzaR, on Nov 3 2004, 07:57 PM, said:

      Hey! Guess what! If you put the system with less links at a lower id, it doesnt inherit the links from higher ids in the same spot. You just need one extra system, let me explain.

      a and b are in the same place, as are c and d. a and c are lower id numbered than their counterparts. C visbits are impossible to match, and Ds field is empty. b and d link to eachother. (this must be explicit). when the time comes, swap a with b. c should never be visible, but making it prevents nova from figuring out the implicit return jump.

      This also goes for wierd maze areas. Just put an invisible, unlinked system on top of every system, then the jumps in the visible system will have no implicit return links, so you can do whatever you want.
      View Post

      Wow...one way links?

      :shocked wide-open-eyes smiley:

      :drool: