Docs, Demos and Tutorials
Posted: Wed Jan 09, 2008 4:56 am
So lately I've been thinking about how lame my docs and demos are, and how I have a serious need for some tutorials.
Documentation:
I haven't been great about keeping the docs up to date, nor complete (what should be considered read-only or opaque, etc). The docs are also very C-centric. At least in the case of my Ruby binding, it would be helpful if there was a Chipmunk primer that gave an overview and then separate C/Ruby docs for the respective APIs. I can imagine that this would be useful for other bindings as well. (Ruby, Python, OCaml, and BlitzMax that I know of)
Demos:
Ideally I should have some very simple demos that can show off the features in a clear way, and another set that just does cool looking stuff. The code for the former should be very short/simple, the code for the latter could be crap IMO. Having some interactive demos would be good too (people are always disappointed by that).
Tutorials:
There should be tutorials on how to do basic things that people want to do with Chipmunk. (moving platforms, spaceships, character movement, buoyancy, vehicles, ropes, etc) These should most definitely be interactive. For clarity, the code should be kept to a couple hundred lines and one source file per tutorial.
Plan:
- I should set up a copy of MediaWiki for doing the documentation. This way people can help out revising the documentation instead of me being the bottleneck. Are people willing to help?
- I don't really have a good reason for sitting on my latest changes instead of making a release. I should do that ASAP. Really I just need to tie up some loose ends and document things.
- Refactor the demo drawing code. Ideally, the demo/tutorial code should only deal with the physics. If I refactored the current demo drawing code a bit, you could simply pass a cpSpace to some space drawing function. While quick and dirty, this would be effective and keep the focus on the physics.
- Write new demos/tutorial. Anyone willing to help here? As long as people are willing to accept me as gatekeeper for what code actually goes in the Chipmunk package, I'd be more than happy to accept help!
Documentation:
I haven't been great about keeping the docs up to date, nor complete (what should be considered read-only or opaque, etc). The docs are also very C-centric. At least in the case of my Ruby binding, it would be helpful if there was a Chipmunk primer that gave an overview and then separate C/Ruby docs for the respective APIs. I can imagine that this would be useful for other bindings as well. (Ruby, Python, OCaml, and BlitzMax that I know of)
Demos:
Ideally I should have some very simple demos that can show off the features in a clear way, and another set that just does cool looking stuff. The code for the former should be very short/simple, the code for the latter could be crap IMO. Having some interactive demos would be good too (people are always disappointed by that).
Tutorials:
There should be tutorials on how to do basic things that people want to do with Chipmunk. (moving platforms, spaceships, character movement, buoyancy, vehicles, ropes, etc) These should most definitely be interactive. For clarity, the code should be kept to a couple hundred lines and one source file per tutorial.
Plan:
- I should set up a copy of MediaWiki for doing the documentation. This way people can help out revising the documentation instead of me being the bottleneck. Are people willing to help?
- I don't really have a good reason for sitting on my latest changes instead of making a release. I should do that ASAP. Really I just need to tie up some loose ends and document things.
- Refactor the demo drawing code. Ideally, the demo/tutorial code should only deal with the physics. If I refactored the current demo drawing code a bit, you could simply pass a cpSpace to some space drawing function. While quick and dirty, this would be effective and keep the focus on the physics.
- Write new demos/tutorial. Anyone willing to help here? As long as people are willing to accept me as gatekeeper for what code actually goes in the Chipmunk package, I'd be more than happy to accept help!