The one year game develpoment duel
Feb

4

2015

Fights, cut scenes, and texture memory

This post is a status update, which is how I track progress specific to my game. Check out my timeline to see what I've recently accomplished.

    Key Events
  • Experimenting with texture memory
  • Add sprite sheets

The good news is that I’ve received a ton of artwork over the last two weeks. The bad news is that I can only demo a small portion of it because there just isn’t enough time to get it all into the game. That’s a good problem to have, though, and what I can show you is some pretty cool cut scenes, some character animations, and this sweet footage of a knight putting the beat down on an evil ogre.

You can’t see all of the animations in that .png sequence, but you can see 3 of the knight’s 4 attack moves, the ogre’s hit animation and the ogre’s death animation. For debugging purposes, I built a tool to display all of a character’s animations at once, and here are those two characters going through all of their moves.

Memory Considerations

The animations are looking great, but one thing I noticed during the game demo was that each new character took up too much texture memory. Each character has 8 animations, each animation is ~45 frames, and each animation is shot from 2 angles. That gives me a total of 720 sprites per character. I use Texture Packer to condense those sprites into sprite sheets, but many of the sprite sheets took up 4 – 16MB of memory. When you consider that I’ll have up to 12 characters on-screen at the same time, I had a potential problem on my hand. The good news is that I have some options to deal with this issue.

  • One option is to use fewer frames per animation. This is promising, especially for some of the animations that run at higher frame rates.

  • Another option is to load/unload sprite sheets as needed, but I’m worried that will make the animations unreliable and clunky.

  • A third option is to shrink the individual sprites and then scale them up in-game.

Based on my initial tests, I think I’m going to try the third option. I get some good memory savings by shrinking sprites by about 20%, and it’s hardly noticeable when those sprites are scaled-up in-game. Having fewer frames per animation would be my second choice and possibly something I still utilize in certain situations, but I felt that having fewer sprites per animation was more noticeable to the eye than slightly scaling up sprites.

Most of my time in the last week has been experimenting with animations and creating testing tools to figure out the memory issue before adding any new characters to the game. Creating sprite sheets is a boring and time intensive process, so I’ll save in the long run by figuring out a strategy now.

Illustrations

I have all of the battlefield maps, world map, and character concepts illustrated, but I still have some cut scene and marketing work to be illustrated. The first contract that I had with Scott Pellico, the game’s illustrator, was completed and I’ve entered into a second contract to hopefully finish the remaining work. This is going to put me over budget, but I think the investment will be worth it. Scott started on the cut scenes and story this week, and here’s one of the images that will help me provide the player with a bit of background story before getting into the game.

SC01_01

What’s Next

Now that I have more artwork than I now what to do with, I have a couple of options. I can either add some more characters into the game or I can start playing with the cut scenes and story part of the game. My gut says I’ll want to go with the cut scenes only because I’ve been playing with sprites for the last few weeks and a change of pace is good for the soul.

2 of you did not hold your tongue!
  1. Hey Christopher,

    I gave spine a try before, but the results were really awful – especially with my isometric PoV. I don’t blame spine but my lack of experience with the software and my complete lack of any art skill. Maybe it’s time to invest a little more time to see if it’s a viable option.

  2. Chris,

    I think you may have overlooked a 4th option 🙂

    So I have been looking at your animations and I think you could drop A LOT of that sprite sheet by using Spine and just add bones an do the animation that way there software site is here http://esotericsoftware.com/

    Which would drop you down to 1 spritesheet for the actual body parts more than likely and then using spine you can animated them and run them in corona just like you would a 3d model.

    I would look into this type of setup asap before moving forward on more characters because if you use this method you can add more characters and even animations etc.

    Not to say anything about any extra texture memory you are going to put on the system like dialogs, ui, effects etc. and so forth.


Speak freely