Ambrosia Garden Archive
    • New Ship,rëlD,new explosion.ect


      How do I make a new ship for Nova,or new explosions?

      ------------------
      EVN Rocks. Ambrosia Rocks. Plugs Rock! I rock!!!! MACS RULE!!!
      jamo@mac.com

    • Quote

      Originally posted by U.S. Orion:
      **How do I make a new ship for Nova,or new explosions?

      **

      Here is something you might find useful: (I am using the code tag to preserve formatting)

      * The shďp resource
      
           Spaceships are the heart of Nova, so the ship resource contains a lot of
      info. The name of a ship class, which is seen in the targeting display,
      corresponds to the name of the ship resource. The first nine fields give Nova
      some general performance info on each ship type:
      
      Holds             Cargo capacity, in tons. Put a negative sign in front of this
                          value if you want to prevent the player from purchasing
                          mass expansions. (e.g. a value of -100 would mean 100 tons
                          of hold space but no mass expansions allowed)
      
      Shield            Shield strength.
      
      Accel             Acceleration magnitude. 300 is considered an average value.
      
      Speed             Top speed. 300 is also an average value here.
      
      Maneuver          Turn rate. 10 ? 30°/sec.
      
      Fuel              Fuel capacity. 100 = 1 jump.
      
      FreeMass          Space available to add additional items and upgrades. Note
                          that this is in addition to the space taken up by the
                          ship’s stock weapons. (e.g. a ship with 20 tons listed in
                          FreeMass and 10 tons of stock weapons will actually have 30
                          tons of expansion space, with 20 available.)
      
      Armor             Armor strength.
      
      ShieldRech        Shield recharge speed, in number of shield points x1000 per
                          frame. Bigger numbers here mean faster recharge - a value
                          of 1000 is equal to 1 point per frame or 30 points per
                          second.
      
      
      The next twelve fields tell Nova which stock weapons to put on your ship when
      you first buy it:
      
      WeapType (x8)     ID numbers of weapon types
                        -1 or 0     No weapon
                        128-191     Add this weapon type
      
      WeapCount (x8)    How many of each of the above weapons to add
                        -1 or 0     None
                         1 and up   Add this many
      
      AmmoLoad (x8)     The standard ammo load for weapons that need it, or ignored
                          for those that don’t
                        -1 or 0     No ammo
                         1 and up   Include this many rounds of ammo
      
      
      The next two fields tell Nova what this ship’s maximum loadout of fixed guns and
      turreted weapons is. Each ship has an inherent upper limit on fixed guns and
      turrets, in order to keep them from becoming absurdly powerful. (e.g. a bulk
      freighter has lots of room to add weapons, but is limited to a single turret for
      defense) The fields are:
      
      MaxGun     The ship’s maximum number of fixed guns, which are flagged in the
                   WeapFlag field of the outf resource.
      
      MaxTur     The ship’s maximum number of turrets, which are flagged in the
                   WeapFlag field of the outf resource.
      
      
      The next field tells Nova where this ship is available for purchase:
      
      TechLevel     What the technology level of the ship is. This ship will be
                      available at all shipyards with a tech level of this value or
                      higher. (The exception to this rule involves the SpecialTech
                      fields of the spöb resource; see the section on spöb resources
                      for more information.)
      
      
      The next field, Cost, tells Nova how much to charge you when you buy this ship.
      The cost of buying a ship is always the cost of the new ship minus 25% of the
      original cost of your current ship and upgrades. (i.e. you always "trade up" to
      a new ship) 
      
      The next field stores info on how the ship explodes:
      
      DeathDelay      The number of frames the ship "disintegrates" before finally
                        exploding.
            0-59      The ship disintegrates for this number of frames and then
                        disappears in a single fireball.
            60+       The ship disintegrates for this number of frames and then
                        disappears in a huge explosion. The exact size of the
                        resulting fireball is proportional to the ship's mass. (see
                        below)
      
      
      ArmorRech       Armor recharge speed, in number of armor points x1000 per
                          frame. Bigger numbers here mean faster recharge - a value
                          of 1000 is equal to 1 point per frame or 30 points per
                          second.
      
      Explode1       Type of explosion to show (0-63) while the ship is breaking up,
                       or -1 to not show any explosions until the ship is finished
                       being destroyed.
                       
      Explode2       Type of explosion to show (0-63) when the ship is completely
                       destroyed. You can also add 1000 to the value of this field in
                       the same manner as the ExplodeType field in the wëap resource.
                       Set to -1 to not show any explosion when the ship is
                       destroyed.
      
      DispWeight     The display weight of this ship type. Ships with a higher
                       display weight are shown closer to the top of the shipyard
                       dialog. This can be used to effectively rearrange the order
                       in which ships are displayed without rearranging the
                       resources themselves.
      
      Mass           The mass of the ship, in tons. This doesn't affect acceleration
                       or speed at all, but it does affect travel time in hyperspace
                       and the display on the density scanner. Also, the blast radius
                       and impact strength when the ship explodes is proportional to
                       its mass.
        1-99         1 day per jump, small blip on density scanner
        100-199      2 days per jump, large blip on density scanner
        200 and up   3 days per jump, large blip on density scanner
      
      
      Length     The ship's length in meters. Currently unused in any calculations,
                   but it’s kinda cool, so it’s displayed in the "detailed ship info"
                   dialog.
      
      
      The next field tells Nova what kind of AI the ship will have if it's not created
      in connection with a dude resource. The only place this field is useful is when
      a ship is created as an escort ship; otherwise, it's ignored:
      
      InherentAI     What AI the ship uses when it's escorting the player.
             1-4     Use this kind of AI. (see the AI descriptions above) Note
                     that only ships with inherent AI of 1 or 2 can be used to
                     carry cargo when they are the player's escorts.
      
      Crew           Number of crew members. Ships with 0 crew can't be boarded,
                       nor can they capture any other ships.
      
      Strength       An arbitrary value that represents the relative strength of
                       the ship type with respect to the rest of the universe.
                       Used when calculating combat odds (see the govt resource
                       for details).
      
      The next field tells Nova what government is associated with a ship type.
      Note that unlike previous EV games, Nova actually handles two inherent
      government associations for each ship type: an inherent combat govt
      (used when an AI ship or stellar is deciding if it likes or hates another
      ship) and an inherent attributes govt (used for non-combat things like
      voice type, distress message flags, etc). Sometimes you might want to
      create a ship type that inherits attributes from a particular govt but
      isn't considered to be inherently of that govt in combat, so Nova lets
      you use the InherentGovt field in several different ways:
      
      InherentGovt     -1          No inherent combat govt or inherent attributes
                                    govt for this ship
                       128-383     Ship is treated as being inherently of the
                                    govt with this ID, both for AI combat
                                    and attributes inheritance)
                       1128-1383   Ship has an inherent attributes govt with
                                    this ID (minus 1000) but no inherent
                                    combat govt.
                       2128-2383   Ship has an inherent combat govt with
                                    this ID (minus 2000) but no inherent
                                    attributes govt.
      
      The next field is for some miscellaneous flags:
      
      Flags        0x0001     Slow jumping (75% normal speed)
                   0x0002     Semi-fast jumping (125%)
                   0x0004     Fast jumping (150%)
                   0x0008     Player ship takes advantage of FuelRegen property
                   0x0010     Ship is disabled at 10% armor instead of 33%
                   0x0020     Ship has afterburner when player has an advanced combat
                                 rating
                   0x0040     Ship always has afterburner (for AIs only)
                   0x0100     Show % armor on target display instead of “Shields
                                Down”
                   0x0200     Don't show armor or shield state on status display
                   0x0400     Ship is a planet-type ship, and can only be hit by
                                planet-type weapons
                   0x1000     Ship’s turrets have a blind spot to the front
                   0x2000     Ship’s turrets have a blind spot to the sides
                   0x4000     Ship’s turrets have a blind spot to the rear
                   0x8000     Ship is an escape ship type - if the player is carrying
                                any ships of this type and decides to eject, he will
                                fly off in a ship of this type (with random damage)
                                instead of an escape pod.
      
      PodCount     For decorative purposes, AI ships can be made to launch escape
                   pods when they're destroyed. This field contains the standard
                   number of escape pods for an AI ship of this type to launch when
                   destroyed, at a rate of one per second. Note that this has nothing
                   to do with the përs field's escape pod flag, it's just for eye
                   candy. Don't overuse this field, as it can be annoying if used
                   too often. (perhaps restrict it only to luxury liner type ships).
      
      
      DefaultItems   Up to eight default items with which to equip this ship when the
                       player buys or captures one. Note that AI-controlled ships
                       will ignore these fields; also, don’t put anything in here
                       that isn’t a physical item - i.e. afterburners, shield
                       boosters, and the like are okay, but no fake IDs, maps, etc.
                     128-255    Ship comes stock with this item
                     -1         Ignored
      
      ItemCount      The number of each DefaultItem with which to equip the player.
      
      FuelRegen      This ship type’s inherent fuel regeneration property. Works
                       exactly the same as the fuel scoop ModVal property - useful
                       for making ships with built-in fuel replenishment. Note that
                       for the player to be able to use this field, the 0x0008 flag
                       must also be set. (this allows you to give enemy ships
                       built-in fuel scoops but still make the player have to buy his
                       own)
      
      SkillVar       The amount (in percent) to which this ship’s pilots’ skill
                       varies. This affects acceleration and turn rate for each ship:
                       i.e. a skill variance of 10% would make each ship of a given
                       type up to 10% slower or faster than “stock”. Values from
                       1 to 50% are valid.
                
                       
      Flags2         0x0001    Ship exhibits swarming behavior
                     0x0002    Ship prefers standoff attacks
                     0x0004    Ship can't be targeted
                     0x0008    Ship can be fired on by point defense systems
                     0x0010    Don't use fighter voices
                     0x0020    Ship can jump without slowing down
                     0x0040    Ship is inertialess
                     0x0080    AI ships of this type will run away/dock if out of
                                 ammo for all ammo-using weapons
                     0x0100    AI ships of this type will cloak when their weapon
                                 goes into burst reload
                     0x0200    AI ships will cloak when running away
                     0x0400    AI ships will cloak when hyperspacing
                     0x0800    AI ships will cloak when just flying around
                     0x1000    AI ships will not uncloak until close to their target
                     0x2000    AI ships will cloak when docking
                     0x4000    AI ships will cloak when preemptively attacked 
      
      
      Availability   Control bit test expression. The player will be able to purchase
                     this type of ship when the expression evaluates to true. Leave
                     blank if unused. Depending on the configuration of other flags,
                     the ship might appear in the shipyard but not be able to be
                     purchased if its Availability evaluates to false.
       
      AppearOn       Control bit test expression. Ships of this type will not show up
                     in dude resources if this expression evaluates to false. Leave
                     blank if unused.
                     
      OnPurchase     Control bit set expression. Leave blank if unused. 
      
      Deionize       The rate at which this ship type dissipates ionization charge.
                     A value of 100 equals 1 point of ion energy per 1/30th of a
                     second. Higher values for Deionize yield faster ion charge
                     dissipation.
                     
      IonizeMax      The amount of ion charge at which a ship of this type will be
                     considered "fully ionized".
                     
      KeyCarried     The key carried ship type, used for interesting effects in 
                     the wëap and shän resources.
      
      DefaultItms2   More default items, used as above
      ItemCount
      
      Contribute      These two Contribute fields together form a 64-bit flag that is
      Contribute      subsequently combined with the Contribute fields from the
                      outfit items in the player's possession, to be used with the
                      Require fields in the outf and misn resources.
      
      Require        These two Require fields together form a 64-bit flag that is
      Require         logically and'ed with the Contribute fields from the player's
                      current ship and outfit items. If for each 1 bit in the Require
                      fields there is a matching 1 bit in one or more of the
                      Contribute fields, the ship can be purchased. Leave these
                      set to zero if unused. Depending on the configuration of other
                      flags, the ship might appear in the shipyard but not be able to
                      be purchased if the player doesn't meet the Requirements.
      
      BuyRandom      The percent chance that a ship of this type will be available for
                       purchase on a given day. A BuyRandom of 0 means this ship will
                       never be made available for purchase.
      
      HireRandom     The percent chance that a ship of this type will be available for
                       hire in the bar on a given day. A HireRandom of 0 means this
                       ship will never be made available for hire.
      
      OnCapture      Control bit set expression, evaluated when you capture a ship of
                       this type. Leave blank if unused. 
      
      OnRetire       Control bit set expression, evaluated when you sell a ship of
                       this type and/or replace it with a captured ship.
      
      Subtitle       The subtitle to show on the target display for this ship type
      
      Flags3         Even more flags!
                     0x0001    Ship destroys asteroids
                     0x0002    Ship scoops asteroid debris
                     0x0010    Ship ignores gravity
                     0x0020    Ship ignores deadly stellars
                     0x0040    Ship's turreted shots appear above the ship instead
                                of below
                     0x0100    Don't show ship in shipyard if Availability is false
                     0x0200    Don't show ship in shipyard if Require bits not met
                     0x4000    When this ship is available for sale, it prevents all
                                higher-numbered ship types with equal DispWeight from
                                being made available for sale at the same time.
      
      UpgradeTo      If an escort ship of this type can be upgraded, this field holds
                      the ID of the ship type that it can be upgraded to. Set to 0 or
                      -1 if this ship class can't be upgraded.
                      
      EscUpgrdCost   The cost to upgrade an escort ship of this type to the next more
                      advanced version, as defined in the UpgradeTo field.
      
      EscSellValue   The amount of cash the player gets for selling off a captured
                      escort of this type. If you input a number that's less than or
                      equal to zero here, Nova will default to 10% of the ship's
                      original cost.
      
      EscortType     Tells Nova which of the four categories of escorts to put this
                      ship type into when organizing the escort control menu.
                      -1  Have the game try to figure it out at runtime
                       0  Fighter
                       1  Medium Ship
                       2  Warship
                       3  Freighter
      
      ShortName     The short string that is displayed in the shipyard dialog menu
                     for this ship type. If you want to split this name into two
                     separate  lines, put the characters "n" into the name, e.g.:
                     "Big Shipn(used)". When using this, lines that start with
                     an alphanumeric character are drawn in white, while lines
                     that start with other symbols are drawn in grey.
      
      
      CommName       The short string to display for this ship when it is hailed by
                      the player.
      
      Long Name      The long string to display when the player purchases a ship of
                      this type or starts a new pilot.
                      
      MovieFile      The filename of a QuickTime movie to display in place of the
                      ship picture  in the shipyard dialog. The QuickTime movie must
                      reside within the Nova Files or Nova Plug-Ins folders and will
                      be looped continuously while the player has this ship type
                      selected.
      
      
      Ships' target info picts are stored in PICT resources 3000 and on. The engine is
      smart enough to reuse targeting picts for two ship classes that have the same
      base sprites: all you have to do is give the first of any series of
      identical-looking ship types a target pict in the usual way (PICT resource ID
      3000 + shipID - 128) and the engine will use it for all higher-numbered ship
      types with the same base sprites.
      

      And here:

      * The shän resource
      
      	Shan (ship animation) resources contain sprite info for ship graphics, which
      are too complex for the more rudimentary spin resource.
      
      BaseImageID     The resource ID of the basic sprite images for this ship
      
      BaseMaskID      The ID of the corresponding sprite masks (ignored if the base
                        image is an rleD/rle8 resource)
      
      BaseSetCount    The number of sprite sets for the basic sprite images. A sprite
                        set is usually 36 sprite images, and the graphics for all of
                        a ship's basic sprite sets are stored in the same
      PICT/rleD/rle8
                        resource, referred to in BaseImageID.
                        
      BaseXSize       The X size of each basic sprite image
      
      BaseYSize       The Y size of each basic sprite image
      
      BaseTransp      The inherent transparency of the basic sprite images, from
                        0 (no transparency) to 32 (fully transparent).
      
      AltImageID      The resource ID of the alternating sprite images for this ship.
                        Sprites from the alt sprite sets can be displayed on top of
                        the basic sprite for the ship, cycling through each available
                        sprite set at a rate defined in the Delay field, below.
                        Set to zero if unused.
                        
      AltMaskID       The corresponding mask ID. Set to zero if unused.
      
      AltSetCount     The number of sprite sets for the alternating sprites.
      
      AltXSize
      
      AltYSize
      
      
      GlowImageID     Engine glow
      GlowMaskID
      GlowXSize
      GlowYSize
      
      
      LightImageID    Running lights
      LightMaskID
      LightXSize
      LightYSize
      
      
      WeapImageID     Weapon effects
      WeapMaskID
      WeapXSize
      WeapYSize
      
      
      ShieldImageID     Shield bubble (shield sprite have a number of frames
      ShieldMaskID       exactly equal to 1, FramesPer, or BaseSetCount*FramesPer)
      ShieldXSize
      ShieldYSize
      
      
      Flags      0x0001    Extra frames in base image are used to display banking.
                             The first set of sprites is used for level flight, the
                             second for banking left, and the third for banking right.
                 0x0002    Extra frames in base image are used for animated ship
                             parts such as for folding/unfolding wings. The sprites
                             will be cycled upon landing, taking off, and
                             entering/exiting hyperspace.
                 0x0004    The second set of frames in the base image are displayed
                             when the ship is not carrying any of its KeyCarried type
                             ships onboard.
                 0x0008    Extra frames in base image are shown in sequence, just
                             like the sprites in the alternating image. The AnimDelay
                             field has the same effect in this case.
                 0x0010    Stop the ships' animations when it is disabled
                 0x0020    Hide alt sprites when the ship is disabled
                 0x0040    Hide running light sprites when the ship is disabled
                 0x0080    Ship unfolds when firing weapons, and folds back up when
                            not firing.
                 0x0100    Adjust ship's visual presentation to correct for the skew
                            caused by graphics that are rendered highly off-axis from
                            vertical. This uses the ship's UpCompressY and DnCompressY
                            fields to interpolate the proper sprite frame to display
                            based on the ship's actual heading. Use this with
                            caution, as it tends to cause very jerky ship
                            rotation and is mostly included as a curiosity.
                            
                 Note that the first four flags in this field are mutually
                   exclusive - i.e. you can have a ship that banks, unfolds,
                   changes appearance when it is carrying a certain other ship
                   type, or animates in sequence, but these effects can't be
                   combined. The only exception is that having both flags
                   0x0001 and 0x0002 set is treated specially - it results in
                   a ship whose extra frames are used for banking and which
                   always displays its engine glow when it is turning, whether
                   or not it is actually accelerating. (This something that
                   got thrown in at some point when I realized that it would
                   be necessary to have in order to replicate the behavior of
                   a certain type of ship from a certain TV show).
                 
      
      AnimDelay  The delay between frames of the sprite animations, in 30ths of a
                   second.
      
      WeapDecay  The rate at which the weapon glow sprite fades out to transparency,
                   if applicable. 50 is a good median number - lower numbers yield
                   slower decays.
      
      FramesPer  The number of frames for one rotation of this ship - usually 36 is
                   a good number, but larger ships can benefit from having more
                   frames per rotation to make their turning animation look smoother.
                   Be sure this value is equal to the actual number of frames per
                   revolution in your images, or bad things will happen!
      
      BlinkMode  0 or -1  Ignored
                 1        Square-wave blinking:
                       BlinkValA is the light on-time
                       BlinkValB is the delay between blinks
                       BlinkValC is the number of blinks in a group
                       BlinkValD is the delay between groups
                 2        Triangle-wave pulsing:
                       BlinkValA is the minimum intensity (1-32)
                       BlinkValB is the intensity increase per frame, x100
                       BlinkValC is the maximum intensity (1-32)
                       BlinkValD is the intensity decrease per frame, x100
                 3        Random pulsing:
                       BlinkValA is the minimum intensity (1-32)
                       BlinkValB is the maximum intensity (1-32)
                       BlinkValC is the delay between intensity changes
                       BlinkValD is ignored
      
      
      GunPosX        Here you can set the exit points on the ship sprite for four
      GunPosY         different classes of weapons. Note that The "Gun" "Beam" etc.
      TurretPosX      designations are for convenience only, since which set of
      TurretPosY      weapon exit points is used by a given weapon are defined in
      GuidedPosX      that weapon's ExitType field. The x & y positions of each 
      GuidedPosY      weapon exit point are measured in pixels from the center of the
      BeamPosX        ship when the ship is pointing straight up (frame index 0). See
      BeamPosY        the next four fields if you need to account for any perspective
                      corrections in your sprites.
                      
      UpCompressX    If you have ship sprites that are rendered at an angle, these
      UpCompressY     fields are used to correct for the ships perspective when
      DnCompressX     calculating the weapon exit points (above). If the ship is
      DnCompressY     pointing generally "up" (heading is 0-90 or 270-359) then
                      UpCompressX/Y are used; if the ship is pointing generally
                      "down" (heading is 91-269 degrees) then DnCompressX/Y are used.
                      These values are divided by 100 and then multiplied by the
                      rotated x & y values in the weapon exit point fields to apply a
                      rough correction factor, so values less that 100 will bring
                      the exit points in closer to the ship and values greater than
                      100 will move the exit points farther out. Experimentation is
                      the best way to learn how this works. Values of zero are
                      interpreted the same as a value of 100, so you can leave
                      this field set to zero if unused.
      
      GunPosZ        Here you can set further weapon exit point offsets in order to
      TurretPosZ      compensate for skew caused by the z position of a ship
      GuidedPosZ      graphic's weapon exit point. These values are added to a
      BeamPosZ        shot or beam's position after the weapon exit point x & y
                      offsets and the x & y compression factors have been applied,
                      so the effect of these values is not scaled. Positive values
                      here move up the screen, negative values move down the screen.
                      (this is a lot easier to use with the editor than it is to
                      describe)
      
      Note: if you use engine glows or running lights, you must have the same number
      of engine glow and/or running light frames as base frames (including banking
      frames!) or Nova will choke.
      

      And for explosions:

      * The bööm resource
      
      	The boom resource is used to customize the various explosion types. Nova
      supports up to 64 different explosion types. The graphics for the explosions are
      loaded from spďn resources 400-463, the sounds are loaded from snd resources
      300-363, and the behavior of each explosion type is contained within bööm
      resources 128-191. Each bööm resource contains three fields:
      
      FrameAdvance   The rate at which the explosion will animate - a value of 100
                      will cause each frame of the explosion to appear for exactly
                      one frame of the game animation, and lower values will stretch
                      out the explosion animation and make it stay onscreen longer.
      
      SoundIndex     The index (0-63) of the explosion sound to associate with this
                      explosion type, or -1 for a silent explosion. Usually you'd set
                      this to either -1 or to the same value as the explosion index
                      itself (e.g. 1 for bööm resource 129, etc.) but if you want to
                      use the same sound for two different explosion types, you can
                      do that with this field.
                      
      GraphicIndex   The index (0-63) of the explosion graphic to associate with this
                      explosion type. Usually you'd set this to the same value as the
                      explosion index itself (e.g. 1 for bööm resource 129, etc.) but
                      if you want to use the same graphic for two different explosion
                      types (like the small weapon explosion and the ship-breaking-up
                      explosion) you can do that with this field.
      

      Any more questions?

      ------------------
      "The best revenge is a life well lived." -My father

    • No. I mean how do I make a set of frames for a new ship or explosion? What program do I need?

      ------------------
      EVN Rocks. Ambrosia Rocks. Plugs Rock! I rock!!!! MACS RULE!!!
      jamo@mac.com

    • If you want to make the graphics, use a 3D program or Photoshop or something. If you mean how do you get them into Nova, save as PICT and then use EnRLE (which is a part of NovaTools and is downloaded seperately). Then simply reference that from the shan and boom resources.

      ------------------
      Why are you all looking at me like that?