• Showcase
  • [Game] Dragon Swoopers

Related Discussions
...

I don't have the assets for enhancing the flying, unfortunately, otherwise I would.

Yes, I'm using Box2d for collisions and level construction.

I haven't posted new videos yet.... I just learned about skin attachment handling in Spine yesterday and have been busy migrating things to use that. Looks to be really really useful!


tim

A couple notes on skins:

  • Skins are a convenient way to make a group of attachment changes. However, attachments can be changed at runtime so this is not their main purpose.

  • Skins are for reusing all the animations for a character that has the same skeleton but looks different.

  • A skin attachment is a placeholder for an image that comes from a skin.

  • See the blinking in the goblin animation. Skins allow this animation to be reused. Without skins, the eyes-closed image change key is specific to how the character looks so you'd need a separate animation for the goblin and goblingirl.

Some colors are slightly messed up, but this is a proof-of-concept for using skin attachments to create dragon variants for my WIP game:

http://youtu.be/5OweMhKCp9Q

Skins are super easy to use and very flexible. I plan to set the tinting at run-time to create different chromatic dragons after defining the various parts.

Only annoyance right now is that switching skins causes expanding on some of the tree structures on the right. I had to keep collapsing the root node as you'll see in the video.

EDIT: Looks like I had a bone selected when I was running my animation. That is what seemed to be causing the tree structure to expand every time. Deselecting everything makes things work as normal.

Very nice! The flying animation is a perfect use of skins. The image changes in the flying animation are specific to how the character looks, so skins allow you to reuse the animation. :yes: 8)

With those eyes, some blinking would really make those dragons come alive, you could do the blinking randomly. Love the mean looking dragon 😃

Yep, I've already defined some blinking eyelids. I plan on doing that (eventually) in code.

One for the wish list (and I believe it is already on Trello), is to have the ability to associate color tint to the skin attachment instead of / in addition to the slot. That would make my dragon variations a snap.


tim

Shiu :

With those eyes, some blinking would really make those dragons come alive, you could do the blinking randomly. Love the mean looking dragon 😃

Shiu, how would you recommend doing random blinks? As Nate had said in the programming: "(eg skeleton.setAttachment("mouthSlot", "mouthImage3")😉"?

And Tescott, for our game we're pretty much tinting everything, and allowing the user to change their color.

You would probably want to put the yellow belly on the dragon on a different "layer", so the tinting doesn't affect that.

We roughly have a base layer (which gets tinted), and a "details" layer (which we don't tint), which makes it so the color changes, the but still looks nice (putting highlights on the details layer, and shadows/outlines on the base, so they tint with the color of the part).

I customized it quite a bit (since everything on ours, aside from details, need specific colors), but I just go through the slot names, and change the colors (but I had made them publicly visible to do it easily)
for (Slot slot2 : skeleton.getSlots()) {}

Animations are looking good! Are you planning on releasing on Android?

I've got separate slots set up that I tint at run time. Here's my code:

// colorize the slots
      for (int i = 0; i < BODY_SLOTS.length; i++)
      {
         Slot slot = mSkeleton.findSlot(BODY_SLOTS[i]);
         slot.getColor().set(di.mBodyColor);
      }
      for (int i = 0 ; i < BELLY_SLOTS.length; i++)
      {
         Slot slot = mSkeleton.findSlot(BELLY_SLOTS[i]);
         slot.getColor().set(di.mBellyColor);
      }
      for (int i = 0; i < SPIKE_SLOTS.length; i++)
      {
         Slot slot = mSkeleton.findSlot(SPIKE_SLOTS[i]);
         slot.getColor().set(di.mSpikeColor);
      }

I just have a few arrays that define the slot names that are associated with a particular tint. Right now, I have separate slot lists for the body (arms, head, ears, wings, etc.), belly, and back spikes... this boils down to three different colors max at the moment. Right now belly slots and spike slots are just 1 element long, but in case things grow in the future, I made 'em arrays.

I have a couple of things that don't get tinted at all - horns and eyes. Similar to what you guys are doing


it's nice to have highlights.

Android will be the first release. After I get everything ironed out with that, I plan on migrating things to iOS.


tim

Yeah, looks very nice! You should do some sort of "stressed out" animation on the sheep when it is grabbed- legs flailing wildly or what not.

Shooting fire and lighting things up might be fun too 😉

Looks super cool! 🙂

For blinking, you could make a blink animation that only animates the eyes/face. At random intervals, you play that animation, non-looping. Apply it before whatever other animation you are doing, if the other animation doesn't change the eyes then the blink won't be overwritten.

4 天 后

I followed your recommendation in another thread for running multiple animation states to get blinking running. Simple. Works great. Results are in the link below.

http://youtu.be/OXMkmktmDgU


tim

Love the blinking. Lots of character now. Just waiting for him to stand still to look at the camera and go "hmpf"

Looks great! 🙂

You could add a falling animation. Right now he sort of just freezes as he falls. Could have his arms and wings go up, him looking down, and anything else you can do to make him look like he's falling. It could be a loop where his arms are flailing, etc.

I think you can do more with the flying animation, maybe more rotation of the body? Maybe can use scale to give it more movement?

Just nitpicking of course, it is looking super cool. 🙂

That has come on soooooo much since the first iteration. Nice work

Working on enemy implementations now. Reused Spine animation, updated the skin settings, and jacked around with the root bone scaling. QED. 🙂

http://youtu.be/UICt4UW0L1I


tim

Camera operation update video. Shows difference between a camera locked to the player and one that implements a bit smoother operation:

http://youtu.be/m5gtByLhzq4


tim

I'm a sucker for detail put into camera movement. Inertia on the camera is very nice, I'd also put in just a tiny tiny bit of rotation on the camera when acceleration changes a lot over a few frames.

Shiu :

I'm a sucker for detail put into camera movement. Inertia on the camera is very nice, I'd also put in just a tiny tiny bit of rotation on the camera when acceleration changes a lot over a few frames.

Wow. That's a cool idea! I'll see what I can do.


tim

15 天 后

The sheep running from the dragon really made me smile! Perhaps they could be a little jumpy as well?