Arete Engine v0.1
After many, many months of hard work, we are super excited to announce the release of Arete Engine v0.1!
Space Shoot'em up Demo
Based off of Galaga / Space Invaders. Our space shoot'em up demo is running on an M1 Pro. All entities (including particles) are processed on the CPU, with CPU culling.
Check out a playable demo (Desktop or iOS) and game code.
Arete Engine is a novel game engine that leverages the latest game engine innovations to enable entirely new possibilities in game development. Arete is an ECS, Rust-based 🦀 game engine with a unique unified-memory architecture built from scratch.
Our unified-memory architecture changes how games perform on unified-memory devices including mobile phones, VR headsets, consoles, handheld devices, laptops, and more. This results in increased performance for even performance-limited hardware such as phones, AR/VR, and consoles. Through additional innovations, we have increased performance for discrete-memory devices as well (eg. high-end PCs).
The key has been combining uncompromising performance with a simple API, allowing developers to easily take advantage of our complex unified-memory architecture.
Discord Arete Engine Discord (best place to learn about Arete!)
GitHub download Download Arete Engine
GitHub wiki Arete Engine Wiki
Roadmap Arete Public Roadmap
Website Arete Website
ARETE ENGINE IS EARLY-STAGE. Currently, our engine consists of primarily a working unified-memory runtime, and we are actively developing additional features expected of modern game engines. Please see our roadmap for more information.
Arete is a completely novel approach to game engines and applies many innovative techniques not fully explored in other game engines. Expect bugs. Expect development gaps and instability. That being said, we are always here to help on our Discord!
What makes Arete different?
Arete is all about pushing the boundaries of what it means to be a game engine. See more information on performance below:
Download Arete Engine
Why is performance important?
Customers will soon expect high-level performance as the new norm, even on performance-critical hardware (eg. mobile, console, VR). Data-oriented design (eg. ECS) is the inevitable future of games, and our unified-memory architecture is data-oriented to its core. There are 3 things we prioritize with Arete:
Automatically handling, as much as possible, performance, multithreading, and platform-specific optimization.
Increasing performance to enable new features, new types of cutting-edge games, and games accessible by a much wider audience.
Ergonomics and ease-of-use.
We envision a day where you can simply build the game you want, for the audience you want 🙂.
So what else makes Arete different?
ECS: Coupled ECS + rendering that is faster than any other engine.
Unified-Memory: First-class support for unified memory platforms like Mobile, VR, and eventually Console.
Modular: All modules built for Arete, whether proprietary gameplay modules or shared open-source modules like physics engines, take advantage of Arete’s powerful unified-memory architecture.
Live modules: Modules may be loaded at runtime, enabling simple live-service updates and modding out of the box.
Multithreading: Write simple code which automatically executes across all cores.
Programming languages: Arete is built on Rust, but developers may write modules in any language with C ABI compatibility. Current toolchains support Rust and C++, and C# support is in development.
Load balancing: CPU and GPU task execution is balanced at runtime.
Full-frame task graphs: Unified game and render graphs to visualize all frame task dependencies, from gameplay systems to render passes.
Cross-compiled CPU/GPU code: Code can be written once and compiled for both CPU and GPU processing, fully taking advantage of load balancing.
Asynchronous AI API: Solves frame stuttering for intensive AI processing.
Complex Intelligent Agents: Enable true intelligent agents that are environment-based, not just chatbots.
Web: Support for web platforms using Wasm modules and WebGPU.
Console/Steam Deck support: Add backends supporting additional platforms which benefit from our unified-memory architecture.
We are constantly updating Arete features and explanations including Getting Started and technical documentation on our GitHub wiki. We also try to answer any questions on our Discord. Let us help you get started!
How do I get started?
You can get started via Rust or C++ on our GitHub wiki:
You can also find examples on our GitHub:
What started as a project out of Stanford two years ago is now a new type of unified-memory game engine.
Ever heard of Roller Coaster Tycoon? We were inspired by the craziness of how low-level and close to the hardware the game was. We wanted to build a theme park sim with hundreds of thousands of guests, real ride systems and physics, VR, and modern graphical fidelity. When we hit the wall of what could be built with existing tools, Arete was born.
Our engine is free to use and get started for almost anyone. It can be used for experimentation, learning, or personal projects.
While we have an ambitious goal to provide a serious commercial alternative to other game engines, we are aware of the risks of using a new technology and do not anticipate generating significant revenue early on. As such, we have a very simple royalty license - 1% royalty due only past $1million USD in revenue. No need to credit us, just get started and build.
For larger commercial projects, we also provide options for custom licenses and the following paid support options on a per-studio basis:
Source Code Access and Support
Dedicated Integration Support
Dedicated Cross-Platform Support
Game Engine Porting
Open Source (or custom) Modules
For now, we have made the careful decision to not make our engine open-source, and only provide our source code to game studios and serious development partners.
That being said, Arete is very modular. We allow developers to build their own modules, which can be open source or proprietary. Modules can be built for systems such as physics, sound, and networking while still taking advantage of Arete’s powerful game engine architecture. We also plan to develop our own open-source modules for the community.
Features, features, features! In addition to several core features expected of most general-purpose game engines, we have already begun developing several advanced features and added them to our public roadmap.
The best place to learn about Arete is through Discord. We have an active Discord community where we discuss Arete, ECS, game engine innovation, and everything games.
We also believe our community goes beyond Arete and involves everyone who is pushing the boundaries of game development. There are some amazing game engines and runtimes that game developers should consider when building a new game. Projects that deserve more attention are:
Bevy - Simple, data-oriented Rust-based game engine
Flecs - Fast, lightweight ECS runtime for C & C++
Ambient.run - Rust-based multiplayer runtime
These are all ECS-based game engines and runtimes that are free and open-source.
There is much, much more we want to share about Arete. Stay tuned for frequent updates and developments. Here are some good resources about Arete Engine:
FAQ - Basic answers to questions including General, Features, License, Community, Hiring, etc.
GitHub Wiki - Getting Started, Features, Future Features