Is there anyone developing a 3D game with Armory? If yes, can you share some of the benefits and difficulties that you are having?

Me and my team are slowly starting to develop a 3D game using Armory as we develop the engine as necessary along the way.


Pros

  • Open source: if you run into a problem you can go and look at the source code and try to fix it.

  • Flexible: Armory doesn’t make a lot of decisions for you that you can’t change or decide to do a different way. If you have your own preferences for a UI library or a way to manage you save data, or things like that, you aren’t really tied to a specific way of doing it. As a community we are trying to develop a standard for things like UI, make sure we have solid physics bindings, and hopefully provide for network gaming eventually, but if you want to do it your own way, there is nothing stopping you from writing it yourself or using a different library to accomplish it.

  • Logic Nodes: Armory has an amazing logic node system that can make programming possible for non-coders like artists. Logic nodes have gotten a lot compliments from the community and are suitable for basic game logic and even some more complicated situations. There are also hopes for improving nodes further; specifically I want to add constructs to help you build larger frameworks without losing readability and structure.

  • Relatively easy to code: The large majority of code that you are going to have to write for your game, if you don’t/can’t use logic nodes for something, will be in Haxe as most of Armory is written in Haxe. There are two advantages to this, speed and ease. You can compile Armory from source in less than 10 seconds, which is much better than a C++ compilation and Haxe doesn’t present the barrier to entry that C++ does from a learning and difficulty perspective. There aren’t two different languages that you need for game development; compared to Godot, it isn’t the case that if you can’t do it in GDScript, you will need to write C++.

  • Super Easy Development Setup: Armory is really easy to get setup with for development of your game and the engine itself, if so desired. If you want to develop the engine, you just need Git, Blender, and VSCode/Kode Studio. No complicated juggle of trying to get the build dependencies. The authors of Kha and Armory have really made this easy to get started with.

  • Blender: It has an amazing Blender integration. There isn’t any separate import/export steps for getting your assets into your game. Armory provides for one of the fastest game prototyping setups ever.

Cons

  • Work-in-progress: Armory is very much under-development and in need of stability. A game engine encompasses an enormous amount of features and effort, and there is a lot to be done. When attempting to create a real-world game, as opposed to an example, you find a lot of holes in implemented features. Still Armory is moving decently fast and more people are getting interested. Also, attempting to create a game and finding those holes in features that you need to finish the game will help Armory development if you report the problems that you run into so that they can be fixed.

  • Unpredictability: My non-programmer brothers have been trying to make an Atari® Asteroids remake, and while they have actually been able to lay down the game functionality using Logic Nodes alone, they have also run into a lot of difficult or mysterious issues that may require a better understanding of Armory’s underlying systems or code to fix. In its current state, making a game will probably involve time spent trying to troubleshoot bugs with the engine as you develop your game.

Note: Keep in mind that my experience with game engines is limited to Godot and Armory. This is because my team is set on an Open Source game engine. You can check out my other post about my experiences with Godot.


Well, that’s my breakdown. I really think that Armory can be AMAZING. I have spent a lot of time contributing to Armory and as I work with the code, I only get more confident that it can and will grow to be a viable and professional game engine by anybody’s reckoning. It will take a lot of work, but me and my team see it as the best chance we have at making professional games with an Open Source engine. Armory will be great, but we also need all the help that we can get. :slight_smile:

5 Likes