Jun 17, 2011 at 8:44 PM

Is this project actively maintained anymore? I saw someone posted a rar of the project updated to 4.0, but i notice the SVN repo here hasntbeen modified since 2007. I plan on using this project in my current game engine adventure, and was wondering if I should link with this project and its SVN repo or branch off my own version to maintain myself. Thanks.

Jun 25, 2011 at 2:43 AM

Hey FluidWaffle,

It is not maintained, but I would love to have the time to maintain it. See the most recent post in the forums for more details.

Jul 1, 2011 at 7:28 PM
FluidWaffle wrote:

 and was wondering if I should link with this project and its SVN repo or branch off my own version to maintain myself. Thanks.

If you have time to fork and maintain why not help maintain this repository - I'm sure Dastle would be glad of the assistance and its much better than having competing and almost identical products.

Jul 1, 2011 at 7:34 PM

I haven't tried forking projects before, but I'll take a look into it. Thanks for the idea

Jul 5, 2011 at 8:07 PM

I'm not sure if you missed my point or not... forking is another name for branching and I was recommending that rather doing either of those and making yet another library you simply work on this one instead. If you know what you are doing then open source libraries almost always are happy to add developers.

So take the source - make some changes (I'd recommend major changes get discussed first - you don't want to break any current users) and then upload a patch http://animationcomponents.codeplex.com/SourceControl/list/patches/upload and hopefully dastle has time to at least do that.

There's already 4 animation libraries that I know of - the last thing we need is a 5th

(http://animationcomponents.codeplex.comhttp://xnanimation.codeplex.com/ [and its Sunburn fork http://sgmotion.codeplex.com/], http://www.enchantedage.com/node/24)

(One day I would love to take all 4 of them and merge them - they each have unique features that the others need!)

Jul 7, 2011 at 2:47 PM

Yeah, I get your point, and I agree.  I'm not trying to make new projects - I essentially made a local branches for my project since I'm trying to control external changes, keep all required source for my project in one checkout (for laziness and easy debugging), and allow me to make changes for debugging (or fix) as need be. As major versions of projects are released, I export the code into my project and test. I figured that if i made any relevant code fixes I could upload patches, or implement them into another checkout of the projects source.

It didn't occur to me that I could handle all this with a fork, but it seems like all the merging from an actively developed project to keep the fork in sync was a bit of overkill for my purposes, since most of the changes I'd be making would be throw-away code. Keeping this specific project in sync wouldn't be hard, but other projects I use (farseer, mercury) would be more difficult.

Most of my projects have entirely been entirely owned by me or the group I worked for, so I'm a bit new to trying to organize a project. I'm open to suggestions on how to better work with these open source projects, if you have any. All I'm really going for is all the code I require for my project in a single check out from my repo, without using svn:external so that I can make debug modifications, with the occasional bug fix I would try to submit as a patch.


Jul 7, 2011 at 7:31 PM

Ahhh if its for personal use then do whatever you like ;-) When I hear fork or branch I think about people making whole new open source projects from another one. Its rarely the right thing to do.

We use Mercury, sgMotion and ThinkSharp open source projects. Originally I went the same way as you having local copies but as I added features others wanted it was a pain to get them back in the main trunk. By this point I had done enough on Mercury and sgMotion to be allowed access to the source. 

In both of those cases we add to them in our game by inheritance and extension methods - I've found almost nothing I can't do that way. I had to unseal a few objects and I've made a few things public that used to be private but its worked well. It also means you think a little objectively about changes because you know they will affect other people. I feel like we've saved a lot of time because of other peoples time and its important to give back and not just take. Thankfully my boss agrees and everyone benefits.

For ThinkSharp the conversion to XNA4, the lack of a discussion forum and the lack of a response from the project owner meant I was forced to take it on alone. Right now its a private build and becuase I never quite finished the XNA 4 conversion (we only use part of the library) it may never go back open source. It wasn't for want of trying though. I hope to find the time.

I use svn: external and a build script to build them right now. Since we dont make a lot of changes that works for us.

Aug 30, 2012 at 12:15 PM
Edited Aug 30, 2012 at 1:22 PM

Thanks to the community, I was able to update it to work on 4.0. If you want, you can just download the source and compile it. The new version requires you to create your own effect to handle the ModelViewWorld.

 I updated the source code to work for XNA 4.0, but due to the uncertain future of XNA, I am going to hold off on updating the rest of the site.

For a quick and easy test of the new code, download the following and compile it after updating to the latest version of XNA. It will demonstrate the completed tutorial: