Smarter Smart Palettes

DCurrent

Site Owner, OpenBOR Project Leader
Staff member
Recently I figured out some far more efficient ways to build smart palettes, but that promptly led to another idea. Why not build individually randomized palettes? This more or less works off the accessory idea I talked about in my World Heroes project, but sticks to parts within the base sprite instead of outside of it. That means shadows aren't a problem.

It's a simple idea really. Duplicate pieces of a sprite, then lay them over the main sprite with a bind. This alone doesn't do anything the smart palette doesn't already do, but it does allow you to control the look of each piece separately without making new palettes. Take Ray here. I've added texture to his bolt and made sure it kept independent color. Looks great if I do say so, and if I want to remove his bolt, I just make a palette with the bolt texture matched to his shirt and done. But what if I want say, a yellow T-Shirt with a bolt and a yellow T-Shirt without the bolt. Well, that's two palettes. Easy enough right?

But why not randomize the bolt to whatever color I feel like without affecting the shirt color at all? Why not also randomize the shirt separately? Why not do the same for his pants and hair? Sure, you can sort of do that with smart palettes alone, but you need a palette for every possible color combination. That could get into the hundreds fast. By separating the parts, each one has its own set of randomized palettes, and I can add more without worrying a bit about the others. Even better, for a monochromatic accessory like the bolt, why even bother with palettes at all? Since we have RGB control, there's no reason I couldn't make the bolt a random combination of RGB - literally infinite color combinations. You could do the same with any part really, but fuchsia hair, tangerine pants, and a poop green T-Shirt might look a little odd together. :P

The only limitation is just how far you're willing to go down the rabbit hole with breaking up pieces and binding them.


 

Attachments

  • ray_demo.png
    ray_demo.png
    5 KB · Views: 11
Damon Caskey: This is exactly what I'm working on: separate colours in order to take control of the sprites. Here's an example:
2q249kp.png

The basic sprite is the same, the armor and the weapon change when the character gains a level.
Do you think it's possible with Openbor to make a character editor, choosing accessories and palette and play with this character? :)

 
Sure it is, in fact both Bloodbane and I have already done it - at least the customizing portion. The hard part isn't the generation of your custom character during gameplay, it's the menu to select the customized options. It's not really hard from a technical standpoint, just kind of tedious.

You need to understand though, the whole point of this post is going beyond smart palettes. It's about physically breaking the sprite up into pieces and then assembling them in real time. This gives you much more control than a smart palette alone.

DC
 
Could be done to substitute weapon models and avoid replicate lots of sprites?I mean, to take a punch animation and adapt to stab or throw a knife?

 
Birnbaum said:
Could be done to substitute weapon models and avoid replicate lots of sprites?I mean, to take a punch animation and adapt to stab or throw a knife?

Yes, but I don't recommend that. This technique is better suited for items that don't change the sprite shape. As I mentioned to Bloodbane, accessories that affect the shape of a sprite can (and likely will) cause inaccurate shadows. Either you have to turn off the accessory's gfx shadow and thus have your shadow not reflect the knife/bat/scarf/whatever, or you'll find no matter how pixel perfect accurate you align the binding, your shadow will probably have some broken pixels.

This isn't a bug, it's due to different image sizes and is explained in detail here.

DC
 
While these are cool , they also kinda lose their character definied by limitation of their sprite colorcount which was 16 or 8 depends what hardware was running them.
Which makes them standing out too much if you try to fit them with original sprites not remapped this way.There has to be a limitation which makes entire game artwork fit with all elements, i for example totally lost that unified look when using unlimited palette.It wont fit with 16 bits anymore, not 32 bits and definitely not 8.
 
Back
Top Bottom