replace color for skin changes - yes or no?

0 favourites
  • 5 posts
From the Asset Store
Skin it
$20 USD
A skin plugin and behavior to add a skin system in your game.
  • So I wanted to do a thing in my game where the player can choose different color schemes for the characters. Thought it was working well (see gif below), but then I tested it on my son's old S4 phone and it absolutely tanks his frame rate as soon as the color replace is active. I'm guessing it's a lack of gpu, but now I'm wondering if this is ill-advised when developing specifically for mobile?

    I could recreate my player sprites and recolor them by hand (would be nice if you could paint bucket across all animations, but oh well) but this is a pain in the butt, doesn't let me change colours easily later on, and becomes a massive amount of work if later on I want to add more colour modes.

    So I'm keen on hearing other user's opinions on this and what they would consider best practice.

  • Well yeah, effects tend to be quite heavy so for mobile, I personally would avoid it. Unless you go with "screw everyone who has an old phone" because the newer generations seem to be able to handle at least some amount of effects.

  • I could recreate my player sprites and recolor them by hand (would be nice if you could paint bucket across all animations, but oh well) but this is a pain in the butt, doesn't let me change colours easily later on, and becomes a massive amount of work if later on I want to add more colour modes.

    There's a very quick way to add new skins using the Desktop Download version of C3

    USING THE DESKTOP VERSION:

    Set up:

    1. Create Master Spritesheet of all character animations

    2. Split the Master Spreadsheet into separate files using a spritesheet splitter tool online

    3. Put the split frames into a single folder called "Import" or something

    4. Load the frames into a Sprite Object and get it set up how you like (In your case just replace the old frames with these new frames)

    Adding new skins:

    1. Edit the original Master Spritesheet to a new color using global paint bucket

    2. Split this new spritesheet the same way you split the Master Spritesheet

    3. Put the folder containing the new frames in the same location as the "Import" folder. Rename the old "Import" folder to something else, and rename the new folder with the new skin to "Import"

    3. Duplicate the Sprite object you'd like to add a new skin color to

    4. There's a button in C3 Desktop version when you're editing a Sprite's animations called "Reload from source" or something. This will re-fetch the files from your computer using the file locations. So it'll find C// Desktop/import and replace all your frames in the Sprite Object with whatever it finds, in the proper order.

    This takes a bit of setup but once you get it going it's very fast. I had a Sprite with over 100 unique frames and 30 separate animations, and this allowed me to add new skin colors within a few minutes

  • kidswithcrowns Looks like this might be the best way, thanks. I'll download the desktop version and see how I go.

    Cheers

    *edit* Actually, this is confusing. I think I'll just go through and use the paint bucket on each frame. Ctrl + arrow keys will be a handy shortcut here.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Interesting anecdote to this. One of my students was testing my game today and, on the overworld map screen, I use blur horizontal and vertical fx to blur up a layer below the active one.

    They were using an iPhone 7 and mentioned that the phone was getting really hot to touch at the back while this was happening. As soon as the fx wasn't running, the device cooled down almost instantly.

    So yeah, I'll be removing that one too.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)