Introduction to Compose Dungeon Denizens

Get a brief introduction to what we’ll learn in this chapter.

We'll cover the following

In the previous chapter, we created the beginnings of a dungeon crawler. We added a random map, an adventurer to roam the dungeon, and collision detection to prevent the adventurer from walking through walls.

We also took our first steps into programmer art and layered graphics.

What will we learn?

In this chapter, we’ll learn a popular approach to managing the game state of the data representing our game’s world simulation.

Games can have a lot of data because every monster, every item, and every little graphical effect needs to be stored somewhere in your computer’s memory. In the past, games employed a variety of techniques to handle the resulting combinatorial explosion of data. The Entity Component System (ECS) architecture is an increasingly popular approach to managing game data.

It efficiently handles large amounts of data and is becoming the standard for large engines such as Unity and Godot (Unreal Engine uses a similar system with components but without separate systems). Rust is a great fit for ECS-driven game development, and you can find several great ECS systems available in the crates system. For this course, we’ll use Legion, an open-source, high-performance ECS included for free in the Rust crates library.

Get hands-on with 1200+ tech skills courses.