So I made a documentation generator for Clockwork. I already looked into existing ones, but they just weren’t practical for what I’m after, so I wrote my own. It scans the entire Clockwork project for specific tags within comment blocks, and then generates a JSON array of documented functions, hooks, libraries and classes.
I’m currently working on a website which uses the generated JSON array to provide a neat interface for viewing the Clockwork documentation. Users will be able to post both comments and examples for each object, and other users can upvote the best ones to the top of the page.
Here’s a quick example of how it works.
Me and Alex Grist have been using Git as version control for Clockwork. I’ve never really collaborated with somebody else on a project before; I’ve always been a rather independent programmer, but Git has made development a breeze.
For those of you living under a rock, and are unfamiliar with it; Git is a fast, powerful, and easy to use distributed revision control system. It was created by the face behind the open-source Linux initiative, Linus Torvalds.
Once you’ve set up a Git repository for your project, the basic principle of Git is this:
- Programmer A edits a file from a local clone of the repository on his/her system.
- When Programmer A has finished implementing Feature A or fixing Bug A, they “Commit” to their changes; a note can be added describing what they’ve changed, added, or removed.
- It would be wise at this point for Programmer A to “Pull” any changes to the remote repository; any alterations made will be cleverly merged.
- When Programmer A so desires, he or she can then “Push” the changes to the remote repository.
- Programmer B will receive these changes when he or she makes a “Pull”.
There’s way more to it than that, but that’s the basic idea; Git is awesome and I much prefer it to Apache Subversion (SVN).
Intelligence is the ability to avoid doing work, yet getting the work done.
As you may or may not know, Alex Grist is now an active participant in the development of Clockwork. He has been working on CloudAuth, which is our system used to protect Cloud Sixteen’s schemas from unauthorised use.
I made a proposal for a packaging system for schemas, so that developers have the option of making them closed-source. We would have a website set up for authorised Clockwork developers, where they could upload their gamemode in a ZIP archive. The archive would then be converted to a “schema package”, which they can then re-download and distribute.
The schema package would be named with the .csp extension (Clockwork Schema Package) by the packaging site, and the end-user would place it in gamemodes/Clockwork/schemas/.