Cover image for Game Programming with Python, Lua, and Ruby.
Game Programming with Python, Lua, and Ruby.
Title:
Game Programming with Python, Lua, and Ruby.
Author:
Gutschmidt, Tom.
ISBN:
9781592004089
Personal Author:
Physical Description:
1 online resource (472 pages)
Contents:
Title -- Copyright -- Dedication -- Acknowledgments -- About the Author -- Contents at a Glance -- Contents -- Introduction -- What's in This Book? -- Why Learn Another Language? -- What's on the CD-ROM? -- PART ONE Introducing High-Level Languages -- CHAPTER 1 High-Level Language Overview -- High-Level Language Roots -- How Programming Languages Work -- Low-Level Languages -- Today's High-Level Languages -- Interpreted versus Compiled Languages -- Scripting Languages -- The Pros of High-Level Languages -- Cons of High-Level Languages -- A Brief History of Structured Programming -- Introducing Python -- Python Features -- Introducing Lua -- Lua Features -- Introducing Ruby -- Ruby Features -- Summary -- Questions and Answers -- Exercises -- CHAPTER 2 Python, Lua, and Ruby Language Features -- Syntactical Similarities of Python, Lua, and Ruby -- Comments and Commenting -- Math and Algebraic Functions -- Boolean Logic -- Variables -- Lists and Strings -- Arrays -- Program Structure -- Linear Control Statements -- Conditional Control Statements -- Iterative Control Statements -- The for Loop -- The while Loop -- Miscellaneous Similarities -- End-of-Line Characters -- OOP Structure -- Function Calls -- Hello World Samples -- The Python Environment -- Installing Python -- Running the Python Interpreter -- Creating Python Program Files -- Python's "Hello World" -- C's "Hello World" -- The Lua Environment -- Installing Lua -- The Lua Interpreter -- Creating Lua Program Files -- Lua's "Hello World" -- The Ruby Environment -- Installing Ruby -- The Ruby Interpreter -- Creating Ruby Program Files -- Executing Ruby -- Ruby's "Hello World" -- Summary -- Questions and Answers -- Exercises -- PART TWO Programming with Python -- CHAPTER 3 Getting Started with Python -- Python Executables -- Packaging Python Code -- Freeze -- ActiveState -- py2exe.

Python Debuggers -- PythonWin -- The Open Source HAP Debugger -- Python Language Structure -- Python Punctuation -- Language Types -- Numbers -- Strings -- Lists -- Tuples -- Dictionaries -- Identifiers -- Control Structures -- Loops -- Modules -- Libraries -- Creating a Simple User Interface in Python -- A Simple GUI with Tkinter -- Memory, Performance, and Speed -- The Garbage Collector -- Pool Allocators -- Performance and Speed -- Summary -- Questions and Answers -- Exercises -- CHAPTER 4 Getting Specific with Python Games -- The Pygame Library -- Installing Pygame -- Using Pygame -- Importing Pygame -- The Pygame Surface -- Creating a Pygame Window -- The Ever-Important rect() -- The Event System -- Drawing with Pygame -- Blitting -- Loading an Image with Pygame -- Try/except Code Blocks -- Displaying Text -- A Pygame Game Loop -- Pygame Sprites -- Game Object Classes -- Pygame Drawbacks -- A Pygame Example -- Importing the Necessary Libraries -- Defining Necessary Functions -- Defining Game Object Classes -- Creating a Main Event Loop that Listens for Events -- Setting Up Pygame, the Window, and the Background -- Drawing and Updating Necessary Graphics -- Python Graphics -- The Tkinter Library -- Widgets -- Button -- Canvas -- Checkbutton -- Entry -- Frame -- Label -- Listbox -- Menu -- Menubutton -- Message -- Radiobutton -- Scale -- Scrollbar -- Text -- Toplevel -- Universal Widget Methods -- Tkinter Geometry -- pack() -- grid() -- place() -- Tkinter Events -- Tkinter Images -- BitmapImage -- PhotoImage -- The PyOpenGL Library -- Installing PyOpenGL -- Using PyOpenGL -- Presenting a Window in PyOpenGL -- Initializing PyOpenGL -- Drawing a Square -- Setting the Color of an Object -- Rotation and Movement -- Moving from Flat to 3D -- Adding Textures -- Sound in Python -- Playing a Sound with Pygame -- Building a load_sound Function.

Networking in Python -- Putting It All Together -- Import the Libraries -- Define the Functions -- Define the Classes -- Create main() and Set Up Pygame -- Drawing and Updating within the while Loop -- Summary -- Questions and Answers -- Exercises -- CHAPTER 5 The Python Game Community -- Engines -- The Cyclon Online Gaming Engine -- Python Adventure Writing System -- PyPlace -- Python Universe Builder -- The Pyzzle Game Engine -- Graphics -- Alice -- AutoManga -- Blender -- Nebula -- Panda3D -- Poser -- Commercial Games -- Eve Online -- Freedom Force -- Severance: Blade of Darkness -- ToonTown -- Beyond Python -- Beyond -- Pippy -- Stackless Python -- Twisted -- Summary -- Question and Answer -- Exercises -- PART THREE Programming with Lua -- CHAPTER 6 Programming with Lua -- Lua Executables and Debuggers -- Language Structure -- Punctuation -- Language Types -- Booleans -- Functions -- Nil -- Numbers -- Strings -- Tables -- Threads -- Userdata -- Identifiers -- Control Structures -- Loops -- Modules -- Libraries -- The Basic Library -- Input/Output Library -- System Facilities -- Memory, Performance, and Speed -- Garbage Collection -- Speed -- Summary -- Questions and Answers -- Exercises -- CHAPTER 7 Getting Specific with Games in Lua -- LuaSDL -- Gravity: A Lua SDL Game -- Importing SDL -- Setting Initial Variables -- Creating Functions -- Sprite Handling -- Vector Handling -- Event Handling -- The Engine and the Game Loop -- Actors -- Obstacles -- The Player -- Starting the Game -- The Lua C API -- Opening Up Lua -- Stack Commands -- Variables -- Userdata -- Tables -- Threads -- Calling Functions -- Performing Actions -- Summary -- Questions and Answers -- Exercises -- CHAPTER 8 The Lua Game Community -- Game Engines -- Arkhart -- ClanLib -- Enigma -- Enigma Tiles and Game Pieces -- Creating Enigma Levels -- Gime -- HZ Engine -- Lixoo.

The Lune Mud Server -- The MADProject -- MAD Tools -- MAD API -- MAD Scenes -- MAD Objects -- Path-Finding -- Interacting with Objects -- Masks -- Ego -- The MAD GUI -- MAD Sounds -- Items and Spells -- Graphics -- Apocalyx 3D Engine -- Doris -- Nebula -- The Games Themselves -- Angband -- Baldur's Gate -- Monkey Island -- Homeworlds -- Other Games -- Beyond Lua -- LuaIDE -- Plua -- toLua -- Summary -- Exercises -- PART FOUR Programming with Ruby -- CHAPTER 9 Getting Started with Ruby -- Debuggers -- Language Structure -- Objects, Classes, and Methods -- Language Types -- Strings -- Regular Expressions -- Constants -- Ranges -- Numbers -- Control Structures -- Arrays and Hashes -- Exceptions -- Modules -- Libraries -- Memory, Performance, and Speed -- Garbage Collection -- Speed -- Summary -- Questions and Answers -- Exercises -- CHAPTER 10 Getting Started with Ruby Games -- FXRuby -- Ruby and OpenGL -- Ruby and SDL -- Commonly Used Ruby SDL Modules and Classes -- Initializing SDL -- Surfaces -- Events -- Audio -- Time -- Japanese Input -- A Sample Ruby SDL Program -- The CONST.RB File -- The SYSTEM.RB File -- The STATE.RB File -- The PLAYER.RB File -- The RUBYBOUNCE.RB File -- Summary -- Questions and Answers -- Exercises -- CHAPTER 11 The Ruby Game Community -- Ruby and Game Engines -- ClanRuby -- MUES -- Ruby and Graphics -- FXRuby -- Ruby/PGPlot -- RubyDCL -- Libgd-Ruby -- Ruby and Games -- The FærieMUD Project -- Beyond Ruby -- The Snack Sound Toolkit for Ruby -- rbwrap -- Memeoize -- Summary -- Questions and Answers -- Exercises -- PART FIVE The Wrap Up -- CHAPTER 12 Using Python, Ruby and Lua in Development -- High-Level Languages in the Development Cycle -- Extending Python, Lua, and Ruby -- Problems with Extending -- Extending Python -- Writing a Python Extension -- Embedding Python -- Third-Party Integration -- Extending Lua.

Extending Ruby -- Python versus Lua Versus Ruby -- Python Pros and Cons -- Lua Pros and Cons -- Pros and Cons of Ruby -- Summary -- Exercises -- APPENDIX A History of Computer Programming -- APPENDIX B Meet the Family -- ABC -- Ada -- AFNOR -- C -- C++ -- Cobol -- Eiffel -- FORTRAN -- GNU Octave -- Java -- Icon -- Modula -- Pascal -- Perl -- PHP -- Prolog -- PureBasic -- Smalltalk -- Squeak -- Index -- Symbols -- A -- B -- C -- D -- E -- F -- G -- H -- I -- J -- K -- L -- M -- N -- O -- P -- R -- S -- T -- U -- V -- W -- X -- Y -- Z.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: