Практический Rust [Herbert Wolverson | The Pragmatic Programmers]
Hands-on Rust
Effective Learning through 2D Game Development and Play by Herbert Wolverson
Язык программирование: Rust
Об авторе
Герберт Волверсон работал программистом и разработчиком инди-игр с конца 1990-х годов. Он обучал программированию и ИТ-навыкам на разных уровнях, участвует в нескольких проектах с открытым исходным кодом и активно участвует в разработке игр.
Описание
В каждой главе этой книги представлены практические практические проекты, которые проведут вас по пути от «Hello, World» до создания полноценной игры про подземелья. Начните с настройки Rust и освоитесь в своей среде разработки. Изучите основы языка на практических примерах, создав свою собственную версию Flappy Bird. Узнайте, что нужно для случайного создания подземелий и заселения их монстрами, когда вы создадите полную игру с обходом подземелий. Запускайте игровые системы одновременно для обеспечения высокой производительности и скорости игры, сохраняя при этом возможность отладки вашей программы. Раскройте свой творческий потенциал с помощью волшебных предметов, более сильных монстров и замысловатого дизайна подземелий. Добавьте многослойную графику и сделайте свою игру стильной.
Скрытое содержимое.
Hands-on Rust
Effective Learning through 2D Game Development and Play by Herbert Wolverson
Язык программирование: Rust
Об авторе
Герберт Волверсон работал программистом и разработчиком инди-игр с конца 1990-х годов. Он обучал программированию и ИТ-навыкам на разных уровнях, участвует в нескольких проектах с открытым исходным кодом и активно участвует в разработке игр.
Описание
В каждой главе этой книги представлены практические практические проекты, которые проведут вас по пути от «Hello, World» до создания полноценной игры про подземелья. Начните с настройки Rust и освоитесь в своей среде разработки. Изучите основы языка на практических примерах, создав свою собственную версию Flappy Bird. Узнайте, что нужно для случайного создания подземелий и заселения их монстрами, когда вы создадите полную игру с обходом подземелий. Запускайте игровые системы одновременно для обеспечения высокой производительности и скорости игры, сохраняя при этом возможность отладки вашей программы. Раскройте свой творческий потенциал с помощью волшебных предметов, более сильных монстров и замысловатого дизайна подземелий. Добавьте многослойную графику и сделайте свою игру стильной.
Preface
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
Capturing User Input
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
Adding Headings to Your Design Document
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
Graphics, Camera, Action
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
Making Monsters Wander Randomly
Moving Entites in a Turn-Based Game
Sending Messages of Intent
Wrap-Up
Health and Melee Combat
Giving Entities Hit Points
Adding a Heads-up Display
Implementing 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
Defining an Entity’s Field of View
Limiting Monsters’ Fields of View
Adding Spatial Memory
Wrap-Up
More Interesting Dungeons
Creating Traits
Creating Cellular Automata Maps
Creating Drunkard’s Walk Maps
Prefabricating Map Sections
Wrap-Up
Map Themes
Theming Your Dungeon
Rendering with Themes
Unleashing Your Imagination
Wrap-Up
Inventory and Power-Ups excerpt
Designing Items
Managing Inventory
Wrap-Up
Deeper Dungeons
Adding Stairs to the Map
Tracking Game Level
Displaying the Current Level on the HUD
Wrap-Up
Combat Systems and Loot
Designing Data-Driven Dungeons
Extending the Combat System
Adding More Swords
Wrap-Up
Final Steps and Finishing Touches
Packaging Your Game for Distribution
Making the Dungeon Crawler Your Own
Additional Content
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
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
Capturing User Input
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
Adding Headings to Your Design Document
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
Graphics, Camera, Action
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
Making Monsters Wander Randomly
Moving Entites in a Turn-Based Game
Sending Messages of Intent
Wrap-Up
Health and Melee Combat
Giving Entities Hit Points
Adding a Heads-up Display
Implementing 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
Defining an Entity’s Field of View
Limiting Monsters’ Fields of View
Adding Spatial Memory
Wrap-Up
More Interesting Dungeons
Creating Traits
Creating Cellular Automata Maps
Creating Drunkard’s Walk Maps
Prefabricating Map Sections
Wrap-Up
Map Themes
Theming Your Dungeon
Rendering with Themes
Unleashing Your Imagination
Wrap-Up
Inventory and Power-Ups excerpt
Designing Items
Managing Inventory
Wrap-Up
Deeper Dungeons
Adding Stairs to the Map
Tracking Game Level
Displaying the Current Level on the HUD
Wrap-Up
Combat Systems and Loot
Designing Data-Driven Dungeons
Extending the Combat System
Adding More Swords
Wrap-Up
Final Steps and Finishing Touches
Packaging Your Game for Distribution
Making the Dungeon Crawler Your Own
Additional Content
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
https://pragprog.com/titles/hwrust/hands-on-rust/