Rust and the Vision of Armory

As far as I plan, yes. Me and my team are seeking to make it as easy to use and get setup with as absolutely possible. When it comes to writing a game, you should be able to write game logic with Rust or Lua to start, but it could be extended to any language, according to the Amethyst scripting RFC. There is also a plan to use Luna for visual scripting in Amethyst. I’ll have to look into it, but we might be able to use that and integrate the visual editor into Blender like Armory’s logic nodes.

I have a team that I work with, but I’m the only one that has the time to write code at the moment. The project is Open Source, and will be dual license under Apache 2.0 and MIT so it would be perfectly possible for you to help out if you wanted to! It would be great to have some help. A lot of our work will probably center around getting certain features into Amethyst so we’ll be able to collaborate with them and have their help with a lot of the stuff that we need to work on such as scripting support.

We’ve tried out Godot before, but there are some reasons we don’t want to use Godot:

  • Performance: This very well may be a non-issue, now, but a while back, while Godot 3 was still under development, we got very low frame rates on very simple games and that worried us quite a bit. If it weren’t for the other reasons not to use Godot, it would be worth looking into the latest version of Godot to see if it was fixed.
  • Modding: I tried to integrate a modding system into Godot, but they didn’t want to do it because of security concerns. Security is a concern, but I believe that the advantages that modding provides is worth it. ( It looks like there might be a way to do this now but I haven’t looked into it yet. )
  • Written in C++: Godot is written in C++ and while we wouldn’t necessarily have to write C++ to write game logic becuase of the GDNative Rust setup, we will very likely end up wanting to contribute to the engine core, and if it is written in C++ that will be a much less approachable experience. Amethyst is written in pure Rust ( with some C++ dependencies, but not a lot ) which grants it all of the safety and ease of development that Rust provides.
  • Amethyst’s ECS: Amethyst is written on an Entity Component System ( ECS ) which is a huge advantage, in our eyes. The ECS design model is amazing for games and allows Amethyst to parallelize much of the game and engine logic with no extra effort. ( A good article on how an ECS helps can be found here )

Amethyst is the most in line with my team’s goals, including the ability to meet or beat the performance of Unreal and Unity so at this point we are confident in that as the direction that we want to go in.

2 Likes