About this project
please follow us:
Update Summary 4/19/12:
"Seriously, awesome job on the editor."
- Tuomas Erikoinen, lead artist of Angry Birds
professional freelance game artist, on Spriter's potential:
"It's very exciting to see something like Spriter available to more game developers. Modular animation has been the secret to large sprite animation since our 16-bit days; both in aiding the process of animation but, more importantly, in working with the limitations of various platforms. Something like this becoming mainstream helps independent developers to overcome platform issues and alleviate a very frustrating part of game production. Spriter's interface is easy to learn, intuitive to work with and can easily be incorporated into any artists' workflow. I'm excitedly looking forward to the progress that will be made towards the refinement of this very promising tool and also to the day when I can incorporate something like this into my team's day-to-day tasks."
Nick Wozniak - Animation Director - Wayforward - developers of Thor : God of Thunder for DS
Spriter Beta animation implementations developed during this Kickstarter:
- Cocos2d(by @TacoGraveyard) http://www.youtube.com/watch?feature=player_embedded&v=mtX0a26voWU
- GameMaker(by icuurd12b42) http://gmc.yoyogames.com/index.php?showtopic=537492
- Flashpunk(by @abeltoy) http://www.brashmonkey.com/spriter/PunkSpriter.swf
XNA(by Mark Schmelzenbach) http://www.brashmonkey.com/spriter/SpriterBetaXNA.zip
- Libgdx (by Christian Finckler) http://www.badlogicgames.com/forum/viewtopic.php?f=17&t=3863
- Love2D(by @mariocaprino)
- Torque2D(by @FractalOutlook)
- SFML(by @mrwonko)https://github.com/mrwonko/SFMLSpriter/downloads
- Monkey(by therevills) http://www.monkeycoder.co.nz/Community/posts.php?topic=2709
Link to the Beta Test
Whether you're curious, skeptical, or just want to give it a test drive, please feel free to download the beta of our free version (featured in the image and video above). We're not done with it, so please understand this is a beta test version, and much will be improved and added. Please read the Getting Started Guide, included with the download.
What is Spriter?
Spriter is a powerful animation tool for creating highly detailed 2d real-time game characters and effects in an intuitive, visual editor. The characters are saved to a format that allows game engines to produce higher quality visuals, while also using less video ram, and requiring less disk space per frame than traditional 2d sprite animation.
Spriter also provides several game specific features like collision boxes, and sound effect triggering, and saves to an open format that will be useable across many different game engines and platforms.
We released the beta version fileformat to selected developers on April 7th, and within 2 days there were 5 different implementations. As of April 17th, the beta format is available to all developers(See Update 7). As of this posting there has Spriter beta format animation loaded and played back in cocos2d(@tacograveyard), xna(Mark Schmelzenbach), LibGdx(Christian Finckler), JBlocks(ZeroLuck), flashpunk(Abel Toy), as3(Abel Toy), flixel(Abel Toy), and starling(Abel Toy).
How does it work?
Spriter uses a multi-image animation technique similar to some of the more visually impressive modern 2d games such as Muramasa or Shank. Until now there hasn't been a 3rd party tool for this purpose. Game makers looking to use this technique needed to create their own animation software from scratch.
In Spriter, what you see in your editor is what the player will see when in their game. Not scaled down. Not selected animation frames. The same large, smoothly animated character.
Export images from the software of your choice to create the parts you wish to use to build your character. Spriter will use these to create your 'palette'. You can then build and animate your character out of these parts in our streamlined editor, which includes useful animation features like Onion Skinning and Selection Grouping. But rather than export each frame as one complete image, Spriter saves the coordinate, rotation, size, color tint, opacity, etc, of each of the parts, which can be used in the game engine to recreate the animation.
With this technique, you can have as many frames as you want without affecting VRAM usage. For developers and animators this means more detailed characters, more detailed animations, and more available resources. In short, much better looking, and much better performing games. For gamers, this means that instead of just a handful of developers making cutting edge 2d, this animation technique will now be accessible to all developers, large and small, which means more great looking games for you.
Spriter's Open, Universal File Format
Spriter game animations won't be tied to a specific development tool. Spriter saves to a fully open XML based format we call SCML, which is an acronym for Spriter Character Markup Language. Our intention is to get Spriter animation supported on every major game authoring tool. So far, we have a feature complete Scirra Construct Classic plugin in beta for creating DirectX 9 games with Spriter. Work has begun by third parties on Unity and Torque2d support for Spriter animations, which means soon Spriter animated characters could be possible on PC, Mac, PS3, XBOX360, Wii, Android, iOS, and Flash.
In addition to the plugins and extensions we will be creating in house or outsourcing to a third party, we will provide full documentation of the file specification and free support on our forums to anyone who wants to integrate Spriter animation support into any game authoring tool or programming language, including their own proprietary game engine.
Game Specific Features
Spriter allows animators or developers to use the same intuitive editor to add game specific features such as collision rectangles, action points, variables, and sound effects that can all be animated with the character. Want to know whether your character was punched in the face? Name a collision box "face" and animate it with your character. Add your sound effects in the Spriter editor, to have them triggered in game at exactly the right moment. Use animatable action points to keep track of important spots you'll want access to at runtime, like the tip of the gun barrel to spawn bullets from. And animatable variables to embed any information you wish directly into your animations, whether that's how powerful the punch is at any certain moment in the swing, to whether your characters feet are on the ground.
In Spriter, art assets and animation data are kept separate, ,which makes it possible to have what we call Character Maps, to do anything from replace your characters' weapons and armor, to creating entirely different characters, simply by choosing alternate images for groups of parts. You can animate your character once, and then draw as many alternate parts as you wish, and Spriter will simply animate the on screen character with the alternate parts. For each character map you can choose to display, hide, or replace any number of images.
Eventually, we'd like to add support to create character maps at gametime, to let your players create mods for your game with no additional programming effort, simply by exposing a given character's art assets, and giving your players the option of choosing a folder of similarly named replacement images. You could also use this to allow for randomized NPCs built by combining several optional parts, or customizable characters players could save from one version of your game - say the Facebook version, and load them on a completely different platform, like iPad, or PS3.
Spriter has the potential to revolutionize 2d animation in the game
industry by introducing the concept of 2d art packs. Imagine buying a set of fully animated game characters, then just changing a handful of body part images to create your own totally unique, fully animated characters for your game. And you could of course tweak any of these animations to further customize your character, and add your own for your game's specific purposes. With these art packs, gorgeous professional quality 2d art and animation can finally be within any game maker's budget.
We've already begun work on our first fully professionally animated video game art packs. The first two we create will be Platform/adventure and Game effects. Certianly countless other artists will also begin creating similar Spriter art packs as Spriter becomes more popular and supported in all the major game authoring packages.
How will the funding be used?
Simple. To pay basic living expenses while we continue to work fulltime to get Spriter to 1.0 over the next 9 months. Continued full-time focus on Spriter will also help us to recruit talent to get Spriter support on as many different engines and authoring tools as possible, as well as write tutorials and documentation.
Spriter fills an important niche for artists and game developers, and deserves and requires fulltime attention to get it to where it needs to be. It isn't enough for Spriter to just work, it has to be a great animation editor. An animation program that is merely adequate isn't adequate at all. Artists are at their best when their tools are refined and their interface is streamlined. Making a great UI is a fulltime job, and has often been an overtime job.
This is doubly important since Spriter is the first third party tool of this nature. Because of this unique position, it represents an opportunity to establish file format and workflow standards for future tools of it's kind, and we're committed to continuing to incorporate feedback from a variety of testers of varying backgrounds, to make it the best tool it can be. This is not a job that should be rushed, and left to spare time.
So in short, funding will keep Spriter development speeding ahead at full speed, with our full focus.
Beyond our Funding Goal - Procedural Animation and Other Possibilities
We chose a funding goal that we estimate is required to complete Spriter to 1.0, and include all the features that have been mentioned above in 9 months. That is the goal of this project.
However, there are possibilities far beyond what's been stated above, and with proper funding, we can begin work on these immediately after we meet the above goal of Spriter 1.0. These are future planned features of Spriter, and before beginning on the current version of Spriter, we had working prototypes of all of the following features, a few of which can be seen in early experimental form at the end of the video above.
Free-form Deformable Parts and 2d skinning
First, we'd like to add the ability to bend and reshape each image into any amorphous curved shape, which can be used to create very organic, fluid characters. These shape would also be tweenable, which could be used for anything from complex and detailed facial expressions to fluidly flowing clothing or clouds of dust.
The separate, but related feature of 2d skinning would allow you to bend both standard parts, or these new free-form deformable parts around "bones". For instance, an artist could draw one complete arm, and attach it to the arm joint, so this one image could actually bend at the elbow. This would be similar to what's possible with packages such as Flash or Anime Studio and Adobe After Effect's puppet tool, but optimized for realtime use in games, and again, with Spriter's highly streamlined, focused interface, and saved to Spriter's universal file format.
Procedural Animation, Shapes, and Variables
For those who are unfamiliar with the term procedural animation, it basically means your game can generate new animations while your game is running. This allows you to create animations that can automatically adapt to each and every unique gameplay situation in a variety of ways that modern games are only beginning to scratch the surface of.
One example is NaturalMotion's Euphoria software which made it possible for Grand Theft Auto IV and Star Wars: The Force Unleashed to have characters that continued to try to recover from physics controlled falls instead of just becoming lifeless ragdolls, though ragdolls themselves are an older simpler form of procedural animation.
Another very different example is Spore by maxis, which is famous for it's heavy use of procedural generation. Because of it's procedural content, Spore has an amazingly massive scope that spans literally hundreds of thousands of planets, where you can possibly encounter hundreds of millions of very different creatures.
Procedural Content in Spriter
Through our various prototypes and experiments, we discovered a way to integrate a variety of procedural techniques for animation, behavior, and shape generation, without the need for a complex interface or scripts. This would allow for a wide variety of possibilities, but I will give a few examples here.
You could create a range of preset shape possibilities for facial expressions, and have your characters' face reflect a unique mix of several emotions that can change from moment to moment, as well as be unique for each character's personality. This could also allow you to generate infinitely diverse faces and clothing for background characters, or background elements, like trees and clouds, that retain your unique style, but allow for infinite variety generated on the fly.
The same could be applied to animations as well. For example, you could create a variety of different walk and run cycles or fighting animations reflecting anything you wish, from a character's femininity or masculinity, strength, fatigue, fighting style or skill level, personality, current emotional state, etc. These could be used to create specific characters for your game's storyline, who animate very differently without the need to individually animate them, or you could also create an infinite variety of extremely diverse background characters each with their own personality and way of reacting to what's happening in the game environment and to eachother. This could also allow for parts of your character to animate for you, both in the editor, and in game, as other parts of your character move. This could be for anything from a bicep bulging automatically as an arm flexes, to a complex set of gears and pistons moving in perfect sync to a robots body movements.
Spriter could also allow you to set constraints that can be used to mix these dynamic animations with non-Spriter game information to be able to mix animations with ragdoll physics, or to make a characters look at specific objects, aim at a specific point on the screen, or adjust their walk cycle to navigate rough terrain more realistically or step over obstacles. This could also be used to make things like trees or grass that animate in a stylized way, that is still dependent and affected by what's happening in the game.
In addition to procedural animation and shapes, we could extend the concept of animated variables into the procedural domain. This would allow you to make variables that can interact with each other, and your game, and other Spriter characters, to allow for extremely dynamic characters and extremely dynamic interaction. An example of a few variables interacting could be a variable called "intimidation" coming from one character can have an effect a value called "fear" in another. The degree to which "intimidation" affects "fear" could be based on a third variable called "bravery" or "cowardice". By using these variables to control the blending of procedural animations, it's possible to create very dynamic characters.
Procedural Art Packs
Lastly,these concepts could be used to create procedurally animated art packs, which would contain all of the animation data necessary to create a custom walk cycle simply by dragging sliders representing things like fatigue, gender, emotion, or even cartoony vs realistic. Again, in the editor you could also visually specify ranges of possibilities that your game could use to create random characters and creatures for the background, or even make each character in that horde about to attack your characters a unique looking and moving individual.
Thanks to everyone who took the time to learn a little bit about Spriter. We're happy to answer any questions you may have.
Edgar Muniz-Lead Programmer...........firstname.lastname@example.org
Mike Parent-Lead Artist........................email@example.com
Who are we?
Brashmonkey is a two man team. One animator, Mike Parent, and one programmer, Edgar Muniz(that's me). Mike Parent is an 8 year veteran in the game industry, where he has worked as a professional video game artist for companies like Gameloft, Wayforward, and GluMobile. His resume', including testimonials from previous employers, can be found at holymonkeystudio.com. Mike founded Brashmonkey, and created a functional, earlier version of Spriter.
I was originally hired by Mike to make a plugin for using Spriter animations in Scirra's Construct Classic, an open source game creation tool. I had contributed to Construct Classic with plugins, and various feature enhancements and bug fixes.
I had also been working on a similar program, lacking some of the features of Spriter such as character maps, and an open file format, but which had a much more userfriendly interface, and the beginnings of many of the features listed in the 'Beyond our Funding Goal' section. After completing the Construct Classic plugin, I approached him about developing a new version of Spriter, that would incorporate the best of both our ideas.
We decided to become full partners, and create the ultimate 2d animation platform.
Spriter, the application, is currently available on PC, Mac, and Linux. The exported format is an open format consisting of xml, and image, and can be used in almost anything.
Support this project
- (30 days)