Armory vs Godot

That’s cool. Armory was recently calibrated so that the Armory render looks nearly identical to the Eevee render in a test scene I was making:

Eevee:

Armory:

The differences I think are mostly due to Armory’s compositor settings which are completely customizable.

Wow Armory looks slightly sharper than Eevee.

Sharper is not necessary a pro.
Sharp shadows for example are easy to create, smooth shadows are more complicated…

1 Like

That can all be tweaked in Armory. You can choose to do soft shadows if you want; there are lots of rendering options.

1 Like

The “ace in the hole” of Armory … is Haxe. This is a “transpiler” (source-code to source-code compiler) technology that generates source-code for the target platform(s), from a single Haxe source-code base, then compiles it using that platform’s native tools. It actually can target “all those machines,” and HTML5, and Flash (producing far better Flash than Adobe ever could), and more.

(I have used it now for many years. Yes, it actually works. I haven’t written JavaScript “by hand” in a very long time now. And, once you try it, neither will you.)

Significantly, Haxe is an industry-proven ecosystem of tools and technologies that goes far beyond just Armory. Haxe is a fully featured, industrial-strength, software development environment. To Haxe, Armory (and Iron, and Kha) is a package.

I frankly think that Armory will transform the development industry, and do so extremely quickly. It is integrated into(!) a very widely-known graphics authoring environment, completely eliminating the “export/import” step and the “impedance mismatch” between that authoring environment and run-time. It, and every tool that it is built upon, is entirely open-source. It’s the tool that we’ve all been waiting for, and somebody finally built it.

IMHO, Unity (and many others who perceive no credible competition now) had better be watching its back, because they could soon be watching Armory’s … ahhh … “bumper stickers” before too long at all. Yes, there is yet much more work to do, but the future direction is quite clear and the advantages are compelling.

3 Likes

@MikeRobinson very well put. I very much agree, and I couldn’t have said it better myself.

1 Like

Although I like Haxe, nowadays the regular over-hyping regularly makes me feel uncomfortable about it.

3 Likes

I think it is very powerful and I very much like it. I don’t think that it completely clobbers everything instantly, but I do agree that I think that Armory can make a big impact on the game development environment and that it has incredible potential when put together in the way that it has been.

All of the technology out there is really great, and it can be difficult with how much cool stuff that is out there to figure out what is the coolest, but I do think that Armory and the tools surrounding it make up on the the best combinations I have seen yet. One of my favorite points about it is how I have options and I don’t feel locked into a specific runtime or deployment strategy. I feel like I can grow the engine and its surrounding tools as I may require during the course of development and experimentation. Its flexibility is one of my favorite points about it.

I saw @lubos adding an entry to the roadmap about researching ECS for Armory 0.7.

For those with more experience with Haxe, Kha & Armory, do you think that ECS and the Data Oriented Programming paradigm could be really implemented in Armory and get the performance gains that you can see on the Unity ECS prototypes?

It isn’t “hype.” Haxe has been around for a number of years, and it is well-proven technology that actually works. I first encountered it when I was forced to fix someone else’s dying Flash project and flatly refused to buy Adobe crap. But then I found what else it could do. :open_mouth:

There are even-more very powerful mobile development tools in the Haxe universe, including OpenFL. All of them need some of your time and attention.

Haxe … it’s real. Really.

It would be actually helpful if you could point out the other side of the story, just to be aware of the lower points of Haxe if you know of any particularly painful or that might pose a problem in the near future.

Can you use Haxe to write normal softwares, or program an Operating System or something like that?

Does haxe have memory safety features, like Rust?

I would love to see corporate products competing against FOSS.

“Hey, first of all, I am not ‘a Haxe fan-boy!’” :smiley:

I think that it is very illustrative to point out the fact that Armory is built upon three distinct levels of open-source software … each of which builds upon itself:

  1. Iron – an abstraction useful to Armory
  2. Kha – an abstraction of graphics hardware
  3. Haxe – a practical implementation of cross-platform programming.

Each of these respective layers of software, “from the bottom up,” are not constructed with consideration of one another, nor were they built by the same individuals. Yet, every project depends on each of them.

I think that, "when you seek common ground," individual platform-specific differences will always potentially be a case that you will be obliged to address … and that you might find that you must step outside of the Armory3D framework and into the world of Haxe in order to accomplish it. (But, always being ever-mindful of whatever else is happening in the greater Haxe world.)

That’s not what Kha is. Also, Haxe is just one of the two cross-compilers it includes. To Kha, Haxe is just a package :smiley:

1 Like

“Eh?” Okay, I’m just going to presume that you meant some attempt at humor. Good evening to you, sir (or madam).

Actually Kha is actually on top of Kore, and connection to Haxe which make it cross-platform, like @RobDangerous said, without Kore Kha would not exist, without Kha armory/iron would not exit(maybe it still will, if lubos use kore), am i right Master Robhi sensei? :smile:

I don’t think that true, AFAIK iron isn’t just ‘abstraction’ that is ‘useful for armory’, rather iron is Core 3D engine and Armory is just Connection between Iron and Blender.

(BTW @RobDangerous is creator of Kha)

1 Like

Thank you for the clarification. I actually meant my description of Iron as merely a colloquial expression, not intended to be “literally true.”

I’m still puzzling-out the many layers of software in this system and I do not yet understand the relationship between Kha and Kore although I now observe a link to that repository within the Github repo for Kha so presumably you are right. Which gives me yet another layer of software to puzzle-out. (I like to read the source-code. I’m weird that way. :wink: )

The description of Iron definitely alludes to the fact that Armory is an interface to the Blender environment, the origin of “logic nodes” and so on, built upon Iron. The structure of this entire system is like unto that of an onion – one layer wraps around another and builds upon it. But, Haxe is the “secret sauce” (already well-proven technology) that makes Armory completely unprecedented and a force to be reckoned with.

Sorry but Kha is not on top of Kore. The whole thing is not a layered structure.

Really? Please explain … in detail …

There’s three sister projects - Kha for Haxe development, Kore for C/C++ development and Krom for JavaScript development. Depending on the target system they do or do not make use of each other. All of them use similar build systems, the same asset compiler and the same shader-crosscompiler (aka the actual magic sauce). The git-submodule dependencies do not reflect the actual usage dependencies (because that would result in the same tools being copied to more than one place).

3 Likes