Rapid generation of "programmer art"

DCoder
Unregistered
 
Post: #1
Howdy!

I am looking for recommendations on techniques for rapidly generating a set of images. Basically, I've got a quick-n-dirty piece of "programmer art" that I'm using as a sprite and I need to rotate it in N-degree increments (where N is between 5-15, depending on resolution).

Ideally the end-result would be X number of sprites (where X = 360 / N), preferrably all the same size.

What're my options, folks? I'm I doomed to spend all of eternity manually rotating and cropping the images in Photoshop? What do all you (excellent) artists do when a producer or developer contracts you to generate level art (sprites, backgrounds, etc)?

Thanks for your replies and your suggestions are very appreciated!

-daniel
Quote this message in a reply
Hog
Member
Posts: 151
Joined: 2002.09
Post: #2
how about you write a small OpenGL program which does just that?
Quote this message in a reply
Moderator
Posts: 916
Joined: 2002.10
Post: #3
lets see, quick and dirty rotating in hard to increment intervals... sounds like you should render them in a 3D program, You can choose to render them low quality (32x32) or hat high quality (128x128) then scale them down That is the best way for things like that. For terrain that is static... I suggest you plop down a blank tile then start from scratch. Fill with main color, pick a second color, do the main shadow. third color, do main highlights, fourth color do very dark shadows. Of course for more advanced than that... well, you'll have to talk to someone else Grin
Quote this message in a reply
macboy
Unregistered
 
Post: #4
You could do it in GraphicConverter but you'd have to trim it Sad
Quote this message in a reply
Founder
Posts: 1,138
Joined: 2002.04
Post: #5
If free version of Strata is available (Strata Base?) then you can do this. Make a flat square. Create a texture and use your bitmap image. Apply texture to rectangle. View view so camera is looking straight at square. Turn off lights except for ambient. Set the ambient light so that the image can be seen well. Go to animation window. Set frames to (how many angles did you need?) to something like 36. Move to the 18 frame. Rotate the square. Move to the 35 frame, rotate the square. Test that the square rotates 360 degress in wire frame mode. Go to rendering option. Pick "Render movie", but save to separate images (ie not a QT move). Click render and set back as your square rotates on its own and gets rendered at each angle...

That is the "quick" explanation Smile

I think your best bet is to bang out a little utility in OpenGL, or perhaps even RB to do the job. If you can't do that, post in Help Wanted for a utility to meet your needs. Chances are, someone else might need it and perhaps someone can create it.

Carlos A. Camacho,
Founder
iDevGames
Quote this message in a reply
DCoder
Unregistered
 
Post: #6
Well, I ended up going a little more lo-tech than most of these suggestions, although if I did have to do a lot of this, I would definitely build a tool that handled it for me.

Basically, here's what I did...
[list=1]
[*]Build a 64x64 pt spaceship image in Illustrator
[*]Rotate + Duplicate option at 7.5 degrees
[*]Repeat this 10 more times to round out one quadrant (90 degrees worth of images)
[*]Rearrange each ship onto its own layer
[*]Export the drawing to PSD format (which preserves layering)
[*]Open the PSD and crop the image to 64x64 pixels
[*]Save out each layer as a seperate PNG
[*]Now, in the finder, duplicate the 12 images.
[*]In Graphic Converter (hooray OEM licensing!), flip each dupe along the vertical axis, thus rounding out a hemisphere.
[*]Now duplicate the inner 22 images (from 7.5 to 172.5).
[*]Flip these across the horizontal axis in Graphic Converter.
[/list=1]

Tada!

Of course, this took a little bit longer than I wanted, but I'm very familiar with AI, PS, and GC, so it was actually pretty painless. I probably will write a program to load up the whole lot of them (using CoreGraphics or maybe SDL) and paste them all together in a nice 12x4 grid, one quadrant per row, to minimize the asset count.

I appreciate all your suggestions. I wish I had the experience and the toolset to draw up some "quick" models using a 3d package, or even just use texturing technique that Carlos outlined.

-daniel
Quote this message in a reply
Member
Posts: 269
Joined: 2005.04
Post: #7
Here's how I'm making programmer art for my current game:

1) Create a 3D model in Animation Master
2) Create a new choreography with the default lights, drag the model to it, and set the view to "top"
3) Render the model, take a screenshot, rotate the model 10 degrees, lather rinse repeat
4) Open the 36 screenshots in Photoshop and drag em all to the same document, line them all up
5) Add guides that show maximum width/height of the model (whenever one of the frames goes past a guide, move the guide)
6) Crop to the guides which should be a square
7) Apply any filters that you want (I use an unsharp filter, same as EV:Nova)
8) Resize
9) Now you can either save the layers as individual files, or do what I did and create one big file by moving the layers around

It's a lot of steps, but it really doesn't take that long. After I have the test model created it takes 45 minutes if that to finish off the test sprites. And extra programmer art can be even faster as you can just use Photoshop to apply filters or change the colors.

If you want the fastest programmer art possible, how about drawing an arrow, duplicate, free transform rotate, repeat ad nauseum. Should only take 5 minutes.
Quote this message in a reply
Founder
Posts: 1,138
Joined: 2002.04
Post: #8
1) Create a 3D model in Animation Master
<crash>
2) Create a new choreography with the default lights, drag the model to it, and set the view to "top"
<crash>
3) Render the model, take a screenshot, rotate the model 10 degrees, lather rinse repeat
<crash>

Just kidding..
LOL

Carlos A. Camacho,
Founder
iDevGames
Quote this message in a reply
Nibbie
Posts: 1
Joined: 2010.11
Post: #9
Hmm, or use Bryce:

Import model from other program
set time-line to number_of_desired_frames/2
Rotate 180deg
set time-line to number_of_desired_frames
Rotate 180deg
Export animation as a pict sequence
use the EV sprite tool to make it one pict

Much faster than when I used Amapi 4. I had to do it frame by frame and my game GC doesn't have 36 frames of rotation: it has between 16 and 72!
Quote this message in a reply
Post Reply