Ambrosia Garden Archive
    • Nova Sprites


      So umm, yeah. If I intend on getting some Nova graphics out on the web, it's about time I learn how to make sprites. 😛

      Someone (was it Lomax? Don't know for sure) several months ago pointed out a link on the web that provided a walk-through on creating sprites for Nova (I'm wondering if someone would know what I'm referring to?) I've got my hands on NovaTools and have a good idea of what each app does, it's just the actual piecing together of the graphics and what / how to render the ships that concerns me.

      Any info would be appreciated. Thanks in advance.

      ------------------
      Dreamwave Studios - The graphics galore™ and resource zone for EV/O/N development
      (url="http://"http://www.evula.com")EVula's Lair(/url) | (url="http://"http://www.hyperiums.com")Hyperiums(/url) | (url="http://"http://www.apple.com")Apple Computer(/url) | (url="http://"http://www.homestarrunner.com")Homestar Runner(/url)

    • the setup
      Elevate the camera 45° above the XZ plane looking down on the ship which should be sitting on the origin where you want it to rotate. The key light sits (inferring from the Fed Carrier sprite) 30° to the left of the Z (the axis that goes through the front and back of the ship) axis, and is elevated 45° above the XZ plane. Or wait... was it 45° to the left and 30° up.. Darn. I can't remember. Anyway... Set a keyframe at 0 and a keyframe at 36, and have the ship rotate 360° through those frames. In the graph editor, (very important information follows) make sure that the rotation curve is linear. (continues the important information) Render an animation only from 0 to 35 (as 36 would be the loop back to 0), and make sure that the ship is double the size you want it to be in the sprite

      the rest (what about Ginger and the Professor?!)
      Make sure that the animation loops correctly. Now put your movie into m2v from w00tware. Throw away the mask because you're going to make a new one anyway. In Photoshop, go Filters > Sharpen > Unsharp Mask... The settings should be somewhere around Amount = 300%, Radius = 1, Threshold = 0. Looks weird, huh? It's going to get better. Go Image Size... and reduce the entire image by 50% (making your sprites the intended size). Save. Take the Magic Wand, set Tolerance to 0, Anti-alias off. Click on the black. Invert Selection (shift+command+i), and press delete. Save as a new file for the mask. Copy into a new plugin, make the shän, and run through EnRLE.

      Tada. I hope this helped...

      Matrix

      ------------------
      "Nothing is fool-proof to a sufficiently talented fool."
      (url="http://"http://htf.mondominishows.com/valentine/main.asp?seed=7375&serial;=214877")The funniest valentine I've ever gotten.(/url)

    • witm: I don't think he uses LW, so he probably doesn't have graph editor.

      if your ship has shadows that are too deep, you can render two movies, one with the ship completely illuminated, and then you'll get a perfect mask.

      or, if your program can render alphas w/ animations, that works best.

      ------------------
      (url="http://"http://www.adventuredog.net")Adventure Dog(/url): Everyone's favorite little black and white dog.
      In a fight for peace, you must fight for equality, not revenge.
      "I am against evolution being taught in schools. I am also against widespread literacy and the refrigeration of food." - The Onion

    • Quote

      Originally posted by sparky:
      witm: I don't think he uses LW, so he probably doesn't have graph editor.

      Yea, I know he doesn't have Lightwave, but I'm pretty sure that all 3D animation programs have some sort of graph editor. I know that at least Maya and Soft have graph editors, but they're under different names. hmm. I think I might have come off sounding a bit condescending, which isn't my intention.

      Quote

      if your ship has shadows that are too deep, you can render two movies, one with the ship completely illuminated, and then you'll get a perfect mask.

      or, if your program can render alphas w/ animations, that works best.
      (/B)

      Or you can do the ubiquitous "green screen" technique, where you render the sprite against a background that's some funny color like bright green, and simply replace the green with black for the sprite, and erase the ship for the sprites. WARNING That technique can produce strange results, so be careful.

      ------------------
      "Nothing is fool-proof to a sufficiently talented fool."
      (url="http://"http://htf.mondominishows.com/valentine/main.asp?seed=7375&serial;=214877")The funniest valentine I've ever gotten.(/url)

      (This message has been edited by what_is_the_matrix (edited 06-18-2003).)

    • I really must post my tutorial on how to make sprites for Nova. Remind me to do that.

      all the best,

      Dave @ ATMOS

      ------------------
      Co-creator of EV Nova

    • Quote

      Originally posted by pipeline:
      I really must post my tutorial on how to make sprites for Nova. Remind me to do that.

      Will that include the whole LASIK technique?

      Posted Image

      I was always very impressed with how much of an improvement that made for the sprites.

      ------------------
      I need a Vespa.

    • Okay, I guess I wasn't very clear. I know how to compose basic sprites... I've been making them for years for EV and Override (using Infini-D). I also make my masks by applying maximum brightness surface with no shadows to my ships for an exact, perfect mask. I use the same sprite animation for the mask as I do the actual ship spin, so now problem there.

      I'm also quite familiar with the LASIK method. I've been using it for sometime with EV/O sprites and it really gives a totally new look to them.

      I guess what I meant to say in my first post is how to do the compositing of the sprites / masks and what exactly I need to render to make the sprites complete. From what I can tell, it looks like I need at least two different sprites with the ship banking slightly to the left and right (maybe 10° or so) in addition to the standard level-based sprite. Then there's the engine graphics... that's what confuses me. I'm guessing I need to render several different sprites with a jet black surface applied to the ship animation and only the engine flames visible (and by several different sprites for the engines, I mean alternating the brightness and depth of the flame in each)?

      Oh yeah, then the really cool flashing lights... and what about those ships such as the Leviathan and Auroran Cruiser that have sections that move about the ship? 😛

      Ugh, you can probably understand why this is somewhat confusing to someone who has a long background of doing EV / O sprites only. You also never had to convert sprites for EV / O to whatever format is required for Nova.

      pipe: Aye, please do whenever you get the chance. And I'm sure I'm not the only one out there in need of Nova sprite insight. 😛

      Thanks for the responses all.

      ------------------
      Dreamwave Studios - The graphics galore™ and resource zone for EV/O/N development
      (url="http://"http://www.evula.com")EVula's Lair(/url) | (url="http://"http://www.hyperiums.com")Hyperiums(/url) | (url="http://"http://www.apple.com")Apple Computer(/url) | (url="http://"http://www.homestarrunner.com")Homestar Runner(/url)

      (This message has been edited by Skyblade86 (edited 06-18-2003).)

    • Quote

      Originally posted by Myriad:
      Will that include the whole LASIK technique?

      Actually, I'm not sure. Andrew Welch at least part-owns the LASIK procedure, since it was his idea in the first place. 🙂

      All I own of that procedure is just that; the fine details of how I implemented the idea in Photoshop. ClearScale?, Andrew's final implementation of LASIK, is a trademark of Ambrosia Software Inc.

      all the best,

      Dave @ ATMOS

      ------------------
      Co-creator of EV Nova

    • Quote

      Originally posted by Skyblade86:
      I guess what I meant to say in my first post is how to do the compositing of the sprites / masks and what exactly I need to render to make the sprites complete. From what I can tell, it looks like I need at least two different sprites with the ship banking slightly to the left and right (maybe 10° or so) in addition to the standard level-based sprite. Then there's the engine graphics... that's what confuses me. I'm guessing I need to render several different sprites with a jet black surface applied to the ship animation and only the engine flames visible (and by several different sprites for the engines, I mean alternating the brightness and depth of the flame in each)?

      For banking sprites, you make a long animation. For a ship with 36 frame rotation, you render the first 36 frames with the ship rotating level, the next 36 frames with the ship banked to the left, and 36 frames with the ship banked to the right. All in one animation. Run that through m2v, and you've got that made. The brightness of the glows based on how hard your engines are thrusting is controlled by the game itself, so you don't need to render anything but the brightest engine glow.

      For engine glows, you make the ship totally black, and you make the glows visible. This way if any part of the glow is supposed to pass behind the ship, it will be correctly hidden. If your ship has banking sprites, you render the glows the same way.

      Same with weapon glows.

      Quote

      **Oh yeah, then the really cool flashing lights... and what about those ships such as the Leviathan and Auroran Cruiser that have sections that move about the ship?
      **

      The flashing lights are very simple. Put colored balls with glows where you want the lights to go (make sure that the balls are somewhat large so they're visible), and render them on a black ship. Similar to the engine glows. The blinking of the lights are controlled in the shän resource.

      There are two ways of making animated sprites, and it all depends on what you want the ship to do. One way is to render the animation at the same time as the rest of the ship (Leviathan). You do 36 frames (or whatever number of ship rotation frames you have) of the animated bit in each position. That sounded funny. You render the ship rotating 350°, then move the animated piece to its next position, rotate, move, rotate, move, until you loop back.

      The other way to use the "alt sprites." This technique is used on the Thunderforge. Since the ThForge's gravity section is basically a rotating cylinder, they rendered the ship with the rotating section black. Render this through the rotation once. The cylinder is rendered with the ship black and the drum visible. This is rendered similar to the technique above. I suppose that this technique is used when the ship in question is large compared to the animated section, and the animated section is in the direct center. That way, you don't have a huge sprite, just a large one for the ship, and a sequence of smaller ones for the animation.

      For the shäns. There is really only one thing that is confusing. On top of having a Main Sprite and Mask ID, and Main Sprite and Mask size, there are two fields labeled "FrameSetCount," and "BaseSetCount." (or something like that). FrameSetCount is the number of frames it takes for the ship to rotate 350° (for a 36 frame rotation). BaseSetCount is the number of sets of frames. Therefore, if you had 36 frame rotation with a banking ship, your FrameSetCount would be 36, and your BaseSetCount would be 3, because there are three sets of 36 frames (level, left, right = 3). For an animated sprite, FrameSetCount would be 36, and BaseSetCount would be the number of frames in the animation if the ship were pointed in one direction.

      I think that should be it, so I hope this cleared up your questions.

      Matrix

      ------------------
      "Nothing is fool-proof to a sufficiently talented fool."
      (url="http://"http://htf.mondominishows.com/valentine/main.asp?seed=7375&serial;=214877")The funniest valentine I've ever gotten.(/url)

    • pipeline, if I write a program that performs unsharp-masking and rescaling on input graphics, will that program violate Ambrosia's copyright?

      -Vaumnou

      ------------------
      Did you know that 63.8% of quoted statistics are made up on the spot?
      "He's too late. SEE?!? THE CLIFFS OF INSANITY!!! Hurry up!"
      "You see, wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. .... Radio operates exactly the same way: you send signals here, they receive them there. The only difference is that there is no cat." - Albert Einstein

    • Ah, helped plenty matrix. That post cleared several things up. 😄

      A few extra questions:

      I see what you mean about the "order of operations" as far as the sprites are concerned: Standard 36-spin sprite first (more or less frames, 36 just being the norm), the next 36 frames banking left, and then the next 36 banking right (and these are certainly the types of sprites I've been wanting to make - standard sprites plus the banking graphics). However, if I want to add engine glows and flashing lights, do I simply add the glow / light sprites to the above animation as well, or are these sprites seperated from the rest of the main spin movie?

      Aye, the animated frames explanation was confusing. 😛 If I were to apply what you came across as saying, it'd go something like this (Leviathan being the ship in mind once again):

      Snapshot the first frame of the 36-frame animation, which would have the ship's nose pointing upward and the engines facing the camera.

      Once this first frame of the standard 36-frame spin is taken, you then take the cargo pods of the Leviathan and snapshot them spinning around the ship 36 times. That way the animated portion of the ship has as many frames as it takes the entire parent animation to turn around a 360° rotation.

      (And yes, I realize that the Nova engine allows you to increase or decrease from 36 frames, I'm just using this number to make this a little easier to understand).

      Now that I have the first snapshot of my parent animation in addition to the 36 sub-frames (that would be the cargo pod rotation), I then spin the parent 10° to the right for the second shot of the 36-frame primary sprite rotation. After that's done, I repeat the previous task: spinning the animated portion of the ship (cargo pods) 36 times.

      Read that slowly if it didn't make any sense - this isn't easy to explain in text. 😛 Correct me if I've applied the method for animated sprites wrong.

      And to dig even deeper into this topic... Since the parent animation is 36 frames, do the animated portions of the ship also have to be 36 frames? (meaning that I could have a 64-frame ship but still have to use 64 sub-frames for the animated parts?)

      I'd also like some help figuring out DeRLE and EnRLE. If I'm not mistaken, these are the programs used to convert the sprite files into Nova-readable documents, correct?

      ------------------
      Dreamwave Studios - The graphics galore™ and resource zone for EV/O/N development
      (url="http://"http://www.evula.com")EVula's Lair(/url) | (url="http://"http://www.hyperiums.com")Hyperiums(/url) | (url="http://"http://www.apple.com")Apple Computer(/url) | (url="http://"http://www.homestarrunner.com")Homestar Runner(/url)

    • Quote

      Originally posted by Skyblade86:
      However, if I want to add engine glows and flashing lights, do I simply add the glow / light sprites to the above animation as well, or are these sprites seperated from the rest of the main spin movie?

      The glows and lights are separate movies, but they should have exactly the same number of frames as the base ship graphic (i.e. 36 * 3).

      Quote

      That way the animated portion of the ship has as many frames as it takes the entire parent animation to turn around a 360° rotation.

      Well, no. You cheat: the Leviathan has about 6 cargo pods per ring, which look identical. So instead of rendering the Leviathan rotation for all 360° of the cargo spinning, you just render it for 60° or so and then it will LOOK like it's really rotating 360°. (the actual animation will just be 123123123 but it will LOOK like 123456789)

      Quote

      **Now that I have the first snapshot of my parent animation in addition to the 36 sub-frames (that would be the cargo pod rotation), I then spin the parent 10° to the right for the second shot of the 36-frame primary sprite rotation. After that's done, I repeat the previous task: spinning the animated portion of the ship (cargo pods) 36 times.

      Read that slowly if it didn't make any sense - this isn't easy to explain in text. 😛 Correct me if I've applied the method for animated sprites wrong.**

    • Eh, that was confusing too. 😛

      How might I convert the regular Nova ship graphics to pict files? Once I figure that out and get a good look at those, I think I can take it from there.

      ------------------
      Dreamwave Studios - The graphics galore™ and resource zone for EV/O/N development
      (url="http://"http://www.evula.com")EVula's Lair(/url) | (url="http://"http://www.hyperiums.com")Hyperiums(/url) | (url="http://"http://www.apple.com")Apple Computer(/url) | (url="http://"http://www.homestarrunner.com")Homestar Runner(/url)

      (This message has been edited by Skyblade86 (edited 06-18-2003).)

    • Quote

      Originally posted by Skyblade86:
      **Eh, that was confusing too.:p

      How might I convert the regular Nova ship graphics to pict files? Once I figure that out and get a good look at those, I think I can it from there.

      **

      Download the "Sprites" file from the addons page, I think the download includes instructions on how to do what you want to do... Thats how I converted the Nova sprites for use in Ares...

      ------------------
      Help save Ares, write a plugin!

    • Quote

      Originally posted by Skyblade86:
      How might I convert the regular Nova ship graphics to pict files? Once I figure that out and get a good look at those, I think I can it from there.

      To convert the spďn/RLE sprites to the spďn/PICT-table format you're familiar with, you want DeRLE from (url="http://"http://w00tware.ev-nova.net/")w00tware.ev-nova.net(/url). EnRLE performs the opposite conversion.

      ------------------
      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 Ragashingo:
      **Download the "Sprites" file from the addons page, I think the download includes instructions on how to do what you want to do... Thats how I converted the Nova sprites for use in Ares...

      **

      Yes, as I've said before, I have all of the NovaTools.

      What I can't seem to figure out is how to get resources that are in ResEdit data files and get any of the software to recognize it as a spin resource. :rolleyes:

      As you can tell, my experience largely abides with the graphics itself. I'm clueless when it comes to figuring out anything else. 😛

      David: I have both of those programs, but DeRLE doesn't seem to recognize the Nova data files. It has errors every time.

      ------------------
      Dreamwave Studios - The graphics galore™ and resource zone for EV/O/N development
      (url="http://"http://www.evula.com")EVula's Lair(/url) | (url="http://"http://www.hyperiums.com")Hyperiums(/url) | (url="http://"http://www.apple.com")Apple Computer(/url) | (url="http://"http://www.homestarrunner.com")Homestar Runner(/url)

    • Quote

      Originally posted by Skyblade86:
      David: I have both of those programs, but DeRLE doesn't seem to recognize the Nova data files. It has errors every time.

      If you give it one of the Nova Ships files that contains both the rlëD and shän resources for the ship you want, it should be willing to convert them to PICTs. What file are you trying it on?

      ------------------
      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!

    • P?I<breve>riginally posted by David Arthur:
      **If you give it one of the Nova Ships files that contains both the rlëD and shän resources for the ship you want, it should be willing to convert them to PICTs. What file are you trying it on?

      **(/QUOTE)

      Ah, scratch that. I went through and read the NovaTools read-me again and realized I hadn't put all of the appropriate files into the ResEdit prefs. I've had much better luck since. 😛

      Thanks for the help. I'll probably be back again soon with more questions.

      ------------------
      Dreamwave Studios - The graphics galore™ and resource zone for EV/O/N development
      (url="http://"http://www.evula.com")EVula's Lair(/url) | (url="http://"http://www.hyperiums.com")Hyperiums(/url) | (url="http://"http://www.apple.com")Apple Computer(/url) | (url="http://"http://www.homestarrunner.com")Homestar Runner(/url)

    • Quote

      Originally posted by Vaumnou:
      pipeline, if I write a program that performs unsharp-masking and rescaling on input graphics, will that program violate Ambrosia's copyright?

      Probably. Contact Andrew and enquire.

      all the best,

      Dave @ ATMOS

      ------------------
      Co-creator of EV Nova

    • Quote

      Originally posted by pipeline:
      I really must post my tutorial on how to make sprites for Nova. Remind me to do that.

      Ooh. Very nice. I look forward to that. 🙂

      ------------------
      Moderator- (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=9&SUBMIT;=Go&mrxak;=cool")EV Developer's Corner(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=69SUBMIT=Go&mrxak;=cool")Uplink Web Board(/url) | (url="http://"http://forums.evula.com/viewforum.php?f=18")mrxak's Assorted Webspace Forum(/url) | (url="http://"http://forums.evula.com/viewforum.php?f=48")Starcraft Forum(/url) | | (url="http://"http://directory.perfectparadox.com/profile.php?id=00008")My Profile(/url) | (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/postdisplay.cgi?forum=Forum10&topic;=007599-2&whichpost;=mrxak11-06-200203:22PM")mrxak(/url)
      (url="http://"http://www.evula.org/mrxak/")mrxak's Assorted Webspace(/url) | (url="http://"http://www.evula.org/mrxak/Haikus/haikuarchive.html")The Haiku Archive(/url) | (url="http://"http://www.evula.org/mrxak/EV/N/mbspt/mbspt.html")mrxak's Big Secret Plug-in/Tutorial(/url) | (url="http://"http://www.evula.org/mrxak/EV/N/amtc/amtc.html")A mrxak TC(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/dl-redirect.pl/TheChallenge102.sea.bin?path=evn/plugins&file;=TheChallenge102.sea.bin")The Challenge v1.0.2(/url)
      (url="http://"http://www.AmbrosiaSW.com/cgi-bin/ubb/search.cgi?action=intro")Search First(/url) | (url="http://"http://www.modlink.net/guides.php")Uplink Guide(/url) | (url="http://"http://www.evula.com/survival_guide/")EV/O/N Guide(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/ubb/forumdisplay.cgi?action=topics&number;=31&SUBMIT;=Go")Plug-in Guide(/url) | (url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/003091.html")Plug-in Testers(/url) | (url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/003196.html")Developers(/url) | (url="http://"http://www.AmbrosiaSW.com/games/evn/addons.html")Nova Addons(/url) | (url="http://"http://www.resexcellence.com/support_files/resedit.shtml")ResEdit(/url) | (url="http://"http://w00tware.ev-nova.net/")NovaTools(/url)
      If it's just a game, and life is all a game, then isn't the game real life?