I am quite new to the opensource community. I want to help opensource projects with my coding skills. But I don’t know where to start or how to start. Any suggestions?
The primary languages used in Armory are Python for the Blender plugin, which does things like export the game and add the Armory UI elements to Blender, and Haxe for the actual game engine logic, and GLSL for the shaders.
A good start for Armory development is to install Armory from git. There are instructions on how to do that here.
Also, you may want to check out the Armory Architecture doc that describes in more detail the techonlogies that go into Armory.
After that, you just have to find something to work on. I don’t know of anything specific right off the top of my head, but if I find anything that is easy to do I could mention you.
One easy thing is making new Logic Nodes. Logic nodes are made up of a little bit of Python to define what the node looks like in Blender, and a little bit of Haxe to do the actual work. You can find examples of how the nodes are implemented here ( for the Haxe portions of them ), and here ( for the Python portions ). The trick is finding out what nodes need to be made, which tends to pop up every once in a while through users who are trying to accomplish something with nodes, and they haven’t figured out how to do something with the current node set.
Another helpful thing to do would be to add API documentation in the code comments ( here is an example ).
Otherwise, what I tend to do is just start to use Armory to try and accomplish something or make a game, and I fix things that I run into along the way. You could also look around at the GitHub issues or on the forums, but that might be a little difficult to find something that you could work on.
The more you look around the codebase the more comfortable you will get with it and you will start to realize where to look for certain issues.
Edit: Actually I just found an issue on the forums that looks like a minor bug in file path handling. You might try to look at that.
Edit 2: And another suggestion for possible nodes.
Edit 3: And some tasks I haven’t found the time for yet:
If I could also suggest this issue where we found a fairly critical feature needed to effectively use the “Look At” node was missing. This way, you’d actually only need to add something to a current node rather than creating an entire node from scratch…
I use Linux
so fixing windows issues is not quite possible.
By the way, I am new to armory so I am learning will what I can though
Ah, glad to see another Linux user.
If you have any development questions, go ahead and ask on the forum. You never know what somebody else may already have run-into/figured-out.
We added a Good First Contribution tag to GitHub now that new contributors can look for.
Brilliant! I was just thinking how we need this!
I’ve found that a very good approach is to step back and observe what other people are doing. In GitHub you can see them selecting tickets and you can see exactly what they did. Look for tickets (already completed) where you say to yourself, “I think I could have handled that …” then look carefully at just how someone else did handle that. Was your assessment correct, or were you surprised – and if so, by what? This kind of “vicarious learning” can tell you a lot about a project.