Category: Game Programming

Learning Modern 3D Graphics Programming

Author Jason L. McKesson
Format online HTML
Price free

What this book offers is beginner-level instruction on what many consider to be an advanced concept. It teaches programmable rendering for beginning graphics programmers, from the ground up.
This book also covers some important material that is often neglected or otherwise relegated to “advanced” concepts. These concepts are not truly advanced, but they are often ignored by most introductory material because they do not work with the fixed function pipeline.

This book is first and foremost about learning how to be a graphics programmer. Therefore, whenever it is possible and practical, this book will present material in a way that encourages the reader to examine what graphics hardware can do in new and interesting ways. A good graphics programmer sees the graphics hardware as a set of tools to fulfill their needs, and this book tries to encourage this kind of thinking.

One thing this book is not, however, is a book on graphics APIs. While it does use OpenGL and out of necessity teach rendering concepts in terms of OpenGL, it is not truly a book that is about OpenGL. It is not the purpose of this book to teach you all of the ins and outs of the OpenGL API.There will be parts of OpenGL functionality that are not dealt with because they are not relevant to any of the lessons that this book teaches. If you already know graphics and are in need of a book that teaches modern OpenGL programming, this is not it. It may be useful to you in that capacity, but that is not this book’s main thrust.
This book is intended to teach you how to be a graphics programmer. It is not aimed at any particular graphics field; it is designed to cover most of the basics of 3D rendering. So if you want to be a game developer, a CAD program designer, do some computer visualization, or any number of things, this book can still be an asset for you.

This does not mean that it covers everything there is about 3D graphics. Hardly. It tries to provide a sound foundation for your further exploration in whatever field of 3D graphics you are interested in.

Continue reading

Pxtone Manual: How to Create Cool Music for Videogames

  • Author: Gryzor87
  • Format: PDF download, with extras
  • Price: free

This is a full-color, 95-page manual on how to use Pixel’s free PXTone program to make your own game music. There are also detailed explanations, songwriting tips & tricks for making music that goes with the theme of your game, and plenty of extra samples and goodies thrown in. The author could have easily charged money for all that this package includes, but he is kind and generous for giving it away for free. If you think this package is worth it, consider making a donation to the author to encourage him to release more packages like this one in the future.

Chapters include:

  • Basics
  • Overview
  • Voice
  • Unit
  • Keyboard
  • How to Choose Instruments
  • How to Arrange a videogame song
  • One – three channel example
  • Four channel example
  • Eight – ten channel example
  • Use Pxtone Easy and Quick
  • Tips, Tricks, and Articulations
  • Track Arrange: Melody
  • Track Arrange: Bass
  • Track Arrange: Chords
  • Track Arrange: Drums
  • In Game Sound Fx
  • Overall Mixing
  • Game Maker and Pxtone

Visit: Pxtone Manual

Invent Your Own Computer Games with Python

  • Author: Al Sweigart
  • Format: online HTML
  • Price: free (printed edition available on Amazon)

Invent Your Own Computer Games with Python is a free book that teaches you how to program in the Python programming language. Each chapter gives you the complete source code for a new game, and then teaches the programming concepts from the example. Games include Guess the Number, Hangman, Tic Tac Toe, and Reversi.

It was written to be understandable by kids as young as 10 to 12 years old, although it is great for anyone of any age who has never programmed before.

This fourth edition has revised and expanded content, including using the Pygame library to make 2D games with graphics, animation, and sound.

Chapters include:

  • Introduction
  • Chapter 1 – The Interactive Shell
  • Chapter 2 – Writing Programs
  • Chapter 3 – Guess the Number
  • Chapter 4 – A Joke-Telling Program
  • Chapter 5 – Dragon Realm
  • Chapter 6 – Using the Debugger
  • Chapter 7 – Designing Hangman with Flowcharts
  • Chapter 8 – Writing the Hangman Code
  • Chapter 9 – Extending Hangman
  • Chapter 10 – Tic-Tac-Toe
  • Chapter 11 – The Bagels Deduction Game
  • Chapter 12 – The Cartesian Coordinate System
  • Chapter 13 – Sonar Treasure Hunt
  • Chapter 14 – Caesar Cipher
  • Chapter 15 – The Reversegam Game
  • Chapter 16 – Reversegam AI Simulation
  • Chapter 17 – Creating Graphics
  • Chapter 18 – Animating Graphics
  • Chapter 19 – Collision Detection
  • Chapter 20 – Using Sounds And Images
  • Chapter 21 – A Dodger Game with Sounds and Images

Read: Invent Your Own Computer Games with Python

Buy print edition

Super NES Programming

My image
  • Author: Wikibooks, the open-content textbooks collection
  • Format: HTML
  • Price: free

This book will cover how to write programs for the Super Nintendo Entertainment System. As the CPU of the SNES has a 65c816 core, programming for the SNES is done with 65c816 assembly language. It assumes some basic knowledge on how to use an assembly language, how to use a command prompt, and how to use an emulator.

The book is a work in progress, and there may be incomplete or missing chapters.

Chapters include:

  • Introduction to 65816 assembly
  • Tutorial:Initializing the SNES and changing the background color
  • Tutorial:DMA transfer
  • Tutorial:Using tiles and palettes
  • Tutorial:Creating graphics for your SNES programs
  • Tutorial:Loading SPC700 programs for the SNES sound coprocessor
  • Tutorial:Creating music for the SPC700
  • Using Pointer Tables
  • Tutorial:Using the Super FX chip

J2ME & Gaming

My image
  • Author: Jason Lam
  • Format: PDF download, with source
  • Price: free

This book is about programming with J2ME on wireless devices with focus on developing games. It is assumed you have some knowledge and programming experience with J2ME and J2SE.

The book does not go into detail on topics like how to make high level GUI menu but does demonstrate what a game menu might look like. Nor will it explain in detail how to use the Record Management System (RMS), but will go over topics that use RMS such as high score and game settings. As well a knowledge and experience with threading will be an asset before proceeding with game development. The book will go over in detail the new game classes that are now included in the MIDP 2.0.

The book also serves as quick reference for Java programmers who are interested in mobile game development. As well, to provide good introduction for experience game developers who developed games in other languages/platforms and are now interested in using J2ME to develop games.

It is a work in progress and not quite complete as of the time of this posting.

Chapters include:

  • Overview
  • Mobile Game Contraints
  • Before Code
  • MIDP2 Game Classes
  • Math Constraints
  • Eliminator: Introduction
  • Eliminator: Splash Screen
  • Eliminator: Game Menu
  • Eliminator: Exception Handling
  • Eliminator: Settings & High Score
  • Eliminator: Terrain (Scrolling …)
  • Eliminator: Player and Bullets
  • Eliminator: Change of Scenery
  • Eliminator: Enemies & Game Items
  • Eliminator: Boss
  • Eliminator: Game Extras
  • Improving
  • Adding Time Trial to Your Game
  • Customer Interface
  • (more chapters to come)