Spine is a 2D skeletal animation tool for game development and other animation projects. It features an intuitive workflow to rig and animate skeletons, a multiple-timeline dopesheet for retiming and tweaking animations, powerful exporting capabilities, and runtimes for many programming languages and game toolkits.
There are two of us working on Spine: one programmer (Nate) and one artist (Søren). We've wanted to build this tool since we were kids. 20 years later, we finally made it happen! Initially we spent 9 solid months building Spine in a dark cave, then 8 months ago celebrated its first release by doing a Kickstarter to fund 4 runtimes. The community's response was amazing and our initial goals were exceeded by far. We stepped up to the challenge and delivered 18 runtimes instead of 4, plus dozens of stretch goals and new features.
When we started building Spine we had a vision of what we wanted in a 2D skeletal animation tool. Now that we've made that a reality, we can see clearly how to take the tool to the next level. We are confident that we can do some really amazing things with Spine, all we need is the time to do it.
Sales over the past 8 months since Spine's release have been ok, but vary wildly month-to-month. We want to continue development on Spine without risking not being able to pay our bills. We are doing this Kickstarter to raise funds to provide us with some financial stability through the next few months so we can focus on these fantastic new features. We have the biggest, most exciting features in our sights and we feel the impact they will make on how 2D games are animated will be significant.
We work on Spine full time and hope that shows in our level of support and the speed at which we deploy fixes and roll out new features (see our changelog, forum, github, Trello boards). Being able to do this full time really is a dream come true. We take pride in helping people use our tool and love seeing the amazing things people are doing with it!
We've identified four major features that work together to enable new kinds of animations and will make Spine much more powerful. We've simulated how these features could work in the video above, so be sure to check that out.
This feature allows you to define a polygon within your rectangular images. In your game, only the pixels inside the polygon will be drawn. This can free up a significant amount of fill rate, especially for mobile games. You will also be able to define internal points and edges. This allows you to influence how triangulation occurs, which is necessary to control how the image deforms.
Free-form deformation (FFD)
This feature allows you to move individual mesh vertices, causing the image to deform. Moving the vertices can be keyed, so images can deform in animations. This is extremely powerful, allowing images to stretch, squash, bend, and bounce in realistic ways. FFD also allows a lot more to be done with the same art. Images can deform to cover gaps or be bent or skewed during animations, all without needing additional art.
This feature allows individual mesh vertices to be assigned to different bones. For each bone, the vertex has a weight which defines how much it is affected by that bone. When the bones are transformed, the vertices are affected which causes the image to deform automatically. This makes animating images that can be bend as easy as just manipulating the bones. It also means code in your game can manipulate bones and the images will deform as expected. FFD works together with skinning to allow the automatic deformation to be customized.
Inverse kinematic (IK) pinning
This feature allows the tip of a bone to be pinned. As other bones move, the parent bones are adjusted to keep the pinned bone in place. For example, this can be used to keep a character's feet on the ground when the hip moves. IK algorithms can be computationally expensive, so we aren't currently planning to implement IK for each runtime. Instead, IK pinning will be used solely for posing the skeleton. However, we do plan to experiment with plotting IK adjustments on export.
This Kickstarter includes not only implementing these features in Spine, but also in the official runtimes so you can use the new features in your games. There are 18 official runtimes, so it will be quite an effort!
Please note that some runtimes require images to be drawn as rectangles and will not be able to support meshes, free-form deformation, or skinning. These runtimes are spine-as3 Flash (spine-starling is fine) and spine-love. Note spine-corona will be able to support the new features in some capacity once their Graphics 2.0 API is released (at a minimum Corona should be able to handle deforming an image with 4 vertices).
You can download Spine for free and give it a try right now for Windows, Mac, and Linux. Spine has some really great features already, but these additional features will open up a whole new world!
Below are just a few of the games using Spine.
- Delver's Drop by Pixelscopic
- Coin Cutlass by Ravenous Games
- The Intergalactic Trashman by Glovecat Studios
- Artizens Online by Artizens, Inc.
- Major League Wizardry by Game Made Studios
- Vampire Volleyball by Retro64
- Dragon Swoopers by Gushiku Studios
- Monster Stacker by Fat Loot Games
- Heroes of Steel by Trese Brothers Games
- Isbarah by Leikir
Why can't Nate smile in the video?
He's a coder, not an actor, plus he's dead on the inside.
Who is the little puppy?
Her name is Moo. She is a 5 month old Puggle (a Pug/Beagle mix) and the sweetest little thing in the world.
Will backers of the first Kickstarter get these features?
If you backed our first Kickstarter, you have the Professional license already and all new features will be available to you.
I already have a Spine license, but what kind is it?
Follow the download link in your receipt email. Your download page will say what version you have.
I have an Essential license. Will the new features be implemented in that version?
The meshes, free-from deformation, skinning, and IK pinning features will be for Spine Professional only. You can take advantage of the discounted Essential to Professional upgrade reward offered during this Kickstarter.
From the video, it looks like everything is done already?
The video was done mostly with SoftImage and is only a simulation of how the final features may work. We've done some small proof of concepts and a bit of prototyping, but the features aren't yet implemented.
When will the new features be ready to use?
We can't make promises, except to say that we are working as hard as possible. To give a rough estimate, we hope to have meshes in the editor within a month or so. FFD will follow a few weeks afterward, then skinning a little while later. At this point, roughly 2-3 months from now, we'll likely update the runtimes to use the new features. IK pinning will be done last and doesn't affect the runtimes.
Risks and challenges
We have a general plan on how to approach implementing the major pieces. We've done some small prototypes and have confidence that we can implement these new features.
Meshes allow the user to define a polygon, points, and edges inside an image. Defining points and edges is necessary to control triangulation and therefore how the image will deform, but it complicates triangulation, which has to work around these constraints. Getting triangulation correct is key to have FFD and skinning work well.
FFD allows the user to move individual vertices. They also need to be able to key this, so the data needs to be exported and loaded by the runtimes. At first FFD will be done simply by moving vertices, but we will also research an as-rigid-as-possible algorithm like After Effect's puppet tool.
Skinning allows the user to attach mesh vertices to different bones and specify a weight for each bone. The challenge here is in specifying the weights. If the weights are not set well, the images won't deform well. We have a number of ideas for automatic weighting as well as innovative ways to make setting weights easier.
IK pinning allows a user to pin bones in place. We have not yet determined if we will be able to intuitively plot the IK movements and export keys. If we do this then inside Spine IK pinning allows you to have much fewer keys, which makes tweaking animations much easier. If plotting turns out to be too complex, then IK pinning will only be used for posing.Learn about accountability on Kickstarter
- (30 days)