Beta 3 of Hands-on Rust is now available

Beta 3 includes the following new chapters: Fields of View, More Interesting Dungeons, Map Themes. Learn to consume and create traits, and procedurally generate dungeons for your adventurer to explore. It also includes a lot of errata.

Field-of-view makes the player - and the monsters - less omniscient. The player is no longer aware of exactly what threats lurk around the next corner. Applying the same system to monsters both demonstrates the power of an Entity Component System design and makes the game more realistic.

More Interesting Dungeons takes a trip into procedural generation. If you’re interested in this topic, check out my Roguelike Celebration 2020 talk.

Theming your map shows how a coat of paint (and some new pixel art) can change the flavor of your game - making it more interesting for the player, and giving you an opportunity to make the game your own.

From a Rust perspective, you will learn to consume and create your own traits.

New chapters added:

  • Fields of View
  • More Interesting Dungeons
  • Map Themes

This release also includes the following changes:

  • Corrected a spelling error
  • Corrected an apostrophe
  • Added code to the book to update the restart function
  • Corrected a few instances of Read<x> appearing instead of &x. The former is syntax from an older version of Legion.
  • Added a step to creating your first Rust program
  • Corrected an extraneous “to”
  • Updated the tick function to clear all map layers.
  • All instances of RGB::named(COLOR) are now just COLOR.
  • Adjusted the code to better match subsequent examples
  • Added a note to include Camera in your State
  • Clean up the map_idx instructions to show where the code goes
  • Corrected the function name referenced
  • Added comments to the stub tick functions
  • Correct “snake-case” to the more descriptive snake_case
  • Added an instruction to include a #[read_component(Player)]
  • Expanded code example to include the query it uses
  • Added a section reminding you to update your state match function
  • Replace “press any key” with “press 1” to avoid queued key-presses zipping past the game over screens.

Get the book here