Creating Agent Art

We've had some queries about how we developed COB graphics for Creatures 2, and whether we use 3D modeling software or just draw them. We used a variety of tools ranging from 3D Studio Max and Lightwave to PaintShopPro. For some simple objects with few animation frames for Creatures 2 COBs, we normally drew them straight into PaintShopPro or other 2D art tools such as Adobe PhotoShop. For more complex objects that required several frames of animation, the quickest way to get the framework was to render the frames as it makes designing and touching up the animation itself much easier.

You can use any 3D rendering package to get your initial object graphic, but for the sake of this tutorial we're going to be using Lightwave and the tomato launcher object as an example.

Thank you to our artist Sean Nicholls for providing this tutorial.

1. Think of an object! Best way to start is to look at existing objects inside the world and figure out what sort of thing youd like to make. Ideas include new toys, machines, vehicles, plants or animals.

2. Sketch out a rough picture of how you want your object to look. This doesn't need to be incredibly detailed but try to get a good feel for how it will appear on the screen.

3. Using your rough sketches as a guideline, build up the object in the Lightwave modeler. Remember to build objects with movable sections, with those sections as separate objects so that they can be animated more easily in Lightwave layout.

4. Once you're happy with your model, transfer it to layout. Work out how big this object will be in relation to an average Norn. (It's no good having a loaf of bread as big as a Norn is). Bones can now be added to objects or pivot points moved to create joints.

5. Typical animations have between 2 and 10 frames. Looped animations are usually more usable than most but when doing objects be prepared to attempt most anything.

Animation tip: It is a good idea to have a basic rest frame that all animations cycle around. For example, let us say that this is a rabbit standing on its hind legs. The animation of him twitching his nose or scratching his ears will always lead back to this frame, so another set of animation frames of him doing something else can easily be slotted in without a hole in the animation appearing and making a noticeable skip.

6. Once the animation is set up and you're happy with it, save it out as a QuickTime animation or an animated GIF. This is so that you can view it animating as it will appear in Creatures. Happy with it? Good :-)

7. Now save the animation out a frame at a time so that you can edit each frame individually. Using PaintshopPro (or PhotoShop), load each frame in and use color replace to remove the black background and replace it with an unused color (lime green or pink is easy to see). This helps you to find any holes in your animation frame where the black has been removed, i.e. everything you see that is in pink will be transparent. Replace any holes with a 1.1.1 color (just above black) you should now have a frame of animation with all the black removed from the object and set against a neutral color background.


8. Do this to all the animation frames. Using QuickTime (or another animation package) load the image sequence back in. View this at a variety of different playback speeds and watch carefully for stray pixels that make the animation look incorrect. If you see any, re-edit the frame in PaintShopPro.

9. Happy with how it looks now? Nearly there! You still have edges that are anti-aliasing into black. That's no good if it needs to be against a light background. Using the PaintShopPro smudge tool set to about 60% opacity smudge adjacent colors from the object into its edge. Try to build up edges that are slightly darker than the most prominent color and then gradually lighten it so it doesn't stand out much. A single color line works well as an edge because it will look OK on a light or dark background but try not to edge the entire object in the same color (remember you have over 65000 colors to choose from for Creatures 2 COBs).


10. Once that's done, replace the background color again with black. Set them all out on a page and start on the next.

11. Job done! You now have your COB graphics ready to rock and roll in your object.

Turning your art into successful sprites for Creatures 2
So, if you've been following the tutorial on creating graphics with a 3D package you'll now have a series of frames suitable to make into a sprite file. Depending on the program you use to create the sprites, you may want to place all the individual images onto one sheet - this can help with keeping track of what images go together, or just for archiving a complete set of images together. If you don't make a sheet out them, you'll still have them as individual files and these can then be made into a sprite using the tool of your choice. For the purposes of this tutorial we'll use the Creature Labs One-Stop-SpriteWorkShop, and have our graphics laid out on a single sheet.

You don't have to have a high-end package to produce the graphics necessary to make an agent for Creatures 2, although a bit of artistic talent helps. Failing both of these qualities you can produce something that looks like the sheet below, and populate your world with badly drawn animals and plants.

This set of images will be used to create a grazing animal that bounces left and right, grows into an adult, and has a tendency to get squashed when stepped on. The arrangement of the files on the sheet is often crucial when you want to animate an object, by keeping frames that run together next to each other on the sheet you can make the programming of this easier.

Another important consideration when creating an animating agent is that the positioning of an agent is determined by it's top left corner. For this reason all the grazer frames have the same size background. Imagine if we'd not used the same size frame for the last image above, the squashed grazer. We could have made a smaller sprite that looked like this:

But because of the fact objects are positioned by the top left corner, if we'd tried to animate the grazer going from frame 4 to frame 5 we'd have had the situation below - with the squashed grazer floating above the floor.

Once you have your collection of images, sensibly positioned and designed, making them into a sprite file is easy. Using the Creature Labs SpriteShop you can use the 'Import From...' option to select your whole contact sheet or individual images. If you load in the whole sheet as one, you will see it appear as if it was a single image in the sprite file - you can then select this frame and use the 'Perform Manual Expansion' option to go to a new layout. This manual expansion layout allows you to click on each image in the contact sheet, in the order you want - and when you have finished it will turn your selections into a sprite file with the separate frames in the order you selected them.

When you save out the sprite file you have the option of saving it with a 16-bit (5-6-5) or 15-bit (5-5-5) option, if it is for use in your world only then you will need to know what format your system uses. This can easily be tested by saving the sprite in one format, putting it into the C2 images folder, and creating a simple object with it. If the image looks corrupted, too green or psychedelic then you need to save it in the other format! If the object is for distribution in a COB then you must save it in 5-6-5 format, because the Agent Injector will convert sprite files as necessary.