Hey guys!
My name's Daniel and I'm a developer with FrostTree Games. We're making an action game in XNA and Spine for the Xbox 360, and we'll be publishing on Xbox Live Indie Games likely at the end of the summer! Spine has been a great framework to use, as it's empowered our artists to do some really sweet animations and deploy them rapidly to our game's build.
We're hitting a bit of a snag though. We're having difficulties placing multiple Spine animations of the same skeleton/atlas simultaneously. Originally, we were loading just one Skeleton and having instances of the same game object share a reference to it. This became difficult, as animations needed to individually modify the skeleton and messed with each other's appearance during rendering. To alleviate this, we loaded individual skeletons from JSon for each game object. This was great when testing on the PC, but parsing the JSon on the Xbox 360 caused for very long "load times". As far as we know, C# lacks deep copy functionality, so we can't simply load one JSon and distribute copies to the game objects.
Would you guys have any insights into getting around this? We were thinking of skipping the JSon parser altogether and shipping with serialized binaries of the Skeleton class. We'd appreciate anything!
// the following code is found in an individual game object (C#/MonoGame)
// logic method...
{
animation_time += currentTime.ElapsedGameTime.Milliseconds / 1000f;
current_animation.Apply(current_skeleton, animation_time, true);
}
// draw method...
{
current_skeleton.RootBone.X = Position.X;
current_skeleton.RootBone.Y = Position.Y;
current_skeleton.UpdateWorldTransform();
renderer.Draw(current_skeleton);
}