Construct 3 Spine Plugin

  • Hey, I was searching for the Spine plugin without any hope and I saw this recent reply in Spine's forum about the subject.

    esotericsoftware.com/forum/Please-Support-Construct-3-11554

    "We've reached out to the Construct 3 developers, but so far they haven't wanted to integrate the Spine Runtimes themselves, which would be optimal for features and performance. This leaves us to integrate the Spine Runtimes only with their limited public APIs, which isn't great for performance and wouldn't allow for all the runtime features. We would like to support Construct but putting in the effort for suboptimal performance that doesn't support all our features doesn't feel good, especially when there are other game toolkits for which we could add full support (like Godot).

    Your best is to ask the Construct 3 developers to integrate the Spine Runtimes. This is what other, similar game toolkits have done, such as Game Maker."

    Ashley I know you guys are busy but it would be awesome if we had support for Spine, Dragonbones or Flare.

    We need an animation tool that supports mesh feature. <3

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • We don't have the resources to integrate all possible third-party services. The other companies they mentioned are bigger and it's probably much easier for them to justify the developer time, but we're a tiny company and just can't afford to do that. To work around this problem, we have created a third-party addon SDK for other developers to intergate their services themselves. The Spine developers should use this. What they said about performance isn't right and looks like a way for them to try to get us to do their work for them - unfortunately we just cannot do that. Meanwhile Spriter have used our SDK to write their own integration and we got positive feedback from the developer, so I think we have everything set up well and with the full performance capabilities of the engine. We worked with Spriter to fill in any gaps in the SDK to ensure everything works well (although there are still some nice-to-have requests we have on our todo list); I am prepared to do the same with the Spine developers to fill any gaps and ensure they can implement a fully capable integration, but we cannot do it all for them. So long as there is no Spine integration I would recommend to use Spriter instead.

  • Fine. None of the two companies have the opportunity to develop a plugin. As a result, a large number of developers and potential customers of both companies do not use them products.

  • The community has several freelance plug developers.

    That's the obvious solution.

  • Agreed with Newt - the solution is to crowdsource a plugin. We could look at getting a form of community pot/ plugin bounty going?

    The issue as far as I can see is that then we'd have the following problems:

    A) Both Scirra and Spine could disavow the plugin as being developed by a third party

    B) We would be beholden to the third party to update this plugin

    C) The cost of outsourcing programming at a fair hourly rate would far eclipse the cost of the tools themselves

    I guess we can only appeal to the cold heart of capitalism and hope that an enterprising dev sees that there's market demand for this plugin (and that he/she then sells it for a compelling price)

  • Another problem is that the api developer would have to learn our api.

    Luckily Lucid was already a member of the community, or we might not even have Spriter.

  • Ashley Thank you for the explanation :)

    Elliott I would support the crowdfunding about making a plugin for the spine, dragonbones, flare or any other animation tool that has mesh feature.

  • Ashley Thank you for the explanation :)

    Elliott I would support the crowdfunding about making a plugin for the spine, dragonbones, flare or any other animation tool that has mesh feature.

    I was also hoping for Spine plugin (mesh deformation feature). But have You checked out Spriter 2?

    It's going to have mesh deformation:

    youtube.com/watch

    youtube.com/watch

    Looks pretty good to me. Add to this the fact that Brashmonkey is already planning to support Spriter 2 for Construct 3. So why not support these guys instead?

    I don't personally feel the need for Spine plugin anymore.

    Edit; I would be interested to support a plugin for Spine too though. It's always better to have two animation tools than just one to rely on.

  • PixelSwanGames

    I supported spriter 2 and bought it. Because they announced a demo at the beginning of the year. A YouTube video trailer for more than a year. As a result, at the beginning of the year we received nothing and even now there is nothing.

    But spine is already a finished program with a lot of functions.

  • It's not a Spine plugin, but I'm playing with JS integration of the Spine-TS (webgl) runtime. It will require more direct C3 JS scripting to control the Spine-TS api. I am using Spine-TS to render to a separate canvas and then capture the canvas and update a sprite with the rendered image each frame.

    It's currently working, but with one caveat, every few seconds it stutters (it looks like due to JS Garbage collection, there's another thread about that in the forum asking for help on a solution.)

    You will need to use JS to control it, so it will require some C3 JS knowledge. The current template is more of a tech demo and would need a lot of clean up to be used in a game, but's promising to see something work.

    Here's an example of it in action in C3 (I'm also enabling the display mesh and display bones options on and off.)

  • Here's another more clean example (the gif loop is short, so the stutter every few seconds does not appear.) Since the image is on a Sprite, you can also do some fun post effects, like adding Lems' 'outline' effect:

  • Mikal

    It looks great!

    I would like to ask. Is this just an example that spine can work with C3? Or could it be more than a demonstration of an animation mesh?

  • q3olegka Sorry, I'm not sure I understand your question. This is a Spine skeleton, animations, and atlas imported into C3 from Spine (_not_ done with exporting spritesheets from Spine.) The Spine-TS JS runtime is also imported into C3 (via JS script files) to render the animation to a canvas each frame. The canvas image is then loaded into a C3 sprite animation frame on each tick. The original Spine animation and skeleton are using mesh (you can see the animation mesh deform as it moves.) The Spine animation could be controlled dynamically by C3 JS scripting events which use the Spine-TS JS API.

    At this stage, it's a C3 tech demo to see if it's possible to use the Spine-TS JS runtime as an alternative to waiting for someone to do a full C3 plugin / port to C3 SDK. If it works reliably (there is a stuttering issue every few seconds which I am tracking down), I'll make a template and share it.

    Did I answer your question?

  • Mikal

    Yes, thank you! :)

    One more question. Will there be a performance difference when compared to frame-by-frame animation, except a smaller memory requirement?

  • Yes, I think Spine and Spriter animation in C3 will take more performance than frame by frame (though with the benefit of potentially lower memory footprint and more flexibility of controlling the animations during runtime.) It's a tradeoff. Exporting png Spritesheets from Spine and Spriter is also a reasonable solution with different tradeoffs.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)