Armory questions

I wanted to ask you a few questions and suggestions on Armory.

Are users able to use C++ and attach their scripts to specifc models (like how in Unity users can attach C# scripts to specific models)?
Is it in its stable form?
Will it support the new Eevee Render?
Is it possible to make the y axis the vertical axis rather than to make the z - axis the vertical axis or at least give users the option to change that?
Might I suggest to make Armory use better default user interface?

-Armory use Kha framework which is using haxe for coding, there is also logic nodes . The best part is it will output or spit out native c++ projects for us to compile in visual studio, android studio n etc. We create a “trait” and attach it to the object or scene.
-In my opinion it is not production ready yet but it seems really close to be one
-There is older experimental version on that uses Blender 2.8 eevee (I dont use that)
-Not really sure if you can change the axis since that is how blender works
-It uses blender as default interface, not sure if @lubos will change it.

@tumira Hi, So would it be easy to just simply use C++ and attach it to an object and it will be converted to something Armory will understand and I can easily attach C++ script to the object just like how I can attach a C# script to an object in Unity?

Isn’t it possible to modify the Blender code and to give an additional option to change from z axis representing the vertical line to the y axis instead?

In my opinion to make it more unique, make it have a very different interface (perhaps a dark flat material design will go well, after all you want to promote this game engine)

May I know when is Armory stable going to be released? Is this project active or is the development process really slow?

-You need to ask lubos why he prefer or decided to use haxe or kha for Armory. I’m sure he did an intensive study before decided to use kha

-Not sure If it is really that easy to just change from right handed to left handed in blender. However you can change the gravity to effect which axis and make adjustment on the camera positions.

-If you talking about color themes, you can customize it at blender ui settings

-That all depends on @lubos

@tumira -You need to ask lubos why he prefer or decided to use haxe or kha for Armory. I’m sure he did an intensive study before decided to use kha

I mean like are you able to use C++ at all like how you can use C# in Unity? Since you mentioned The best part is it will output or spit out native c++ projects What does this mean exactly?

It uses Haxe language for coding. When published, it will translate and output to C++ projects and we need to compile it in Visual Studio, android studio and etc to get the latest binary, or apk or etc.

Not sure how to explain it better. Maybe you can see example workflow here

In short, In unity we create C# script and attach to gameobject, In Armory we create traits which is in Haxe languange to the objects.

Oh ok I get you now. Is Haxe very similar to C++ in terms of syntax wise etc? Is Haxe a unique language only to Armory?

What physics does Armory use?

Does Armory use the cycles Render by any chance?

You mentioned that In Armory we create traits which is in Haxe languange to the objects Is that better compared to Unity’s way?

-Haxe syntax is similar style to C++,C, Java. It is static typed language. Haxe has been use by other game engines also.


-It is PBR shaded and tries to mimic Cycles Render. It uses Cycles node for material and etc

-I think both style is almost similar.

Oh ok cool and is Haxe as low level as C++ and is it as fast as C++ (sorry I am asking a lot of questions I just want to pick the right game engine for my game development)?

Since it is going to produce or publish to C++ projects files or solutions. You don’t really need to worried about Haxe vs C++ speed right? Since in the end it is going to be C++.

For HTML5 projects, it will produce Javascript.

There are ways to use C++, java, javascript library with haxe. But it is too advance for me. I hope @lubos or @guzzard can make a tutorial on this or maybe added to the manual ? :slight_smile:

@Joe_Smith Just to let you know, I’m still learning this Armory/Haxe/Kha thing. But so far I’m having fun with it.

Cool two last questions,

Is Haxe as low level as C++? And where can I exactly download Armory as I would love to try it out? And are there tutorials on how to use this game engien?

I’m not sure if haxe is as low level as C++. Actually I thought C is the lower level language and C++ is the high level language ?

Armory is currently 50euro at or via patreon. However Kha is free and you can download and test it

Yes you are right C is even lower level language compared to C++. But C++ is known to be a low level language compared to other languages such as C# Java etc. Is Armory going to be free? And do you know an approximate release date as to when Armory is going to be released?

If not mistaken, Armory is planned to be free and open source. You are asking release date of Armory3D version 1.0 ? Only lubos knows.

Oh ok thank you for your help :slight_smile:

@Joe_Smith I think you already have most of the answers thanks to @tumira.

If you want to know more about Haxe you can read about it here.

It’s possible to write c++ or javascript code mixed with the haxe code, however I would recommend to write only haxe code as much as possible since this is anyway compiled into c++/javascript depending on build target. It’s also possible to use both external c++ and javascript libraries and plug into your project. For example Armory uses ammo.js (bullet converted into javascript using emscripten) for physics in javascript, and standard c++ bullet for c++ targets.

Examples of c++ code mixed with haxe:

Apart from scripts/traits it’s also possible to use nodes in Armory, similar to blueprints in UE4.

Regarding theme; you can use any Blender theme since the editor used for Armory is Blender.

If you think Armory is an interesting project and want to support the development you can become a patreon. You get access to a pre-built custom Blender+Armory package for just $10/month. All the source code is also available on github if you don’t want to support the project.

1 Like

So we can use external C++, does that mean we can attach the C++ script to the object, right? Is Haxe as low level as C++?

Do you by any chance know approximately when Armory is going to be released?

There is no material theme for Blender and I was wondering if material theme can be implemented to Armory and it is enabled by default to give it a different feel from blender while making it look and feel more modern and powerful?

I really wish I could support Armory but the issue is that since I am a college student who doesn’t even have a job I don’t really have the cash to support this project, sorry about that my man :frowning:

From that I linked in my previous post: “The Haxe programming language is a high level strictly typed programming language which is used by the Haxe compiler to produce cross-platform native code.”

You write code in haxe, that code is then compiled into c++ or javascript, for native targets (linux, windows, macos etc) c++ is compiled into machine code for the specific target. So the answer is no, since haxe code never runs directly on any system.

For more information on how haxe works please read on, all the information is available there.

You can attach a haxe script on an object, but write all the code in c++, however I would never recommend it since it would not be possible to export that project directly to web/javascript. You would need to write both c++ and javascript manually in that case, instead of just writing the script in haxe, and let the haxe compiler convert the code based on target.

If someone makes a nice theme for Blender/Armory I’m sure @lubos would consider including it.

@lubos plan is to release Armory v1.0 sometime during 2018… most likely the end of 2018 is my guess.

$10 is one lunch or 2-3 cups of coffee where I live. We all have our priorities I guess.

I am probably never going to make a web game. Only games for Windows, Android, iOS, GNU/Linux, OS X and maybe BSD. If I wrote everything in C++, would my game be compatible across all the platforms that I have mentioned?

Is it possible to do a one time donation since I might do it?

Wow I thought Armory was nearly completed? So is Armory development very slow?

If you write the code in haxe, it will be converted from haxe to C++ to native machine code which is compatible with all the systems you mentioned except BSD (see supported platforms here). You choose the target when exporting, and the compiled binary will run on that specific platform.

If you choose to write the C++ code yourself you will have to use macros (#ifdef, #endif) whenever calling platform specific functions. Only generic platform independent functions would work across all those operating systems you mentioned.

Haxe and Kha takes care of all the platform specific stuff for you automatically during compilation if you write in haxe.

I know @lubos appreciate one-time donations as well. You can donate here or become a patreon for as long as you wish.

Armory has been in development for approx 3 years more or less full-time. Considering 99.9% of the development has been done by @lubos alone I think the development is moving forward at an incredible speed. Could you do it faster? If so please consider contributing code via github! I know for sure that I would never have gotten this far in that time…