Arsenal is a new, work-in-progress Blender game engine being developed by Katharos Technology. Built on top of the Amethyst game engine, Arsenal seeks to bring together the power of Blender, Amethyst, and the Rust game development community to provide a powerful and easy-to-use game engine.

As you may have already seen, we at Katharos Technology have been meaning to use the Armory3D game engine for our games for a while. We have spent a lot of time contributing to the engine and we really love the way that it works. Its Blender UI has spoiled us for everything else and its logic nodes have enabled even non-technical users to start making their own games.

Unfortunately, we recently discovered some concerns about the performance of Armory and after discussion and investigation we decided that Armory was likely not going to be suitable for designing the very large games that we wanted to be able to produce in the future. This led us to look into what other game engines were out there, particularly ones that were written in a high performance programming language called Rust.

When searching for Rust game engines, Piston and Amethyst are at the top of the list as far as how popular they are. Amethyst, though, stood out to us because of its foundation on top of an Entity Component System. The entity component system, or ECS, design pattern is a powerful way of organizing your game logic in a way that is easy to think about and efficient for the computer to process. After analyzing the advantages of using an ECS, we didn't want to write a game without it.

Amethyst, though, was lacking our favorite thing about Armory: the Blender integration. In light of that, we decided that we were going to build our own game engine on top of Amethyst, and Blender. That engine is Arsenal.

Arsenal will provide a Blender integration and logic node system that is inspired by Armory and will use Amethyst to power the game. Instead of writing our own engine from scratch, we get to utilize the massive amount of work already done by the Amethyst community. We will be contributing to Amethyst as needed and developing Arsenal to craft our user-experience.

Designing Arsenal is going to be a big challenge and the decision to make our own engine was not made lightly: we have always strived to use existing tools to accomplish what we need so that we didn't waste time making our own. Still, more important that being able to use what exists was being able to satisfy our requirements for our games and how we develop them. Our requirements are strict and we have not found anything else that meets them. Designing our own engine, while it will doubtless be a lot of work, will be worth it if it means being able to make the kinds of games that we want to make and provide the value that we want to provide to our gamers.

Arsenal is currently being developed on GitHub and is completely Open Source. We recently released the very first version of Arsenal, which represents the initial proof-of-concept for the engine. The Getting Started guide will tell you how you can install Arsenal and run your first "game". We have also documented what drives the vision of Arsenal so you can understand the drive behind our development effort.

With Arsenal we hope to bring the ability to make video games to practically anybody without limiting the engine's capabilities to anything short of your wildest dreams!