Contributing to MV3D
MV3D is a very ambitious project, and it needs your help! The quickest way to get involved is to join the IRC chat #MV3D on irc.freenode.net. Once you get in, please introduce yourself. Don't be disappointed if people don't answer right away as most people leave their IRC clients logged in to the chat all day (feel free to do that). Note that registration for the forums, wiki, or mailing list requires activation by SirGolan. It may be a few days before your account is activated or possibly more. The best thing to do to get your account activated is to look for SirGolan on IRC or email mike at mv3d.com.
MV3D is developed using the Scrum methodology. Development is broken up into sprints (milestones in trac), and each sprint, tickets to be worked on are pulled from the backlog. All work to be done (bugs and features) have associated tickets. Basically, MV3D follows UQDS. In short, a ticket is created, it's assigned to a milestone. A branch is created for all work done in that ticket and someone starts working on it. When ready, they submit the ticket for review and the reviewer checks over the changes and either approves it or hands it back with suggestions. If you don't have svn write access, then the process is similar, but just attach a patch to the ticket when submitting for review. MV3D uses Twisted's coding standard for all code. For more information, see CodingGuidelines.
Non-Code Contributions
MV3D also needs help making the Demo World look better and adding to the free AssetRepository. If you are interested in helping out in those areas, contact SirGolan on IRC or by emailing mike at mv3d dot com. Some of the things that are needed here include:
- Worldbuilding - editing terrain, adding objects, and expanding the world.
- Static 3D Models - more buildings, props, bridges, trees, etc.
- Animated 3D Models - Better animations for the player characters, monsters, and new rigged models.
- SoundFX and Music.
- Documentation.
- Publicity.
Ticket Conventions
In addition to the standard trac workflow, we also use keywords to denote a secondary status for tickets. Use the 'review' keyword to specify that a ticket is ready for review. The 'stealable' keyword should be used on tickets that are up for grabs for anyone to take on. The other keyword is 'easy' for any tickets that are good for a beginner to tackle.
Easy Tickets
- #292
- Incoming chat messages should make a sound.
- #315
- mv3d.client.ui.image has no tests
- #377
- Need more and better tests for camera classes
- #379
- More tests for mv3d.client.ui.connect
- #380
- Split up mv3d.test.test_editor
- #381
- Docstrings and tests for mv3d.client.ui.ogre3d
- #382
- Tests needed for mv3d.client.ui.player
- #383
- Docstrings and tests for mv3d.client.view.area
- #384
- Docstrings and tests for mv3d.client.view.object
- #385
- Docstrings and tests for mv3d.client.view.player
- #386
- Docstrings and tests for mv3d.client.view.realm
- #387
- Remove mv3d.client.view.TerrainView
- #389
- Need tests for mv3d.client.asset
- #390
- Need more tests for mv3d.client.player
- #391
- Split up mv3d.test.test_net
- #392
- More tests for mv3d.test.test_securable
- #395
- More tests for mv3d.phys.collider
- #398
- More tests for mv3d.reporter.event
- #399
- More tests for mv3d.reporter.guilog
- #400
- More tests for mv3d.resource.ogre3d
- #405
- More tests for mv3d.server.model.physical
- #406
- More tests for mv3d.server.model.realm
- #408
- More tests for mv3d.server.account
- #409
- More tests for mv3d.server.login
- #410
- More tests for mv3d.server.player
- #411
- More tests for mv3d.server.realm
- #412
- More tests for mv3d.server.sim
- #413
- More tests for mv3d.util.classgen
- #414
- More tests for mv3d.util.conductor
- #415
- More tests and docstrings for mv3d.util.container
- #422
- Standardize the config file
- #446
- Errors during startup of a single service shouldn't affect other services
- #514
- Webconsole button on overseer
- #592
- Composer needs a function to move the camera to an object.
- #635
- Disable gui elements that shouldn't be active in tools.
- #644
- Spruce up default eclipse pydev project file
- #651
- New Overseer GUI needs some minor tweaks
- #660
- Add wireframe view to Composer
- #670
- Tools should optionally use degrees rather than radians for angles.
- #684
- Guide widgets with a value of None should not display a value
- #721
- Command line auto-collider solid.
- #733
- Add Menu widgets to GuideCE.
- #789
- Generate 2D instead of 3D thumbnails for images
- #831
- Create an API to add additional player key mappings on the client.
- #832
- Create an API to add additional player actions on the server.
