Sprite-only software rendering: existing API or own?

Hello!

I’m working on a rather simple 2D JRPG, but although I’m quite into making pixelart, I’m definitely not looking forward to doing each and every wearable Item in some 20 different poses, 8 different directions (coding a system to somehow arrange the layers according to the current direction), for at least 2 genders und about 4-5 possible body sizes…

So I’m thinking about generating character sprites (and maybe some flora and fauna) from 3D models so I just have to modify some meshes at runtime to achieve those variations.

I don’t want to reinvent the wheel, but also I don’t want to include some 5MB foreign API to just use a small amount of it’s capabilities. I’m a total Newbie when it comes to 3D graphics, so right now I’m totally clueless on what to do: write my own renderer or use an existing one?

Another problem is, is any of the 3D APIs even capable of doing what I need?
Namely:

  • Use software rendering (no prerequisites for users)
  • Return the computed image not in a render panel but as… well, image :stuck_out_tongue:
  • Disable anti-alias and choose between different texture resampling modes (to make it a bit pixelated and thus better fit in with the rest of the game)
  • Add a non anti-aliased outline (same reason)
  • Work with independent body parts without using an overkill scenegraph

I’ld be really grateful if anybody could help me figure out how to best achieve what I’m looking for :slight_smile:

Most games of this variety pre-render. They start from the 3D art but they render it to your 8-direction sprites and then just use those in game.

This emns you cna use all sorts of fancy 3D animation tools that are available at art-time to actually animate the characters, automate capturing the sprite angles, etc.

So the “API” I’d recommend is Maya or 3D Max 8)

Or Blender, which doesn’t cost an arm and a leg. Just has a slightly higher learning curve.

Thanks for the replies!

Pre-rendering sounds at least better than doing it all by hand, but still it’s to limiting for what I had in mind. Adding new animations (and I’m sure over time I’ll add lots of them) would be rather messy, and to be true: 8 directions sounded okay when I still wanted to do everything by hand, but the possibility of infinitely various directions sounds even better… :wink:

(Not to mention that I’m mainly writing this game to polish my programming skills, so a complex coded solution is always preferable to simple non java solutions ;D)

Still, since I already have to lern Blender for a 3D solution, if all fails I can still use pre-rendering, so thanks again for the suggestion!

Then take the whole leap and do your game really in 3D.

In which case you have a number of API options with trade-offs. See my FAQ for my take on most of them.