Steel is an open source cross-platform rust game engine with the following features:
- It is completely open source, and the engine layer code can be easily modified if there is a need for customization;
- With a visual editor, you can develop games efficiently;
- The game can be compiled into a Windows program or an Android application with one click;
- Using modern rust language, while ensuring code stability and game performance;
- Use widely used rust open source libraries, such as shipyard, glam, egui, vulkano, rapier, etc., to speed up the speed of getting started;
- Using vulkan, an advanced graphics API, can achieve any modern graphics effect;
- It is modular, and complex game modules, such as the physics system, can be easily added to your game as plugins.
Steel game engine is implemented based on ECS architecture. The most basic unit of the game world is the entity. Each entity can have several components. Each component can store custom data structures. In addition to data on the components, there are also uniques that can also store custom data structures. The system reads and writes these data to drive the running of the entire game world.
Currently, the ECS architecture of the Steel game engine is implemented using shipyard. It is recommended that you quickly browse shipyard tutorial before reading this tutorial to familiarize yourself with how to use shipyard.
This tutorial uses the Steel editor to gradually build a simple catching ball game to lead users to learn to use the Steel engine. In this tutorial game, the user controls the board to move left and right to catch the ball that bounces back and forth on the wall. If the ball falls under the board, the game fails. With this simple 2D game you will learn to use the Steel engine:
- Use Steel editor to create projects;
- Add or delete entities and components;
- Game scene building and switching;
- Use physics engine to control object behavior;
- Write systems to implement game logic;
- Write game menu.
- Github:https://github.com/SSSxCCC/steel
- Api documentation:https://docs.rs/steel-engine/latest/steel/