Thoughts for animation editor 2.0

New releases and general discussions.

Post » Wed Sep 15, 2010 6:01 am

I'm glad people are liking the suggestions so far =)

[quote="madster":3d8cdiuj]I like this proposal, despite of it's overwhelming redness >_<[/quote:3d8cdiuj]
Hmmm, you're right. There needs to be more red! =P

[quote="madster":3d8cdiuj]... I would suggest something that looks almost the same but it's not: being able to fire an event, which can be used in the event sheets to do the good stuff you can doo in event sheets. This would allow complex interaction with animations right off the bat![/quote:3d8cdiuj]

It seems opinions are split on the call functions feature, which I was expecting. What I mainly wanted to suggest with the call function feature was added functionality, rather than a specific set in stone feature. Figuring out what that funcitonality would be is the point of this thread, among other things.

[quote="Arcticus":3d8cdiuj]I'm definately in favour of these suggestions! (even though I can't see any of those images :( ) [/quote:3d8cdiuj]
Strange, I've never heard of anyone having problems seeing images from Photobucket before. Are you viewing from school or some other form of public computer? Those often block imagehosts on their systems.

[quote="Arcticus":3d8cdiuj]I also like the radial animation angle viewer, if it wasn't limited to 32 directions but rather had more of a vector type layout, I think it would be really powerful.[/quote:3d8cdiuj]
I understand advocating the radial selector for reasons pertaining beginner frienliness, but if we're talking power and efficiency, the radial selector loses. Every time. What we have now gives us access to 360 degrees worth of angles, with shortcuts to the eight main directions when you create a new angle. You can not have any more angles than that. Though I admit, it would make more sense to me if the 0 degree angle was up and not right, then you could imagine the angles like a clock. The radial selector also took up a lot of unnecessary space.

[quote="Arcticus":3d8cdiuj]Creating many animations directions in Construct at the moment really IS a hassle (especially importing them, see my thread here [url:3d8cdiuj]http://www.scirra.com/forum/viewtopic.php?f=17&t=5477[/url:3d8cdiuj] and take note of the importing animations suggestion)[/quote:3d8cdiuj]

I looked at it before and looked agagin at it now. It's an interesting idea, but I'm not sure of how practical it would be.

What you're doing is essentially cutting away one part of the process (creating angles for your animations) and replacing it with another one (prepping your animations to be imported in this manner), and I don't think you would really save any time or work with it.

If the idea is to limit the time spent on creating animation angles, there exist features aimed towards that in Construct. The mirror/flip animation toggleboxes in the property view. Of course, if you have different animations altogether for left/right, then it's a different thing. But, I think the time you would spend on prepping your animations in this manner would be fairly similar to the time spent creating new angles.
B
73
S
20
G
10
Posts: 524
Reputation: 9,896

Post » Wed Sep 15, 2010 6:16 am

It depends how you do it
I generally use 3D animation software, which means I make the animaion ONCE then just rotate the camera around and loop the animation so I now have the one animation in all the directions i need (for an isometric angles etc I'm talkin)
It takes me just about the same amount of time to make one animation
Being able to import them this way certainly would save me a buttload of animation fiddling in construct and I'm sure there are others that make their animations this way too
B
3
S
2
G
5
Posts: 351
Reputation: 2,377

Post » Wed Sep 15, 2010 12:14 pm

Yes im using a 3d program to do all my animations.And it's got motion capture tech for animations as well.It sounds like a great idea though.If i could see how the animation would behave in Construct then that would be sweet.Please dev's create an animation preview window.
B
22
S
3
G
6
Posts: 1,356
Reputation: 7,141

Post » Tue Oct 05, 2010 8:37 am

I would love for the animation editor paste/copy function to be fix. When you copy and flip a frame, the hotspot nor action spot flips.
B
11
S
3
G
8
Posts: 473
Reputation: 4,569

Post » Wed Oct 06, 2010 9:51 pm

[quote="inkBot":3eg5grvn][quote="madster":3eg5grvn]... I would suggest something that looks almost the same but it's not: being able to fire an event, which can be used in the event sheets to do the good stuff you can doo in event sheets. This would allow complex interaction with animations right off the bat![/quote:3eg5grvn]

It seems opinions are split on the call functions feature, which I was expecting. What I mainly wanted to suggest with the call function feature was added functionality, rather than a specific set in stone feature. Figuring out what that funcitonality would be is the point of this thread, among other things.[/quote:3eg5grvn]

I like where you're going with the function idea. I think it needs to be a little simpler though. Instead of specifically defining "play sound x" for the frame, you could do something akin to Unity's message listening type deal. In the box where you have "play sound blah blah" you could simply type in a message that will get broadcast every time the frame plays. So you could type in something (anything you want) like for instance "footstep."

Now in the conditions for Sprite, there could be an "On Message" trigger. Now you can craft an event that says [color=#40BF00:3eg5grvn]+On Message 'footstep' -> XAudio2 play 'step.wav'[/color:3eg5grvn]. The On Message trigger could be used for all kinds of events. [color=#40BF00:3eg5grvn]+On Message 'fire' -> Spawn bullet[/color:3eg5grvn], for instance.

Now, if you have an animation with several frames of footseps hitting the ground, you just need to copypasta your 'footstep' message into all the frames necessary. And if for some reason you need to reorder your frames later, the step sounds will still play at the proper time. Likewise, having just one action for playing the sound would make it easier to change the audio source or volume or whatever if you need to, rather than having several "On frame 3," "On frame 8," "On frame 12" events each with their own duplicate actions.

I suppose there could also be a "During Message" condition that would activate every tick that animation frame is showing too.
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Post » Wed Oct 06, 2010 10:17 pm

That sounds pretty good. =)
B
73
S
20
G
10
Posts: 524
Reputation: 9,896

Post » Wed Oct 06, 2010 11:38 pm

[quote="deadeye":3r2cnpik]I suppose there could also be a "During Message" condition that would activate every tick that animation frame is showing too.[/quote:3r2cnpik]
This is what I was trying to say :P
Fire an event = send a message. The event is On Message :D

Only one event is needed, which fires as long as the frame is on (so that would be "During Message"). Why? because the event system already has "Once while true". ^^
B
3
S
2
G
4
Posts: 1,445
Reputation: 4,665

Post » Thu Oct 07, 2010 1:06 am

[quote="madster":2j3lttkf][quote="deadeye":2j3lttkf]I suppose there could also be a "During Message" condition that would activate every tick that animation frame is showing too.[/quote:2j3lttkf]
This is what I was trying to say :P
Fire an event = send a message. The event is On Message :D[/quote:2j3lttkf]

Ah, okay :). I was kinda tired when I read the thread this morning and I missed your meaning :P

[quote="madster":2j3lttkf]Only one event is needed, which fires as long as the frame is on (so that would be "During Message"). Why? because the event system already has "Once while true". ^^[/quote:2j3lttkf]

Good point, using Trigger Once in conjunction would suffice.


Anyway, I was thinking about this whole messaging system a bit more... it seems to me that ALL game objects could benefit from it. In addition to the On Message condition for every game object, you could have a Send Message action. That way you could set up some very complex interactions between game objects very easily, and it would have the added benefit of making encapsulation* much easier. The fact that you could broadcast messages defined in sprite frames would just be additional functionality to the basic message listening system, a perk of the sprite object if you will.


*For those that are wondering, encapsulation (wiki link) basically means keeping your various game functions as separate and independent as possible. For instance, if you have fifty different sound effects that each need to play under certain conditions then you will be setting up a whole lot of [color=#40BF00:2j3lttkf]+On collision between such and such -> Play sound[/color:2j3lttkf], [color=#40BF00:2j3lttkf]+If global(score) >= 10,000 -> Play sound[/color:2j3lttkf], etc. conditions. This means your sound engine is dependent on knowing what the other objects in your game are doing. The thing is, XAudio2 doesn't actually ever need to know why it's doing anything. All it needs to know is when to play a sound, period. If you have a bunch of sound events that are all dependent on knowing what other objects are doing, like things colliding, player input, etc. then when you make changes to your collision or input events you could end up breaking your sound events and you've just doubled your workload because you have to fix those too. But if you have all of your sound events run off of message conditions alone, then you don't have to touch them when you're working on the collision stuff in another event sheet. By limiting the information that XAudio is dependent upon to work you've effectively created a stable, autonomous entity that can easily roll with any changes you make to the rest of your game. Additionally, good encapsulation practices can help immensely with debugging your game, since your events are streamlined and easy to read.

But anyway, yeah... I suppose I should bring this idea up elsewhere because now it's getting off topic :P
Moderator
B
5
S
2
G
6
Posts: 4,348
Reputation: 10,971

Previous

Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 3 guests