I’ve been wanting to create a Doom like shooter, using BGE. What I’m really struggling with is creating sprites. I know how to create the animations or a sprite sheet itself, but I have no idea how to actually utilize that in Blender and have the images cycle through.

I’ve spent a lot of time looking for tutorials, unfortunately this method seems so unpopular, I’m unable to find a lot of content. Everything I’ve found is either outdated or doesn’t cover the process thoroughly.
I should probably mention that I’m not a very advanced user. I know the basics of Blender and animation in general very well. But I lack experience and knowledge in the more sophisticated areas of those things, especially coding and certain functions of Blender which are more specific to the program itself.

I would highly appreciate it, if someone could either make or point me towards an easy to understand, step by step tutorial on the following:

  1. What kind of resource Blender wants in order to have working sprite (sprite sheet or a series of individual images?)

  2. How to properly import it and map it to a surface. (I know how to map textures, create UV maps and materials)

  3. How to get the alpha channel working on a texture or key out a background color.

  4. How to display different sprite animations on command, so they correspond with the player movement (walking forward, sideways, backwards etc.)

  5. (This one might be too advanced and I can live without it for now) How to show a different set of sprites, depending on the camera angel. To elaborate a bit more: I want to make “3D” sprites, that will change depending on the angle the player looks at them from an FPS perspective.

I hope someone is able to answer at least a few of those questions. I could also make use of a .blend where someone already created what I mentioned above, in order to study and possible reserve engineer it.


You might be able to pull some concepts from that, but that post is from 2009, so I’m pretty certain it’s too old to use. I’ve done sprites in the BGE pretty extensively, and have a method for animating 2D sprites up on my Google Code page here, but my methods all include Python code usage. If you’re interested, there’s an example there - use SVN to download the repository and check out the example.blend file.

If you want to know more about applying sprites in the BGE, there’s two schools of thought. One is to make a plane for each frame for each sprite in your game and replace them, or to make a single plane and slide the UV maps around. I’ve done both methods in my repository above, though the example blend file only shows how to use one of them - the other method has a corresponding function with a corresponding name (e.g. SpriteMapMesh).

If you want to know more about actually applying sprites in the BGE first, then I’ve made some old tutorials here and on my blog here, though I really need to go back and remake them all from scratch.

So i guess you could make a game like Diablo 2 with bge + some sprites manager!?

Why, WHY? Would you want to make an >FPS< game with sprite graphics on an engine such as BGE that enables you to model things seamlessly into your game? You are into a world of trouble trying to get that animated sprite system to work without coding experience. Sure, Solarlune’s project is looking awesome but a novice should know that making the same in 3D would require much less coding if any at all.

Seriously I don’t know what you’re thinking but modeling and animating 3D shape even if you are a complete noob is way easier, straight forward and yields nicer results compared to that workflow. You can even make the models with cube voxels if you’re doubting your skills and would rather resort into bad resolution covering for it.

If he wants to go for that old-school FPS style, models wouldn’t really cut it - old-school FPS games used sprites instead of actual 3D models for the characters and interactable elements. Also, 3D modeling, texturing, and animating don’t really compare to spriting - I can sprite alright, but my modeling isn’t up to snuff. If you’re more skilled with 2D sprites, then you probably could make a more graphically impressive game than if you go with 3D models.

You’re 100% right, though, that this requires some pretty heavy use of Python, so I’d recommend OP to learn some Python before he proceeds if you really, really want to approach this method.

That is exactly why I want to do it. I know how to achieve all that in 3D, (although I’m not especially good at it) I want to obtain some knowledge and experience in regards to coding and 2D animation, because that’s something I lack.

Anyways, thanks everyone for their input and apologies for my late response. I’ve been too busy in the past week to devote any time to this, but I will certainly have a look now. This looks like a lot of useful information.

Thanks a lot!