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

Hey guys, hope y’all doing well.

I was looking at some of the tutorials available on the internet showcasing Armory3D and got curious to hear if there’s anyone working on any solid 3D projects other than simply “testing/tutorials”. And if so, would you kindly share some of the pros and cons you’ve encountered along the way?

Thanks in advance. :wink:

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

Yes, we are working on solid 3d game too


Some of the pros are:

  • Cross-platform support: Armory have really good cross-platform support, games can be exported to many platform which make one of the most important point for me, since not many game engine support good cross-platform ability (Cryengine, Xenko, Lumberyard), even though engine like Godot3 have cross-platform support they don’t support Graphics API for particular OS. For example: Godot3 have support for Linux, MacOS, Windows but are constraint to OpenGLES which reduce lot performance, While Armory have support for MacOS, Linux, Windows, etc, but aren’t constraint to single Graphics API i.e., have support for DirectX(WIP), Metal(WIP), Vulkan(WIP), OpenGL, WebGL.

  • Easy-to-use(Programming): Just like @zicklag mentioned in his point Relatively easy to code, This make another import point for me, it is like really easy to code in Haxe, Armory/Iron API is clean to code in, It doesn’t take you much time to learn to code game in armory, unlike Engines like UE4 which use C++ for scripting, scares me from trying, Visual Scripting in UE4 have huge performance downgrade, while Armory don’t have that kind of issue with Logic Nodes as it convert to Haxe code during compile time.

  • Easy-to-use(Editor/Blender): Again as @zicklag mentioned in his point Blender, Armory use Blender as it’s Sandbox/Editor, which is another huge Ups for me.I used Blender for like a year to render some low-poly models, having used to it UI is doing really good work in quick prototyping in Armory. Having to learn new workflow for different engines is really cumbersome for me.

Some of the Cons are:

  • Well, Unstablility: As you guessed, Armory isn’t really mature for complete game(big complete game, but can handle small games like Space Shooter, Ping Pong, you get it right?), because Armory sometime tends to pop it cogwheels out-of-nowhere, but that alright as Armory is only 0.6 and is constantly improving.

Well, these 3 Pros points is enough for me, unstability is the only issue but like mentioned that armory is just 0.6 and is constantly improving, I would not mind bugs. It is good to see where this engine is going and where this engine has potential to go, and it only matter of time Armory climb up the top of Engine food chain.
BTW Armory is already kicking some engine where it hurts:

  • UE4 -> Easy to use(Programming),
  • Godot3 -> Speed,
  • Unity -> Speed, Easy-to-use(both point),
  • CryEnigne/Lumberyard/Xenko -> Cross-platform ability,
  • ALL Engines -> Complete Blender integration( Evil laughter ).

(psst above mentioned points (kicking enignes where it hurts) are IMO don’t @ me :triumph:)
(psst props to devs and it contributors :confetti_ball: )

3 Likes

Hi @zicklag and @BlackGoku36!
Thanks for your replies.

Those were definitely a great breakdown of the engine in hands! It is great to hear some the details both of you mentioned as sometimes the tutorials aren’t clear enough in that sense, therefore me asking about it.

I did come across Godot 3/3.1 too but I haven’t had the chance to properly explore it, apart from minor tests. On 3.1 I was actually surprised that it is a lot lighter on CPU than the previous 3.0. But the thing that put me off was definitely the graphics performance wasn’t so impressive from the get-go like Armory3D. A simple cube/ capsule/cylinder appears pixelated. (Maybe it requires additional tweaking and I don’t know).
And definitely what impresses me about Armory is how everything literally runs within Blender, which is definitely a major plus! So, yeh. I’m also working on a few ideas and soon will share with you guys so that you can give me your opinions on it. :wink:

P.S - Armory 3D is definitely something to look forward to and I’m very excited of where it’s gonna go!

2 Likes

You mean Armory faster than Godot 3 ? Based on what ? LOL

Godot Third person platformer game demo runsfast and smooth in 1080p with high quality rendering and Gi Probe on an old GeForce 960.

About Armory tests :

  • Graphic issues
    Normal maps does not work, strange darker lighting while Godot 3 or UPBGE global lighting looks lot better and more physic accurate.
  • Slow global illumination
    Armory small prototype examples with Voxel GI was already too taxing on GPU to be as usable as Godot 3 Gi probes.

Based on some tests i find Godot 3 really above in terms of rendering and performance.
(But who knows things could change as both are work in progress).

Armory is alpha, so just be aware most important issues will not be resolved before 0.8 or 1.0.
Otherwise you will be constantly complaining all day long loud something is missing or something does not work LOL

But don’t rely on other people opinions, just download Armory, have fun and make your own opinion :wink:

1 Like

Not at all! Godot is faster and I know it from experience. I just mentioned that the display of a simple cube or a capsule in Godot (without any adjustments), when compared to Armory, it displays at lower res. At least for me (well my graphic card is a Intel Iris Pro 1536MB on a Macbook Pro).
I’m in no way insinuating that Armory is better or worse than Godot, it was just something that I noticed from my own experience. :+1:

1 Like

Kha is much faster than Godot for 2D things (we had fun twitter discussions and benchmarks). No idea about 3D though, that’s way too complicated for me - but don’t expect things to be fast just because a lot of people work on it.

2 Likes

Godot is not a fast 2D engine, but good enough with many 2D commercial games.

Like Armory having a fully integrated 3D editor and tools (Blender), Godot has fully integrated 2D editor and tools.
You don’t need to re invent the wheel.

The choice will depend on the user preferences; how many features and tools he is ready to code ?

Someone will need the fastest 2D framework, another will just need good enough speed and will prefer more tools and features out of the box.

There is no universal choice LOL.

For some people Godot is better, for others Ogre 3D is better , for others Armory is better, and that’s their preferences.

Even writing hundred reviews or saying a feature on one is better than in the other you won’t change someone preferences.
What to say ? LOL

There is no universal formula, use with what suits you the best :+1:

I’m trying to make something reliable since the birth of armory.


About pros/cons wrote allready two small posts.
http://spryngaria.com/?p=460
In short:

  • blender, blender, blender. After issues with Import/export, fbx, collada, etc. to other engines its just paradise. That’s the main advantage. Actually no need to describe others. :wink:
  • Haxe. Easy, really working cross-compiler.
  • Qualitative enough for free.
  • Pretty lot of bugs. (But they will be fixed)
  • Still few docs.
    Whatever. Try it.
    “Me love cookies! Me love Armory3d”.
3 Likes

35osr6

1 Like

By that i meant that, armory is already kicking ue4 in term of easy-to-use of scripting.
Here I said:

Ue4’s C++ scare me from trying it because it is hard, hence my point (armory is already kicking ue4 in term of easy-to-use of scripting) :smile:

I don’t use c++ in Unreal because I can’t program with c++ or any other languages I use nodes so I can’t tell whether the programming in UE4 is good or bad.:shushing_face:

I’m developing a game also and I can only say that “Armory is awesome.” Yes, you really can model an effect in Blender and quickly turn it into a game that’s doing the same thing. I haven’t yet run into any of the bugs that others are talking about. (knock on wood …)

Full disclosure: I’m already an experienced Haxe programmer – and old-fart programmer in general – who uses this system for a lot of “other” things in my day-job. (e.g. I haven’t written any JavaScript “by hand” in a very long time now, and I don’t plan to … and neither should you.) :smiley:

So, here’s what I think:

The “one-two-three-four punch” of “Haxe + Kha + Iron + Armory” is basically unbeatable, and technologically unprecedented. (Which means that it is “f#cking brilliant” …) I predict that Armory will become a “disruptive change” for the entire games industry. While no one (of course) is going to “re-tool” a game that they are now selling, to use this “other” system, I predict that all of the now-established players in this game will be forced to respond to it. And they will have a very hard time responding to this “technology stack” because – very-good though their systems may be – they have nothing even remotely like it. “It’s kinda like what the jackals must think when the fire-breathing dragon arrives …”

I am making a football (soccer) game, my first attempt ever in game developing. I am a programmer (mainly C, plain C), and after months trying to decide which engine to pick for my project I discovered Armory and thought this is it!. Although it is WIP, it has everything I was looking for: flexibility, freedom, Haxe (no cross compiling nightmares and huge performance) and a straightforward workflow (from Blender to code and back with no issues).

BTW, I have not encountered any bugs that cannot be solved tweaking or changing some code. For the time being I would recommend Armory only to programmers, as there are some barriers I think cannot be surpassed without coding.
For example, I spawn the 22 players using the same player object, and then I change characteristics for each individual player, like material or maximum speed. Just to change the material I had to make some not basic programming. Not actually difficult, but you need some experience in the field.

TLDR: Haxe, Kha and Iron give you all the power and flexibility you could need. Blender integration is a huge thing for the workflow. You need to code if you aim for something complex.

4 Likes