Game Development with Rust and WebAssembly: Learn how to run Rust on the web while building a game (Paperback)

Smith, Eric

  • 出版商: Packt Publishing
  • 出版日期: 2022-04-29
  • 售價: $1,690
  • 貴賓價: 9.5$1,606
  • 語言: 英文
  • 頁數: 476
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1801070970
  • ISBN-13: 9781801070973
  • 相關分類: Rust 語言WebAssembly
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

商品描述

Write an endless runner game for the web in Rust and test, deploy, and debug your 2D game using the WebAssembly toolchain

Key Features

- Build and deploy an endless runner game for the web from scratch through this helpful guide with key images printed in color
- Learn how to use Rust for web development with WebAssembly
- Explore modern game development and programming techniques to build 2D games using Rust

Book Description

The Rust programming language has held the most-loved technology ranking on Stack Overflow for 6 years running, while JavaScript has been the most-used programming language for 9 years straight as it runs on every web browser. Now, thanks to WebAssembly (or Wasm), you can use the language you love on the platform that's everywhere.

This book is an easy-to-follow reference to help you develop your own games, teaching you all about game development and how to create an endless runner from scratch. You'll begin by drawing simple graphics in the browser window, and then learn how to move the main character across the screen. You'll also create a game loop, a renderer, and more, all written entirely in Rust. After getting simple shapes onto the screen, you'll scale the challenge by adding sprites, sounds, and user input. As you advance, you'll discover how to implement a procedurally generated world. Finally, you'll learn how to keep your Rust code clean and organized so you can continue to implement new features and deploy your app on the web.

By the end of this Rust programming book, you'll build a 2D game in Rust, deploy it to the web, and be confident enough to start building your own games.

What you will learn

- Build and deploy a Rust application to the web using WebAssembly
- Use wasm-bindgen and the Canvas API to draw real-time graphics
- Write a game loop and take keyboard input for dynamic action
- Explore collision detection and create a dynamic character that can jump on and off platforms and fall down holes
- Manage animations using state machines
- Generate levels procedurally for an endless runner
- Load and display sprites and sprite sheets for animations
- Test, refactor, and keep your code clean and maintainable

Who this book is for

This game development book is for developers interested in Rust who want to create and deploy 2D games to the web. Game developers looking to build a game on the web platform using WebAssembly without C++ programming or web developers who want to explore WebAssembly along with JavaScript web will also find this book useful. The book will also help Rust developers who want to move from the server side to the client side by familiarizing them with the WebAssembly toolchain. Basic knowledge of Rust programming is assumed.

商品描述(中文翻譯)

在Rust中為Web開發一個無盡奔跑遊戲,並使用WebAssembly工具鏈測試、部署和調試你的2D遊戲。

主要特點:
- 通過這本有用的指南,從頭開始構建並部署一個無盡奔跑遊戲,並以彩色關鍵圖像印刷出來。
- 學習如何使用Rust進行Web開發與WebAssembly。
- 探索使用Rust構建2D遊戲的現代遊戲開發和編程技術。

書籍描述:
Rust編程語言在Stack Overflow上連續6年排名最受喜愛的技術,而JavaScript則連續9年成為最常用的編程語言,因為它適用於每個Web瀏覽器。現在,由於WebAssembly(或Wasm),你可以在無處不在的平台上使用你喜愛的語言。

這本書是一本易於理解的參考資料,幫助你開發自己的遊戲,教你遊戲開發的所有知識,以及如何從頭開始創建一個無盡奔跑遊戲。你將從在瀏覽器窗口中繪製簡單的圖形開始,然後學習如何在屏幕上移動主角。你還將完全使用Rust編寫遊戲循環、渲染器等。在將簡單的形狀顯示在屏幕上後,你將通過添加精靈、聲音和用戶輸入來提高挑戰。隨著進一步的發展,你將發現如何實現程序生成的世界。最後,你將學習如何保持你的Rust代碼乾淨有序,以便繼續實現新功能並在Web上部署你的應用程序。

通過閱讀這本Rust編程書,你將在Rust中構建一個2D遊戲,將其部署到Web上,並有足夠的信心開始構建自己的遊戲。

你將學到什麼:
- 使用WebAssembly將Rust應用程序部署到Web上。
- 使用wasm-bindgen和Canvas API繪製實時圖形。
- 編寫遊戲循環並接收鍵盤輸入以進行動態操作。
- 探索碰撞檢測,創建可以在平台上跳躍和下落的動態角色。
- 使用狀態機管理動畫。
- 為無盡奔跑遊戲生成程序生成的關卡。
- 加載和顯示精靈和精靈表以進行動畫。
- 測試、重構並保持代碼乾淨和可維護。

適合對Rust感興趣並希望在Web上創建和部署2D遊戲的開發人員。希望使用WebAssembly而不需要C++編程的遊戲開發人員,或者希望探索WebAssembly和JavaScript Web的Web開發人員也會發現這本書很有用。這本書還將幫助希望從服務器端轉向客戶端的Rust開發人員,使他們熟悉WebAssembly工具鏈。假設讀者具有基本的Rust編程知識。

作者簡介

Eric Smith is a software crafter with over 20 years of software development experience. Since 2005, he's worked at 8th Light, where he consults for companies big and small by delivering software, mentoring developers, and coaching teams. He's a frequent speaker at conferences speaking on topics such as educating developers and test-driven development, and holds a master's degree in video game development from DePaul University. Eric wrote much of the code for this book live on his Twitch stream. When he's not at the computer, you can find Eric running obstacle races and traveling with his family.

作者簡介(中文翻譯)

Eric Smith是一位擁有超過20年軟體開發經驗的軟體工匠。自2005年以來,他在8th Light工作,為大大小小的公司提供軟體開發、開發者指導和團隊培訓的諮詢服務。他經常在會議上演講,主題包括開發者教育和測試驅動開發,並且擁有德保羅大學的視頻遊戲開發碩士學位。Eric在他的Twitch直播中現場編寫了本書的大部分程式碼。當他不在電腦前時,你可以在障礙賽中找到Eric,他也喜歡和家人一起旅行。

目錄大綱

1. Hello WebAssembly
2. Drawing Sprites
3. Creating a Game Loop
4. Managing Animations with State Machines
5. Collision Detection
6. Creating an Endless Runner
7. Sound Effects and Music
8. Adding a UI
9. Testing, Debugging, and Performance
10. Continuous Deployment
11. Further Resources and What's Next?

目錄大綱(中文翻譯)

1. 嗨,WebAssembly
2. 繪製精靈
3. 建立遊戲迴圈
4. 使用狀態機管理動畫
5. 碰撞偵測
6. 建立無盡奔跑遊戲
7. 音效和音樂
8. 添加使用者介面
9. 測試、除錯和效能優化
10. 持續部署
11. 更多資源和下一步是什麼?