Friday, November 2, 2007

Dependencies, and the interventions thereof

A current project of mine, aside from pesky schoolwork, is an rpg, with my best friend, Ruby. The first tool we need is a map making tool, which is in the progress. See, with our own map making tool, we could add the features /we/ wanted to it.

This brings an interesting problem to the table, however. How do you deal with asset management on a large scale? Particularly, for people that may not be that techologically adept. Of course, Ruby has no problem in that arena. For an rpg, even one as short as the one we plan, there will still be hundreds, if not thousands of images, music files, animations, map files, everything.

For the map maker then, it would need to, behind the scenes at least, manage the assets for the user, namely Ruby. When the user saves a map file, the assets used would be moved into their own folders, along the lines of "Animations" for the animation files, "Tiles" for the tiles, "BigTiles" for the big tiles, etc. Now, these folders will be invisible, and will sit in the same directory where the map file is saved.

The best part is this: the map file will also list the last known locations for the original assets, and if they've changed, will add them to the folders. As well, it will back up the old versions, by creating diffs of the files. So, the user can, and most likely will need to revert their files. Lo and behold, backups have been done for them!

This is kind of sneaking around the primary issue, I admit. Sneaking in primitive source control, but when you get them started on something small, and they find it useful, its easier to suggest a bigger solution. Like, say, actual source control.

Then again, adding in such functionality is kind of bigger than what is needed out of the application, and I'm still trying to decide what to do.

Any suggestions, give me a shout in the comments.

No comments: