Page 9 of 9

Re: [Library] anim8 - An animation library - v2.3.0 released

Posted: Fri Feb 22, 2019 3:27 pm
by pgimeno
There's another point I wanted to make: anim8 is designed in a way that considers animations like mini-movies, which is good for simple retro-style games, but for more sophisticated games, you may want to pay attention to things like where the limbs of the main character are while walking, e.g. in order to smooth the transition from walking to stopped. This depends directly on the animation frame being played, and different animations at different stages need to be played depending on it. For example, while walking, if the left leg of the character is advanced, you need to play a stopping animation that moves it back and not the right leg. Flashback comes to mind as an example.

Another example: viewtopic.php?f=4&t=85324

Re: [Library] anim8 - An animation library - v2.3.0 released

Posted: Sat Feb 23, 2019 3:18 am
by yetneverdone
grump wrote: Fri Feb 22, 2019 12:54 pm Animation formats that allow to bind events to certain timecodes are superior in my opinion. The artist should be able to control the timing of those events, not the programmer. You can of course add this on top of an existing animation system and make timing information part of the animation asset's metadata. That's good and flexible design.
I am interested in making a gui tool for artists to easily provide details for metadata to be used within the game.

What properties do you think should the metadata have?

Re: [Library] anim8 - An animation library - v2.3.0 released

Posted: Sat Feb 23, 2019 5:07 am
by grump
yetneverdone wrote: Sat Feb 23, 2019 3:18 am What properties do you think should the metadata have?
We shouldn't hijack this thread - post a new one with a bit of description what you want to do.

Re: [Library] anim8 - An animation library - v2.3.0 released

Posted: Thu Mar 07, 2019 2:11 am
by kikito
I was AKF for while there, apologies.

Very good points on this thread.

My understanding of how programmers and artists interact with regards to animation is limited. The scenario where there is an artist tweaking animations and a programmer doing the code didn't even cross my mind to be honest. The user I envision for my libraries tends to be a single programmer working by themselves. My gut feeling is that that describes 95% of my users.

If I were to cover the additional use case for artists and programmers, I guess I would be adding some kind of "tagging" feature to animations. I am not sure about how they would look. I am pretty sure I would not want to "marry" tags to frames. They would be separate systems. It could be done with an extra parameter:

Code: Select all

local animation = anim8.newAnimation(..., frame_duration, nil, { fire = frame_duration * 2 })
Then the update method could return a list of tags that have passed since last frame:

Code: Select all

local tags = animation:update(dt)

if tags.fire then
  -- a bullet was fired
end
Something along those lines. The artist would have to tweak both the animation frames and the tags when he did changes. Or their tools would update those.

Anyway that is just an idea of how it might work. I don't think the amount of programmers cooperating with artists using my library justifies this development. But I will review PRs on this direction if someone else sends them.

Re: [Library] anim8 - An animation library - v2.3.0 released

Posted: Thu Mar 07, 2019 2:54 pm
by yetneverdone
kikito wrote: Thu Mar 07, 2019 2:11 am My understanding of how programmers and artists interact with regards to animation is limited. The scenario where there is an artist tweaking animations and a programmer doing the code didn't even cross my mind to be honest. The user I envision for my libraries tends to be a single programmer working by themselves. My gut feeling is that that describes 95% of my users.
I agree, I also assume that most love users are single programmers. However, there's a lot of team making cool games with love for a while now as more and more users get interested into using love for making games, so it's fair to reach and provide an animation library for programmers and artists for such audience. Or maybe a separate animation library? This way, there will be no compromise to the initial design and philosophy of anim8 while still tending to teams.
If I were to cover the additional use case for artists and programmers, I guess I would be adding some kind of "tagging" feature to animations. I am not sure about how they would look. I am pretty sure I would not want to "marry" tags to frames. They would be separate systems. It could be done with an extra parameter:
Yeah, tagging is also useful and great, especially for me and my artist friend because Aseprite is our main tool.

Code: Select all

local animation = anim8.newAnimation(..., frame_duration, nil, { fire = frame_duration * 2 })
Then the update method could return a list of tags that have passed since last frame:

Code: Select all

local tags = animation:update(dt)

if tags.fire then
  -- a bullet was fired
end
That usage is how I would really prefer it!