Smooth out sprite animations - Interprite

Discussion in 'Engineering & Reverse Engineering' started by MarkeyJester, Nov 28, 2019.

  1. MarkeyJester

    MarkeyJester

    ♡ ! Resident Jester
    Today I am releasing a new tool I have been working on for the past two months, I call it "Interprite", the name is a combination of "Interpolate" and "Sprite" which is what the tool does.

    [​IMG]
    The above is the original, the below is after interpolation using the tool...
    [​IMG]

    Here are a few more examples (I have put them in a spoiler tag as I don't want to flood the whole post with them too hastily):

    [​IMG] [​IMG]
    [​IMG] [​IMG]
    [​IMG] [​IMG]
    [​IMG] [​IMG]

    For many years I have done manual sprite interpolation, manually creating the individual frames necessary to smooth out the resulting animation, I have always wanted a quicker/easier way of doing it, even if it were to reduce the amount of effort would've been nice. Now, I'm most certain this tool isn't the first to be able to interpolate frames of animation, but many that do will disregard the palette and will use certain inbetween or specific colours to help the morphing process, my tool is built specifically NOT to do that, and instead will only ever use the colours/pixels you import into it, thus making the results suitable for whatever project/console you have restrictions for.

    Is the tool specifically for Sonic? Mmmno, not really, you can use it on any sprites you want really so long as you have the frames in individual image files for importing and exporting afterwards.

    Download

    I was going to make a tutorial site and PDF file, but I realised there are potential problems with doing those. So instead, have a video tutorial instead.

    To be frankly honest, the tool was never meant to be this complex, originally it was going to be a simple console program, you'd give it two or more images, and it'd do the work. ...that ended up producing some surprising results, the interpolation was working pretty well, but the distribution of pixels worked worse than initially anticipated, so it was both better and worse than expected, and it encouraged me to make a small GUI tool for helping the program specify which body parts are which. After showing it to a few people, they made a few suggestions and very quickly the tool ended up getting bigger and bigger, and supporting more and more features, it sort of got out of hand in a way.

    I'm quite fed up of working on it now as I should be doing other things, and I'm not doing them like I should be so I need to get back to them. I hope the tool is useful to you and serves your needs even just a tiny bit, and I would like to thank the following people for their suggestions, feedback, and overall help with the project; Natsumi, VAdaPEGA, Dragon Wolf Leo and the guys who joined the live stream I did show casing an older version of the tool, and who offered a few ideas here and there.
     
    • Useful Useful x 10
    • Like Like x 3
    • List
  2. This is incredible. Good job!

    Have you tried using this on full-scale videoclips?
     
  3. MarkeyJester

    MarkeyJester

    ♡ ! Resident Jester
    ...I-IIIiiieeeee wouldn't advise that! D=
     
  4. I meant something like the Sonic CD intro :) As many games from this era have videos like that.

    It does have a limited palette and a 'sprite-like' look. Do you need to set a transparent bg color for it to work?
     
  5. HorriblePerson

    HorriblePerson

    Going home Member
    54
    2
    8
    When
    UNITRES, Project Time, etc.
    I honestly don't see the use for this tool.

    Not only do you have to manually select each body part for every frame, but you still have to do a lot of clean up just to make the sprite look right. You're better off just drawing the sprites, as at least then it'll look more natural and you don't have to go through the extra effort to fix the extra frames.

    frame interpolation just ain't very epic in general, it makes animations look real unnatural and yucky and tbh i'd rather have a good looking animation at a low frame rate vs a bad animation with a million frames
     
  6. MarkeyJester

    MarkeyJester

    ♡ ! Resident Jester
    Ooooh actually... that "might" work.

    I'll try experimenting maybe and get back to you.

    EDIT: Well, here's a quick attempt:
    [​IMG] [​IMG]
    That was a concern, but after opinions from testers, they concluded to me that it's worth it.

    If you're concerned, then don't use it =)
     
    Last edited: Nov 28, 2019
    • Agree Agree x 3
    • Like Like x 2
    • List
  7. Sparks

    Sparks

    Member
    3,025
    5
    18
    Kyle and Lucy: Wonderworld
    I dunno, I think a tool like this surely -does- have some good use. It'd be very useful for things such as boss machines!
     
  8. Techokami

    Techokami

    For use only on NTSC Genesis systems Researcher
    1,311
    2
    18
    HoleNet!
    Sonic Edge
    Yeah, this will be great for getting the rough versions of animations made, then they can be cleaned up by hand.
     
  9. rata

    rata

    Member
    536
    6
    18
    Argentina
    Trying to be useful somehow.
    Well, it was obvious for me that hand cleaning will always end up producing better results, I mean, that shouldn't come as a surprise. What this tool does is saving you all of the previous work, something that surely won't be under-appreciated.
     
  10. Jdpense

    Jdpense

    Member
    10
    17
    3
    Sonic 2 Chaos Adventure
    This is a pretty awesome tool, and I will definitely find good usage of it for my projects in the long run!
    If there is one I will criticize though, I didn't like the fact that all frames had to be the same height and width in order for them to be imported. I would suggest that maybe you add some sort of auto scale, so then sprites can be scaled to match the sprites in the program so then I wouldn't have to spend time scaling them manually.

    I dunno about you, but I will definitely find this tool to be pretty useful, since I can't even draw. I also find it to be annoying to learn the skills of drawing just to have the ability to do something that seems very simple yet it becomes really stressful and hard. Even though you might have to clean a couple of frames after creating sprites with this program, I think its miles less time consuming than having to do it all by hand. I personally find it to be a better pay off.
     
  11. Wafer

    Wafer

    Giving me a little Mania Member
    116
    22
    18
    Disassembling n00bs, WIP
    I haven't used the tool myself yet (my current project doesn't need any sprite work) but I've been seeing Renhoex on Twitter experimenting with it and the results are really impressive! I definitely foresee me using it for tweening in the future.
     
  12. Blastfrog

    Blastfrog

    Frog blast the vent core! Member
    This will massively speed up my animation process, thanks Markey! This tool is awesome and so are you for creating it.
     
  13. MarkeyJester

    MarkeyJester

    ♡ ! Resident Jester
    I took a look, and wow, it really shows where the tools strengths and flaws are.

    Most importantly, they seem to be having a lot of fun with the tool in a recreational sense, and that satisfies me =3 (I wasn't prepared for the quagmire toilet morphing though...)
     
  14. Chaud

    Chaud

    Member
    This looks great. I would say the use of this tool is for a specific type of audience. For example, I am (or at least like to consider myself) good at making adjustments to existing images, but I am terrible at "creating" new images, even if using some reference. I don't think I could create an intermediate frame between 2 images at all, but no doubt I can clean an existing frame to make it look the way I want it to. (Assuming the middle ground was minimally acceptable.) So I'd say this is a great tool for people who are at a specific stage in image editing capabilities.
     
  15. Lapper

    Lapper

    Member
    1,548
    40
    28
    England
    Sonic Studio, Sonic Physics Guide, Kyle & Lucy: WW, Freedom Planet
    [​IMG]
    Works real nice, I can see myself using this for faster smoothing on a lot of animations w/cleanup.
     
  16. True Dude

    True Dude

    Member
    1,328
    13
    18
    I'd love to see this built into Aseprite like what happened with RotSprite eventually, this is an invaluable tool. Huge thanks for this!
     
  17. vexatious

    vexatious

    Member
    8
    0
    1
    Great tool! Any chance you'll cross it to win32-arm so us RT arm users can have access to it?

    edit:
    Just watched youtube tutorial video. So a author with British accent not supporting British architecture ARM? Maybe I'm not seeing things right?...
     
    Last edited: Jan 13, 2020
  18. Overlord

    Overlord

    ...did we just switch realities? Moderator
    17,541
    58
    28
    Berkshire, England
    Learning Cymraeg
    In all fairness, I imagine RT-ARM is a minority of minority platforms...
     
  19. failsandwich

    failsandwich

    Member
    6
    8
    3
    Hell
    This is pretty cool! Nice job!
     
  20. Ritz

    Ritz

    Subhedgehog Member
    Unreal. You're fearless, Markey! Raster interpolation is one of those big unsolved problems in graphics, I'm not even sure there's been an attempt since the 90s. Super curious about the algorithms at work here.