EV Nova [creating ships]

Mission Computer Help

Hello childrens of this country. I have recently just made an Ambrosia account, although I have owned their very addicting game, Escape Velocity: Nova. I have the... uh, I think it's the latest version of MISSION COMPUTER and I have created missions and stuff blah blah blah, BUT I think it would be fun if I knew how to create a ship using it. I know that it's hard, but if I knew one thing about it, it would be a lot of help.
Think you can help me out?

(Hey, if I could create a ship, I could provide it to you fellow childrens!)

Welcome, Meep, and enjoy your stay on these forums.

You can make shïp resources in MissionComputer. Open it up and make a new resource in that file you are editing. If you need help, leave your mouse over fields of text you are confused about.

Now if you're asking us how to create a ship sprite to see in-game, that's a lot harder.

It isn't that hard, aside from the graphics, sprites and making sure all the resources tie together correctly.

What are your plans? What is it going to look like?

Well, it's supposed to be simple to start out with. And thanks, guys, for your posts. Basically, i guess my first ship will be... a box, how about that? What programs do you think i need to make the sprite/graphics? Photoshop?

Photoshop is a good tool in the ship-creation process, but it's not good as a starting tool since it only deals in 2D, not 3D. That said, there are much better programs out there that can allow you to build ship graphics and texture/paint them.

One good free 3D program is Blender. It's not for newbies, though, as it is very complicated. In the words of krugeruwsp, "It looks like the inside of a fighter cockpit." However, he also claims it's very easy to use once you get the hang of it. I'll have to take his word for it since I haven't gotten the hang of it yet.

Another good 3D program is Google Sketchup. It costs around $400 for Sketchup Pro, but there is also a version free to use. It has less features, but it's still useable. The only problem is exporting models to other programs for painting/texturing as the free version of Sketchup has very few options for that. I'll divert you to this post for the only way I know how to get a Sketchup model from free Sketchup into another program for texturing.

For starters, I suggest getting Sketchup and fiddling with it a bit. To help you in building basic ships, I suggest you read this post and this post. Don't download the file linked in the first post as everything it contains is included with the file linked in the second post. Using those pieces you can get a handle on using Sketchup and then work your way toward building your own stuff from scratch.

Good luck with this! I recently (through the pieces in the posts above) discovered the joy of graphics creation, too, it really is entertaining. Have fun!

** Edit:** One last note, topics like this are better posted in the Dev Corner where more knowledgeable people can give you advice on things like this.

This post has been edited by DarthKev : 07 June 2010 - 07:42 PM

Okay Thanks for the tips, I have Google sketchup, I've made my model ship, but now what do I do? On mission computer 'rled' is supposed to be the graphic thing for the ship? I upload the pictures of the ship and encode it, but when it's done encoding the animation just shows the ship fly by for 2 frames. I appreciate the replies.

That's the trick. Nova's rlëD resources are 2D, not 3D. However, making a 3D model is the easiest way to make ship graphics. After making the model, you then need to take screenshots of it from above as well as render it. These screenshots then need to be arranged into a grid to get the sprite. I'm still working on that part myself.

Is anyone else around that can explain this easier than I can? I'm not sure I was clear.

Given the subject matter of this thread, I've moved it to the EV Developer's Corner.

The most basic method of creating an rlëD is to render 36 frames, showing a complete rotation. You then organise those frames into a 6x6 grid, and create another 6x6 grid of the black-and-white masks which show MissionComputer which parts of the image should be transparent. Import these two grids into the Make RLE window, and you'll get an rlëD resource that shows your ship doing the full rotation, just like the ones included in the game do.

You, can of course, vary things a bit once you understand the process. Some 3D programmes can generate the masks automatically, and for a large ship you may want to use more than 36 frames so that the animation is smoother.

There are some tools that are helpful in the process, which can be found by looking extensively through the addons page for Nova. I'd say tools that are most helpful are SpinApp, Movie2Sprite, Pics2Sprite, Photoshop (or another image manipulation program such as PaintShop or The GIMP,) Mission Computer or EVNEW (depending on if you're on a Mac or Windows machine,) and a 3D graphics program. I recommend Blender, since it's open source (free,) well-maintained, well-documented, and there is an excellent knowledge base that can help you if you get stuck. Blender is very challenging to the beginner, but is much simpler to use than it looks. I highly recommend picking up Blender Basics, a book published by a high school that has an excellent, easy-to-follow curriculum. You'll be up and running in under a week.

I'll kind of walk you through the whole sprite-creation process here. I apologize if this is a little challenging, but it's difficult stuff if you don't have much experience. Honestly, I should sit down and put together a guide for all of this and put it on the add-ons page or something. This will be just a quick walk-through. I'll create a more detailed one if there is interest.

1. Download and install the necessary programs. For this tutorial, we'll be using Blender, SpinApp, Photoshop, and EVNEW. I'd use Mission Computer, but I'm on my PC at the moment.

2. Open a new file in Blender, and either import an existing ship or delete the default cube and begin construction of your own. For the purposes of this tutorial, the default cube will work fine as a base.

3. Render 36 images of the ship or cube, rotating the model ten degrees clockwise every render. Make sure to save each image with a name and a number. SpinApp works best if you save the first 9 images with a 01, 02, 03, ect. With Blender, make sure to save each image after you have rendered it. Blender's default render key is F12. To rotate the model, select all of it, hit R and type 10, then enter. It will rotate the model ten degrees. Be careful not to select the camera, or this won't work.

4. Open SpinApp, and choose the folder you've saved all the renders to and tell SpinApp to import those images. You can also drag and drop all of the images onto SpinApp's window, I believe. SpinApp will put these in order and create what is called a "sprite sheet." This is a grid of images that the resource editors can interpret, but we need to do just a bit of work to them first.

5. Save the sprite sheet and open it in Photoshop. The first thing you'll want to do is apply what is called an "unsharp mask." This will crispen up the image and make it look a little nicer in Nova.

6. The next item of business is to create a mask for the sprites. Select your bucket tool and choose a 50% gray. Set the tolerances rather low (between 4-7 works best.) Paint around all the sprites with that gray. If done correctly, it should not paint the sprites themselves at all, but should paint around them sufficiently to create a good edge. If set too low, the gray will not reach all the way to the sprite. If tolerance is set too high, it will paint some of the sprites. Adjust as necessary.

7. Choose the Magic Wand tool. Select the gray that you just painted. Because you've made a nice solid color with the gray, you can set your tolerance very low. 1-2 should do it. Make sure that it's selected only what you just painted. The sprites themselves should remain deselected. Copy the selection and paste it as a new image.

8. Take the new image and use the bucket tool to paint the gray area black. Then find the color depth in Photoshop and reduce the image to a 1-bit (black and white image.) I don't personally use Photoshop, so I'm afraid I don't know the exact menu this hides under. Save this mask as a second kind of sprite sheet. Be sure to label it as the mask.

9. Open EVNEW. I know you're on Mission Computer, but this process will be similar. If I get time, I'll put out a manual that covers both. Under the rleD resource, import the sprite sheet. In EVNEW, it will be under File -> import, and make sure that "image" is selected, and not "mask." Then, do a second import of the mask file, making sure that "mask" is selected this time. The rleD resource is what Nova looks for when it wants to find the image files for each sprite.

*There is also an rle8 resource. This can be ignored. It refers to 8-bit color images for older monitors and systems. In truth, nobody's used 8-bit systems for about ten years, so this resource is really not necessary any longer.

10. A ship in Nova requires five resources: an rleD, which we have just created, a ship resource, desc resources, pict resources, and a shan resource. This step will tackle the ship resource.

Create a ship resource. There's a lot of information here. Consult the Nova Bible for information on all of these fields, as there is too much for me to cover in a small space here. If I expand this tutorial, I'll include all of it. For the time being, just copy the information from one of the Nova ship resources. Make sure to make a note of the number of the associated shan ID for this ship, because you'll need to know that. Also make a note of the associated ID numbers for the desc resources and pict resources. These numbers are specific to the ship, and Nova won't properly load your ship plug if they are not present.

11. Create the desc resources with the appropriate IDs. Put whatever you want in these resources, since this is just a test.

12. Import some sort of graphics for the associated PICT resources. Again, since this is just an exploratory, placeholders will do fine.

13. Create the shan resource with the associated shan ID. This is a bit tricky. Read the Nova Bible for documentation of all of these fields. The shan ID will be the part looking for the graphics for the ship. The ship resource tells Nova what the ship's stats are. The shan will look for the rleD resource, and it will tell Nova how to interpret the graphics there, as well as what to do with extra frames (which we haven't done,) weapon ports, running lights, shield graphics, or anything else here. There's a lot of information here, so read the Nova Bible carefully for information on each field.

14. Once we have the ship resource, shan resource, rleD resource, descs and picts, we're ready to test out our ship. Save the file to the correct format. In EVNEW, it will only save as a Windows .rez file. In Mission Computer, it can save as a .rez, or as a Mac plug-in file. MacNova can only read Mac plug-in files. Save accordingly.

15. Create a plain text file in the Nova folder named "debuglog.txt." This will come in handy if you've made a mistake.

16. Open Nova and see if you can purchase your ship somewhere. Fly it around if you can and see if it works. Record any issues, and go back to tweak them in the resource editor.

17. If all things have worked, you've created your first ship. Congrats!

This is a very basic ship-building tutorial here. There's a LOT I didn't cover or just glossed over. It'd be several pages just to get a newbie up to speed with Blender or the Nova Bible. It should get you started. If you have questions, please feel free to come back and get clarification.

As I've said a few times, if there's interest in it, I could be persuaded to take some time and create an actual tutorial book for this with screenshots and the like. If you think that would be a good idea, let me know.

Thank you for this information! BUT, there are a few problems I'm having. I have my 36 rotated photos of the cube, and am having trouble with Spinapp7. I choose my 36 pictures, and it says 'Warning you must make these square blahblahblah' so I made the images square on photoshop (Which distorts the image when I do so and that's another problem) and then I can only choose around 20 of the images now at a time in SpinApp7 <_< . So now I have two 'spin sprites' files but neither one of them are excepted by photoshop, I'm guessing it's something to do with the sprite's formats, which I don't know how to change.
thanks again!

You can adjust the output file for Blender, which should help things considerably. Go to the panels down below the main editing window, and you'll find lots of buttons. Hit F10, or go to the buttons next to the menu that says "panels." You want scene mode, it will look like a little picture, on the right side of a bunch of small buttons that have a little Pac-man, a document, a ball, an axis, and a square with highlighted corners. If you hover over it, it should say "Scene." This will change the panels below to the scene panels. Go to the one on the far right that says, "Format." Change the output size to something smaller and square, say, 150x150.

I'm not sure why you'd only be able to choose 20 images at a time. That seems odd to me. It could be that the images are too big for SpinApp to handle, but that's total guesswork.

QUOTE (Meep @ Jun 8 2010, 02:11 PM) <{POST_SNAPBACK}>

Thank you for this information! BUT, there are a few problems I'm having. I have my 36 rotated photos of the cube, and am having trouble with Spinapp7. I choose my 36 pictures, and it says 'Warning you must make these square blahblahblah' so I made the images square on photoshop (Which distorts the image when I do so and that's another problem) and then I can only choose around 20 of the images now at a time in SpinApp7 <_< . So now I have two 'spin sprites' files but neither one of them are excepted by photoshop, I'm guessing it's something to do with the sprite's formats, which I don't know how to change.
thanks again!

The images don't have to be square, but it is recommended. As for the only 20 images at a time, this is because Java runs out of memory very quickly, and there is nothing I can do about this besides rewriting SpinApp in C++.