So I've finally decided on my third option - tidy up my existing library of code (which I use for all my games including Snowman Village) and release it as a proper library, complete with documentation and examples.
So my big todo list for this includes:
- A spring clean of the library code. It's spread across three different projects and has a lot of old crap that isn't useful. I'm going to merge it all into one project and throw out the old clutter.
- Streamline the code. Theres a lot of clutter in the API which isn't used and adds unnessisary complexity.
- Add unit tests where possible. This will mostly be to help with the streamlining to make sure I don't break something important.
- Improve and extent the renderer (used in Snowman Village) so it's more efficient and more general.
- Document the APIs and tools. The API documentation will probably be javadoc. The tools and other sample code I'll probably set up a wiki for. In fact I'll probably use a wiki for the entire project website.
- Create an example game using the core features (renderer, resources, tools) so people can quicky get something running.
I'm currently torn between the "release early, release often" XP approach or waiting until I've got something solid and complete before making it publically available. I think I'll probably do about a months work on it and see how far along I am then.