Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(+2)

Yes this is a good idea, I thought about that but I was bit not sure when the animation saved use multiple objects and shader, because if we can save the anim and use for an other project. Maybe just a system of "object missing" and ability to remap, should be nice to always have ability to change the animated object btw.

(2 edits) (+2)

I was originally thinking that having re-usable animations just within the one project would have been great, but having them be truly common and able to be shared would be amazing.

I haven't taken the time unfortunately to inspect how the project internals are arranged, so some if not all of this probably won't be applicable, but it might stimulate some thought at least?:

  • A Timeline is an arbitrary range used to define the length of an animation.
  • A Track is an array of property changes, one for each property type; x position, y position, rotation, shader property xyz plotted against a Timeline.
  • An Animation is a collection of Tracks, properties of which are interpolated between when 'played'. These are stored to disk as json or other human readable file type x.anim.
  • A Sequence is a collection of Animations with an optional list of conditions to play, loop or stop a given animation within the sequence. These are optionally stored to disk as json .seq files.

The animations and sequences can either be stored in a shared library location that is system-wide or project-wide, and will be automatically nested inside a folder structure which makes sense canonically.

In the user interface, a Sequence is what the user interacts with. When an Animation or Sequence is either imported or created, their usual properties are exposed in addition to new ones for retargeting/offsetting. This allows the user to specify the sprite to be used and manually align its origin to the vector path of the animation(s) it will act in. [essentially in the background gives all sprites a bone which can be bound to the vector path of an animation]

Mappings to sprites for use within animations and sequences will be retained within the project file itself.

Any animation or sequence files on disk should remain up to date. A file watcher could observe changes and warn of outdatedness / offer to update to latest versions for each given animation.

If not already the case to make projects more portable, used sprites could be imported into the project folder and linked relatively. Would be kinda cool for collaborative animation.


What do you think?

(1 edit) (+2)

Already got a pretty similar system for handling animations but yes quite same idea. About importation of animations, your first idea wasn't to import as sub animation ? Should be a great to choose like :  merge with current animation, load as new animation or import as sub animation. 

But ye I will work on that for a future release. Thank you for the nice idea !

Deleted 3 years ago

Yeah originally I was thinking it would be nice to use an animation multiple times within the same project, then you'd avoid most the pitfalls of resources being unavailable.

I hadn't thought initially about exporting animations from the project and allowing for them to be imported/edited/used in other projects or shared/collaborated on until this dialog started.

As its developed further, the concept of making animations available cross-project is really compelling. I can just see a vibrant marketplace or user community openly exchanging animations. Pretty cool stuff!

I'm Looking forward to seeing what you come up with if its a feature that can make it onto the roadmap! :)