2

Hands-on Rust

 3 years ago
source link: https://pragprog.com/titles/hwrust/hands-on-rust/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Hands-on Rust

Effective Learning through 2D Game Development and Play

by Herbert Wolverson

Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters—and what better way to learn than by making games. Each chapter in this book presents hands-on, practical projects ranging from “Hello, World” to building a full dungeon crawler game. With this book, you’ll learn game development skills applicable to other engines, including Unity and Unreal.

Printed in full color.

eBook Formats:

  • PDF for desktop/tablets

  • epub for Apple Books, e-readers

  • mobi for Kindle readers

Get all eBook formats here for $25.95 (USD)

Add to Cart we accept visa, mastercard, amex, discover, paypal

This book is in Beta, final version expected Jun 2021

Beta Books: What do I get?


Rust is an exciting programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters. With Rust, you have a shiny new playground where your game ideas can flourish.

Each chapter in this book presents hands-on, practical projects that take you on a journey from “Hello, World” to building a full dungeon crawler game. Start by setting up Rust and getting comfortable with your development environment. Learn the language basics with practical examples as you make your own version of Flappy Bird. Discover what it takes to randomly generate dungeons and populate them with monsters as you build a complete dungeon crawl game. Run game systems concurrently for high-performance and fast game-play, while retaining the ability to debug your program. Unleash your creativity with magical items, tougher monsters, and intricate dungeon design. Add layered graphics and polish your game with style.

What You Need

  • A computer running Windows 10, Linux, or Mac OS X.
  • A text editor, such as Visual Studio Code.
  • A video card and drivers capable of running OpenGL 3.2.

Resources

Releases:

  • B3.0 2020/12/08
  • B2.0 2020/11/24
  • B1.0 2020/11/10

Contents & Extracts

Note: Contents and extracts of beta books will change as the book is developed.

  • Getting Started with Rust
    • Rust and Your Development Environment
      • Installing Rust
      • Installing and Configuring Your Development Environment
      • Managing Projects with Cargo
      • Creating Your First Rust Program
      • Using Cargo to Build, Check, or Run your Project
      • Formatting Your Code
      • Finding Common Mistakes with Clippy
      • Package Management with Cargo
      • Wrap Up
    • First Steps With Rust
      • Creating a New Project
      • Moving Input to a Function
      • Trimming Input
      • Storing Strings in an Array
      • Grouping Data with Structs
      • Storing a Variable Amount of Data with Vectors
      • Categorizing with Enumerations
      • Wrap Up
    • Build Your First Game with Rust
      • Understanding the Game Loop
      • Creating Different Game Modes
      • Adding the Player
      • Creating Obstacles and Keeping Score
      • Wrap Up
  • Building a Dungeon Crawler
    • Design a Dungeon Crawler
      • Design Document Headings
      • Wrap Up
    • Build a Dungeon Crawler
      • Dividing Your Code Into Modules
      • Organizing Your Imports with a Prelude
      • Storing the Dungeon Map
      • Adding the Adventurer
      • Building A Dungeon
      • Wrap Up
    • Compose Dungeon Denizens
      • Understanding Terminology
      • Composing Entities
      • Installing and Using Legion
      • Composing the Player
      • Managing Complexity with Systems
      • Adding Monsters
      • Collision Detection
      • Wrap Up
    • Take Turns with the Monsters
      • Randomly Wandering Monsters
      • Turn-Based Movement
      • Messages of Intent
      • Wrap Up
    • Health and Melee Combat
      • Giving Entities Hit Points
      • Add a Heads-Up Display
      • Combat
      • Waiting as a Strategy
      • Wrap Up
    • Victory and Defeat
      • Building a Smarter Monster
      • Implementing a Game Over Screen
      • Finding the Amulet of Yala
      • Wrap Up
    • Fields of View
      • What Can an Entity See?
      • Monstrous Eyesight
      • Spatial Memory
      • Wrap Up
    • More Interesting Dungeons
      • Creating Traits
      • Cellular Automata Maps
      • Drunkard’s Walk Maps
      • Prefabricated Map Sections
      • Wrap Up
    • Map Themes
      • Theming Your Dungeon
      • Rendering With Themes
      • Unleash your Imagination
      • Wrap-Up
    • Inventory and Power Ups

      • Designing Items
      • Inventory Management
      • Wrap Up
    • Deeper Dungeons
      • Add Stairs to the Map
      • Tracking Game Level
      • Display the Current Level on the HUD
      • Wrap Up
    • Combat Systems and Loot
      • Data-Driven Dungeons
      • Extending the Combat System
      • Weapons
      • Wrap Up
    • Final Steps and Finishing Touches
      • Keeping Score
      • Using the High-Score Table
      • Adding Graphical Menus
      • Packaging Your Game
      • Wrap Up
  • Additional Resources
    • ASCII/Codepage 437 Chart
    • Short Game Design Documents
      • Make a Note of Every Idea
      • Why You Need a Design Document
      • Design Document Headings
      • You Aren’t Gonna Need It
      • Wrap Up
    • Rust Cheat Sheet

Author

Herbert Wolverson has worked as a programmer and an indie game developer since the late 1990s. He’s taught programming and IT skills at a variety of levels, contributes to multiple Open Source projects, and is active in the game development scene.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK