Use our engine to make your next fantastic game, of course! :)
Contribute code! Remove a bug, add a feature! (Not the other way around:)
Code changes are best submitted as pull requests on GitHub. Pull requests are really easy for you to create (fork our repository, commit stuff to your fork, then create a pull request by clicking on GitHub), and for me to apply.
If you prefer to do things the traditional way, you can also just create a patch file (versus recent GIT or SVN state) and create a new issue with the patch file attached.
If you're looking for a feature to implement, take a look at our planned features.
If you know your way around OpenGL, see the list of renderer TODOs — there's a number of easy and rewarding tasks waiting!
Contribute to our wiki useful tips or tutorials about using our engine.
If you use Castle Game Engine or our tools (like view3dscene) to view or play anything (a game, or just your 3D or 2D assets):
Show it on our Discord or forum by sharing a screenshot. Michalis loves to see how his work is useful for others :)
Contribute models to our demo models.
Look into improving our documentation. Our scene graph (X3D) documentation is large, and wants to be larger. Contributions describing how something works, or how to do something practical, are welcome.
You can add your contributions directly to our wiki. (Once we'll get some user content in our wiki, we'll think how to make it more visible.)
Test the view3dscene snapshots. These are build automatically after every commit to GitHub. You can test them and catch eventual bugs before the release. This way you can also preview new features before they are released.
If you make free software / open-source game, you have probably already chosen Blender as your main 3D modeller. We can export from Blender to X3D or castle-anim-frames (which is internally a sequence of X3D models). It would be great to improve Blender -> X3D exporter:
Support animations. Right now we support animations using castle-anim-frames, but a direct support inside X3D exporter would be more efficient.
At least exporting animation of transformations (translation, rotation, scale of objects) would already be very useful. Exporting mesh deformation (from shape keys, or derived from bone animation) would be great. Exporting skinned mesh animation (as mesh deformation, or using X3D H-Anim nodes) would be great.
Configuring collisions (using X3D
Collision node). As explained in the manual about "optimization", it's often useful to configure what collides and how.
Export 3D sound sources from Blender.
We have our own fork of the Blender X3D exporter, which can be used to distribute our improvements to CGE users. But preferably, changes should be submitted and applied to the Blender sources as well.
Please package view3dscene for your favourite Linux distribution :) It's a great and stable VRML/X3D browser (and viewer for other 3D models, like Collada and 3DS). Some facts in favor of view3dscene, important for package maintainers:
Copyright Michalis Kamburelis and other Castle Game Engine developers.
Thank you to Paweł Wojciechowicz from Cat-astrophe Games for various graphics.
This documentation is also open-source and you can even redistribute it on open-source terms.