游戏引擎

Game engine Bevy

Games are a huge part of our culture and humanity is investing millions of hours into the development of games.

Bevy : data-driven game engine built-in Rust.

  • Capable: Offer a complete 2D and 3D feature set
  • Simple: Easy for newbies to pick up, but infinitely flexible for power users
  • Data Focused: Data-oriented architecture using the Entity Component System paradigm(shortened to ECS)
  • Modular: Use only what you need. Replace what you don't like
  • Fast: App logic should run quickly, and when possible, in parallel
  • Productive: Changes should compile quickly ... waiting isn't fun

Bevy - Introduction

Bevy - Introducing Bevy 0.1

ECS: Entities, Components, and Systems.

Entities are unique "things" that are assigned groups of Components, which are then processed using Systems.

epresent globally unique data using Resources.

Bevy - Assets

bevy/examples at latest · bevyengine/bevy

Bevy - A data-driven game engine built in Rust

RG3D

Fyrox

GODOT

Introduction

godot-rust

ArtStation - Making Of Minimoys Procedural Wall

Download the latest indie games

Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

Homegrown rendering with Rust

OpenGL

Basics - Learn OpenGL Rust

Rust-and-opengl-lessons - Collection of example code for learning OpenGL in Rust | RustRepo

2D Level Editor

LDtk

GitHub - katharostech/bevy_retrograde: Plugin pack for making 2D games with Bevy

Introduction — Tiled 1.8.2 documentation

Tales of Yore

Fyrox : feature-rich, general purpose game engine

**classic OOP:**complex objects in the engine can be constructed using simpler objects.

  • Base - a node that stores hierarchical information (a handle to the parent node and a set of handles to children nodes), local and global transform, name, tag, lifetime, etc. It has self-describing name - it is used as a base node for every other scene node (via composition).
  • Mesh - a node that represents a 3D model. This one of the most commonly used nodes in almost every game. Meshes could be easily created either programmatically, or be made in some 3D modelling software (like Blender) and loaded in your scene.
  • Light - a node that represents a light source. There are three types of light sources:
    • Directional - a light source that does not have position, only direction. The closest real-world example is our Sun.
    • Point - a light source that emits light in every direction. Real-world example: light bulb.
    • Spot - a light source that emits light in a particular direction with a cone-like shape. Real-world example: flashlight.
  • Camera - a node that allows you to see the world. You must have at least one camera in your scene to be able to see anything.
  • Sprite - a node that represents a quad that always faced towards a camera. It can have a texture, size, it also can be rotated around the "look" axis.
  • Particle system - a node that allows you to build visual effects using a huge set of small particles, it can be used to create smoke, sparks, blood splatters, etc. effects.
  • Terrain - a node that allows you to create complex landscapes with minimal effort.
  • Decal - a node that paints on other nodes using a texture. It is used to simulate cracks in concrete walls, damaged parts of the road, blood splatters, bullet holes, etc.
  • Rigid Body (2D) - a physical entity that is responsible for dynamic of the rigid. There is a special variant for 2D - RigidBody2D.
  • Collider (2D) - a physical shape for a rigid body, it is responsible for contact manifold generation, without it any rigid body will not participate in simulation correctly, so every rigid body must have at least one collider. There is a special variant for 2D - Collider2D.
  • Joint (2D) - a physical entity that restricts motion between two rigid bodies, it has various amounts of degrees of freedom depending on the type of the joint. There is a special variant for 2D - Joint2D.
  • Rectangle - a simple rectangle mesh that can have a texture and a color, it is a very simple version of a Mesh node, yet it uses very optimized renderer, that allows you to render dozens of rectangles simultaneously. This node is intended to be used for 2D games only.

fyrox - Fyrox Cheat Book