Ambrosia Garden Archive
    • TC development environment question


      In an attempt (probably futile) to minimize misunderstanding, what follows is a lengthy build-up to a question that occured to me as one of the first steps in developing a total conversion (TC).

      The Escape Velocity Nova game is composed of two primary elements. The first element is the Nova game-engine written by Matt Burch. The second element is the Nova scenario written by the members of ATMOS. Third party developers (you and I) of TC scenarios need to suppress the default Nova scenario in order for their TC scenario to function correctly. There are two general approaches to achieving suppression of the Nova scenario.

      Given (for the purpose of the final question only, not applicable to every TC):
      1. The contents of the “Nova Files” folder has been backed-up.
      2. The main menu (NewPilot, OpenPilot, Enter, SetPrefs, Quit, AboutNova) is left intact, even though it too could be replaced.
      3. This is for a TOTAL conversion. If any Nova scenario resource, excluding the main menu, is used, then it’s not a TC, it’s an add-on plug.

      Suppression Method 1: the Data Replacement approach - All resources of the Nova scenario are deleted from the “Nova Files” folder.

      • Files that are entirely deleted: Nova Data 1 thru 6, Nova Ships 1 thru 8, Nova Graphics 1 & 2, Nova Titles 2 thru 4, Race 1 thru 4, Nova Sounds, Nova Music

      • Files that are stripped of scenario resources without removing main menu data: Nova Graphics 3 & Nova Titles 1

      • The third party developer then embarks on the creation of an entirely new universe, placing their TC resources (file creator = Növa, file type = Ndät/NGrƒ/NShď/NTďt/NSńd/Moov/MPEG) in the “Nova Files” folder.

      Suppression Method 2: the Null-Plug approach - Null resources are created in the “Nova Plug-ins” folder, overwriting the Nova scenario.

      • Key null data resources (3448 of them) that are created: chär(1), gövt(68), jünk(22), mďsn(790), shďp(288), düde(147), öops(19), ränk(31), spöb(411), s˙st(545), crön(125), oütf(241), përs(516), wëap(81), nëbu(4), böom(15), flët(128), röid(16)

      • The third party developer then embarks on the creation of an entirely new universe, placing their TC resources in the “Nova Plug-ins” folder, taking care that the TC resource plug names appear alphabetically after the null data resource plug(s) and also taking care not to use any Nova scenario dësc, PICT, rle8/D, snd, or STR# resources.

      The Question (finally):
      What makes the Null-Plug approach creation of over 3000 null data resources (a non-trivial task) worth the effort?
      Not to mention the inherent risks involved with inadvertantly making a reference to one of the 2846 dëscs, 346 PICTs, 151 rle8/Ds, 227 sounds, or 226 STR#s still accessible from the Nova scenario. I mean 3000+ null resources created versus 23+ file deletions just doesn’t make sense to me, unless there’s some real good reason(s) that I’m not perceiving. Sure, you can use the null resource plug as a kludge method for keeping track of resource ID numbers used, but if that’s the only justification then there are simpler and easier methods to do that as well. Can anybody that’s currently developing or has developed a Nova TC justify using the Null-Plug approach to Nova scenario suppression?

      Oh ... yes, I’m aware that many TCs will want to make use of Nova sounds or Music or Asteroids or something else in that vein. First, I refer you to the line above that says “Given”, and second, that would only make a difference of degree, not of substance, to The Question.

      Thanks in advance for any and all responses.

      ------------------
      "There are no bugs in my code, ... only undocumented features." - corollary #3
      Please use the (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/search.cgi?action=intro&default;=9")SEARCH(/url) feature before posting a new question. For EV:Nova development questions, please read the (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/show.pl?product=evn&category;=guides&display;=name&file;=bible_and_tmpls.sit.bin")EV Nova Resource Bible(/url) first.
      Provided by bit-banger Arturo: a (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/show.pl?product=evn&category;=utilities&display;=name&file;=ResourceInterdependence.hqx")Resource Interdependence table(/url) and the (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/show.pl?product=evn&category;=plugins&display;=name&file;=ShieldBubbles1.0.hqx")Shield Bubbles 1.0 plug(/url)

    • Quote

      What makes the Null-Plug approach creation of over 3000 null data resources (a non-trivial task) worth the effort?

      Only that it's supposed to be easier to install. Personally, I've always considered it rather silly, even back in the days of the original Escape Velocity.

      ------------------
      David Arthur
      (url="http://"http://davidarthur.evula.net/")davidarthur.evula.net(/url) | (url="http://"http://www.ev-nova.net/")EV-Nova.net(/url) | (url="http://"http://www.evula.com/survival_guide/")EV Nova Survival Guide(/url)
      Truth! Justice! Freedom! And A Hard-Boiled Egg!

    • Quote

      Originally posted by David Arthur:
      **Only that it's supposed to be easier to install. Personally, I've always considered it rather silly, even back in the days of the original Escape Velocity.

      **

      Which I don't get at all. How is moving a whole bunch of files easier than moving four folders?

      ------------------
      Starfleet Adventures: A Star Trek TC for EVN (url="http://"http://www.ev-nova.net/forums/viewtopic.php?t=145") Discussion Board (/url)
      Starfleet Adventures (url="http://"http://www.ev-nova.net/forums/viewtopic.php?t=71")Progress Log(/url)
      It is better to feed the goat than it is today.

    • If you forget to backup your data files, they are lost forever. Duh Duh Duh Duh

      ------------------
      Stephen
      (url="http://"http://www.homepage.mac.com/sec222/EVN_Website/")My Homepage(/url) - Home of the Hyperioid String
      (url="http://"http://www.homepage.mac.com/sec222/Plug-In_Recycling_Yard/")Plug-In Recycling Yard(/url)
      (url="http://"http://mailto:sec222@mac.com")sec222@mac.com(/url)

    • Not if you keep them in the folder and move the folder, which is what I do with SFA. Don't get snippy with me, young'n.

      ------------------
      Starfleet Adventures: A Star Trek TC for EVN (url="http://"http://www.ev-nova.net/forums/viewtopic.php?t=145") Discussion Board (/url)
      Starfleet Adventures (url="http://"http://www.ev-nova.net/forums/viewtopic.php?t=71")Progress Log(/url)
      It is better to feed the goat than it is today.

    • if you have a really big plug (where "really" is in caps and bold if you're developing for nova, but remains unemphasized if you're developing for classic or override), then you're not creating 3000+ null resources (unless you follow method 2 exactly), but rather 3000ish-(number of resources in your plug). you make all your resources, then fill in the rest as null, which means not too terribly many null resources if you've got a big plug. of course, if your plug doesn't come close to the size of the original scenario, method 1 is probably your best bet, but method 2 (or 2.1, i suppose) is nicer for the end user so i prefer it if i'm making something large enough to justify it

      ------------------
      WWJD for a Klondike bar?