Developing Games With Ruby

Developing Games With Ruby

Tomas Varaneckas
Buy on Leanpub

Table of Contents

Developing Games With Ruby

  • A Boy Who Wanted To Create Worlds
  • Why Ruby?
  • What You Should Know Before Reading This Book
  • What Are We Going To Build?
    • Graphics
    • Game Development Library
    • Theme And Mechanics
  • Preparing The Tools
    • Getting Gosu to run on Mac Os X
  • Getting The Sample Code
  • Other Tools
  • Gosu Basics
    • Hello World
    • Screen Coordinates And Depth
    • Main Loop
    • Moving Things With Keyboard
    • Images And Animation
    • Music And Sound
  • Warming Up
    • Using Tilesets
    • Integrating With Texture Packer
    • Combining Tiles Into A Map
    • Using Tiled To Create Maps
    • Loading Tiled Maps With Gosu
    • Generating Random Map With Perlin Noise
    • Player Movement With Keyboard And Mouse
    • Game Coordinate System
  • Prototyping The Game
    • Switching Between Game States
    • Implementing Menu State
    • Implementing Play State
    • Implementing World Map
    • Implementing Floating Camera
    • Implementing The Tank
    • Implementing Bullets And Explosions
    • Running The Prototype
  • Optimizing Game Performance
    • Profiling Ruby Code To Find Bottlenecks
    • Advanced Profiling Techniques
    • Optimizing Inefficient Code
    • Profiling On Demand
    • Adjusting Game Speed For Variable Performance
    • Frame Skipping
  • Refactoring The Prototype
    • Game Programming Patterns
    • What Is Wrong With Current Design
    • Decoupling Using Component Pattern
  • Simulating Physics
    • Adding Enemy Objects
    • Adding Bounding Boxes And Detecting Collisions
    • Catching Bullets
    • Implementing Turn Speed Penalties
    • Implementing Terrain Speed Penalties
  • Implementing Health And Damage
    • Adding Health Component
    • Inflicting Damage With Bullets
  • Creating Artificial Intelligence
    • Designing AI Using Finite State Machine
    • Implementing AI Vision
    • Controlling Tank Gun
    • Implementing AI Input
    • Implementing Tank Motion States
    • Wiring Tank Motion States Into Finite State Machine
  • Making The Prototype Playable
    • Drawing Water Beyond Map Boundaries
    • Generating Tree Clusters
    • Generating Random Objects
    • Implementing A Radar
    • Dynamic Sound Volume And Panning
    • Giving Enemies Identity
    • Respawning Tanks And Removing Dead Ones
    • Displaying Explosion Damage Trails
    • Debugging Bullet Physics
    • Making Camera Look Ahead
    • Reviewing The Changes
  • Dealing With Thousands Of Game Objects
    • Spatial Partitioning
    • Implementing A Quadtree
    • Integrating ObjectPool With QuadTree
    • Moving Objects In QuadTree
  • Implementing Powerups
    • Implementing Base Powerup
    • Implementing Powerup Graphics
    • Implementing Powerup Sounds
    • Implementing Repair Damage Powerup
    • Implementing Health Boost
    • Implementing Fire Rate Boost
    • Implementing Tank Speed Boost
    • Spawning Powerups On Map
    • Respawning Powerups After Pickup
  • Implementing Heads Up Display
    • Design Considerations
    • Rendering Text With Custom Font
    • Implementing HUD Class
  • Implementing Game Statistics
    • Tracking Kills, Deaths and Damage
    • Making Damage Personal
    • Tracking Damage From Chain Reactions
    • Displaying Game Score
  • Building Advanced AI
    • Improving Tank Navigation
    • Implementing Demo State To Observe AI
    • Visual AI Debugging
    • Making AI Collect Powerups
    • Seeking Health Powerups After Heavy Damage
    • Evading Collisions And Getting Unstuck
  • Wrapping It Up
    • Lessons Learned
  • Special Thanks
Developing Games With Ruby/overview

Developing Games With Ruby

course_overview

This book will show you how to create a top-down 2D shooter using Ruby. You will learn to create fast graphics, automatic camera, AI, random maps and much more.

count_chapters
begin_reading
download
p_implied_book_part_name

Developing Games With Ruby23 chapters

Begin ›
  1. A Boy Who Wanted To Create Worlds

  2. Why Ruby?

  3. What You Should Know Before Reading This Book

  4. What Are We Going To Build?

  5. Preparing The Tools

  6. Getting The Sample Code

  7. Other Tools

  8. Gosu Basics

  9. Warming Up

  10. Prototyping The Game

  11. Optimizing Game Performance

  12. Refactoring The Prototype

  13. Simulating Physics

  14. Implementing Health And Damage

  15. Creating Artificial Intelligence

  16. Making The Prototype Playable

  17. Dealing With Thousands Of Game Objects

  18. Implementing Powerups

  19. Implementing Heads Up Display

  20. Implementing Game Statistics

  21. Building Advanced AI

  22. Wrapping It Up

  23. Special Thanks