So my girlfriend is an artist and I'm a programmer and we often talk about joining talents and doing some small games or other fun stuff for the different popular platforms currently out.

But because I haven't really done any serious game development yet, I have a hard time explaining to her how she should create or package the assets she'd make, so we always end up not doing anything about it.

What I'm mostly thinking about here is when doing frame by frame animation. I know sprite sheets are used for this kind of thing, but then come questions like frames per second and stuff like that. Not program wise but art wise.

How should we tackle this?

  • 11
    \$\begingroup\$ Don't kill her creativity with details like packing textures. You can do that programmatically, either by writing your own script or using existing texture packers that pack all sprites to a few big sprite sheets. \$\endgroup\$
    – Matsemann
    Commented Sep 5, 2012 at 13:17
  • 1
    \$\begingroup\$ It comes down to tooling. You program it, she uses it. Usually tools are build from their ( the artists) perspective to increase their productivity. You make sure the format works so that your productivity goes up. \$\endgroup\$
    – Sidar
    Commented Sep 6, 2012 at 6:35

2 Answers 2


The answer will vary in some cases, depending on what style of art you're looking for. There's a few options for what style of artist you have.


  • Classic hand drawn frame-by-frame animation: Probably the easiest for an artist to get into or at least it's the least technical. There are tutorials for this type of animation everywhere. It can be done on paper or in digital format. Some key points about creating animations:

    • Onion skinning: Very useful for consistency between frames.
    • Frame frequency: This is an artistic decision you'll make with your artist. It depends on the style of art you want.
    • Rotoscoping: Great for complex animations like walking or jumping. Essentially tracing live action to generate your animations.
    • One pretty neat tool for this is Pencil a free open-source application specifically for classic animation.
    • There's also loads of different artistic styles to choose from. Ranging from pixelated sprites to HD sprites, from clunky animations to smooth, and so on.
  • 2D Skeletal animation: Many of the same techniques can be used from classic animation here. However, this involves animating a skeleton, which can be re-used for other characters. Interpolation can be used to cut down the time for creating the animations. This is great, for example, if you have multiple bipedal characters and you want them all to be able to walk, jump and dance. Then you only have to animate once and apply it to each character. This also reduces the memory requirements of your game. Though this does put you solely in the digital art realm. There are special tools available for this. (And a tutorial for the programming side)

  • 3D Skeletal animation: Here's the most complex form. Don't let the 3D fool you, this is great for 2D art too. Project Zomboid uses this for their 2D animations. It allows you to create a full 3D character and animate them to create animations of them facing whatever direction you need. Great for isometric games where your character can be viewed from the front, back and sides. There's also lots of tools and tutorials available for this.

Where code and art meet

This will depend on what method you're using from above.

  • 2D frame-by-frame: You can generate 2D frames from any of the above methods. Depending on your style you'll choose a frame rate to display these at, 24 frames per second is typical. Typically these are output into sprite sheets. There are application specific tutorials for outputting frames into sprite sheets. However, if your artist is not comfortable with those aspects, it's easy to just have them output each frame as a single image with common centering and cropping for each frame. There are applications that will take a folder full of individual images and generate a sprite sheet with an associated file that describes the location of each image and its dimensions. Do teach your artist proper organization and naming skills, those will be very important for generating these sprite sheets.

  • 2D Skeletal animation: Unfortunately this will vary greatly from implementation to implementation. Specifics will include: how bones are defined (zones of a single image, separate images (for each limb?)), how bones are transformed (rotations + positions, matrices) and more.

  • 3D Skeletal animation: Not something that's specified in your question, but it'll be close to the same as 2D skeletal animation. This will vary. However it's more likely to involve a hierarchy of matrices that define bone rotations, offsets and scales. Those matrices will be used to transform vertices to pose the model in different poses and can be interpolated to smooth animations.

All in all, you should approach this like you're learning to do this yourself. Your artist will be able to handle the artistic details right away. As a programmer, you're more likely to pick up the technical details right away. At first you can work together to on the art->game steps, and eventually your artist should be able to take over and output the art in a format that's easily imported or read by your game.


For artists in general you should make it as easy as possible to add or change content in your engine, the more freedom he/she has and the easier he/she can experiment the better.

  • As few restrictions as possible: Allow 32 bit colors, alpha transparency and any size possible.
  • Use standard formats such as PNG.
  • Avoid the need of engine specific tools if possible. (For example: Plain text files instead of some kind of binary format only your engine tool can edit.)
  • Allow dynamic changing and loading of the art assets so the artist can test themselves what works and what doesn't.
  • Give room for experimentation without recompiling.

Ask the artist what he/she needs, he/she is the one with the artistic vision on how the game should look like and what he/she needs to archive it. If you really need to optimize the engine and it's content do that after all the art is done.

PS: I'm both artist and programmer


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .