UPDATE 4/17/13: Puppet/Skeletal/Modular/etc. Animating (what Galamoth is animated with)

Well…………… I had been dreading it for ever……….. but I knew it had to be done. The day that I would actually attempt to imitate one of the enemies that uses “puppet animating.” Some examples of enemies from SOTN that use this are:

  • Red Slasher a.k.a. Blade
  • Hammer Shaker a.k.a. Hammer
  • Galamoth
  • Gurkha Master a.k.a. gurkha
  • Plate Lord
  • Archer
  • Gorgon
  • Olrox form 2

The list goes on. I have actually been working on this for almost 3 weeks now, between work, university courses, my online business, family time, working out, cooking, cleaning, studying, etc. So I haven’t had a LOT of time to dedicate to it all at once (though there were a few late nights where I was up until between 6 and 9 AM!!!!). However, I recently buckled down…..

And I managed to complete an engine that will let me quickly and EASILY code in these enemies!

Yes, you read right: I CAN NOW CODE IN ENEMIES THAT USE PUPPET ANIMATIONS, and they actually look even BETTER than they did in SOTN. This is something that I was told would be next to impossible to do in GM, and that it would actually take forever to code each enemy…… but I DID IT!!!!!!!!!

With the way I have it set up:

  1. I can easily glue one piece to another, by just changing 2 values per piece
  2. I can set one piece to move around another (like hammer/blade/gurkha’s hands do around the elbow joint) or even constantly orbit around them (like frozen half’s ice sparkle does).
  3. By just setting 2 offset values in a sprite, I can set up HOW I want each piece to rotate (ex. the shoulder rotates around it’s x & y center, but each hand rotates around it’s middle TOP spot instead).
  4. I can ensure that the feet of the enemy ALWAYS stay planted flat on a solid object when needed
  5. Each piece has it’s own hitbox
  6. I can easily mirror all the frames of animation in game without extra work, by changing just one value: image_xscale for the main piece.

In short: all I have to do for each animation is copy the original values from SOTN for each key frame (IΒ  have and view these easily via memhack), put these values in for each piece of each animation (most animations are just 6-8 key frames at most), then just find what offset each hand must be placed around it’s elbow for each key frame (easily done via the GM debugger in a minute or two) and a new animation is done! The engine handles all rotations, x and y positioning, etc. between each key frame of animation and makes it look sooooooooooooo smooth!

If I even want to go so far as make new animations, I just go into spriter, make the key frames in a few minutes for it, then duplicate the angle values, and offset for each hand in GM, and it is DONE! Some may require some fine tuning afterwards, but this is also pretty quick and very simple. If I need to correct values, I just edit them in the debugger to look right, then copy the numeric values into the code.

Right now I am working on Red Slasher (aka Blade). This is in addition to the new gfx I have ripped from the game over the last 2 months (though I haven’t updated the sprite thread yet). I may also go back later on and make some tweaks to alucard’s wolf form with my new engine. But for now, I want to practice with making these types of enemies, as well as ripping more sprites from the game. I can hopefully upload a video some time soon of this in action, as well as release another gfx file with THIS guy included as an example.

This…………… has been a good day for me. And a major accomplishment towards completing the engine!

This entry was posted in Sprites (enemies, items, candles, etc.). Bookmark the permalink.

20 Responses to UPDATE 4/17/13: Puppet/Skeletal/Modular/etc. Animating (what Galamoth is animated with)

  1. TonyJih says:

    Nice work Ecso , I’m currently working on a Megaman X engine in Gamemaker, and I’m getting stucked on skeletal too , may i ask you for the source code of this?

    here is a video of my engine , some collision code has referenced your A15R1 source code XD

    If you want ,I’ll give my source code in return


    • Esco says:

      VERY impressive looking. I am actually a huge megamanx fan. And I am glad that someone out there is putting some of my code to use. πŸ˜€

      The code for the skeletal animating will be out in the next month or so. I appreciate your offer to trade but that is not necessary here. πŸ™‚ I am finishing red slasher (aka blade), I am just about finished with stone rose, I coded marionette (she actually uses the same technology in my game, just so that when killed she can still break into pieces), and I may do diplocephalus next. This will give all of you SEVERAL DIFFERENT ones to reference that each have their own quirks. Since coding each of them can be somewhat advanced.

      Ironically, at it’s core they are just two simple scripts: one that glues pieces together, and another that allows one piece to orbit another. But once you start adding in different animations, attacks, take into account pain and death animations, things can get a little more difficult. πŸ™‚

  2. masterstrikez says:

    this is fucking awesome keep it up man

  3. omarzuqo says:

    It’s great to hear from you again, Esco, I was starting to fear the project would be abandoned.

    I cannot express my gratitude enough. Cheers from Mexico.

  4. SirAileron says:

    Wonderful news! I’m wondering if you’re going to keep the whole “Richter battle determines Alucard’s stats” feature, though. As interesting as it was, I very much doubt I’d ever play the game if I didn’t get perfect stats. That entire fight is a little too perfection-demanding for my likes. ~_~

  5. AluCarD says:

    Great news ….. nice work Esco.
    Is that means you will copy all the stuff from the old engine to the new one ? is that will take long time to be done ?
    and last question : what is the name of the new engine ?

  6. Leon Belmont says:

    This is Great news! This game just keeps looking better and better, and keep overcoming those impossible odds lol. Its ok if you cant work on it 24-7, its fine if you can work on it a little bit at a time take it easy man πŸ˜€

  7. buttersoft says:

    Great stuff. Nice to see the updates when you get time: i realise you’re busy with real life stuff.

    I LOVE puppet/skeletal animation for enemies, when done well. SoTN was good, and it’s great o hear you’ve evne manged to improve it πŸ™‚

  8. Ascender says:

    Oh man im so excited I found this hack/Remake again, and im extremely glad that you have plenty of traction on making this game! Best of luck Esco!

  9. Kaliber64 says:

    I’m glad to hear that. This is called skeletal animation. When a pieces position is based off the connection of another. I can’t wait to see it in action.

  10. Cecil says:

    I am ridiculously excited for this, every update is amazing to hear! Obviously, it’s understandable that this can’t take precedence over other important things, just work at it at whatever pace you can set and us patient ones will stick around! πŸ˜€

  11. Gokajern says:

    I don’t know the first thing about programming but that sounds like you managed something awesome, so congrats dude keep being awesome!

  12. This is awesome. As a die hard SotN fan, I eagerly await this game’s release!

  13. SrTommy says:

    Amazing job man!!! And it’s great to see some news from you. Few days ago I was thinking about this project that there wasn’t any news :-P.
    Keep it going πŸ™‚
    Cheers from Argentina!!!!

  14. Vanya says:

    Nicely done, man. I always scoff at people that say doing something is impossible, especially where programming is concerned.

    • Esco says:

      I couldn’t agree more bro. People always seem to think that just because THEY cannot do something that it is impossible. When nothing could be further from the truth.

  15. gadesx says:

    waiting for see it in video :p

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s