As an experienced programmer, I picked up this book to learn the basics of game creation and OpenGL.
In many ways it did exactly that. It introduced a lot of important core concepts (like writing an efficient game loop, and how to update and render game objects in real time). As others have mentioned, it uses the out-of-date Tao framework, though its relatively easy to use the OpenTK framework if you are experienced with APIs and programming.
My biggest peeve with the book was the way it was organized. The first 2/3rds of the book spent time building up a game engine framework, and the latter 3rd actually used the framework to build a sample side-scrolling shooter. The problem is that all that framework building time is extremely dry and dull, because it doesn't produce anything you can use or interact with, giving very little sense of progress. It wasn't until I skipped ahead and used the code off the CD to start doing the sample game that I was actually engaged. It would have made far more sense to present the game concept, then explore each framework concept as needed to implement that game concept.
Furthermore there are a few issues I have with the way the code is presented. Besides a handful of typos and misprints (the code listing for the BulletManager class accidentally shows the listing for the Bullet class instead), the author frequently presents the code with the main methods ahead of the supporting methods which they reference. The result is if you are following along and entering into Visual Studio, it can't use intellisense because the methods you are referencing haven't been written yet. If the 'update' loop is going to call the 'DoCollision' method, then present the DoCollision code first so that its easier for the user to follow along and be checked by the editor.
The final issue I had, and perhaps this comes from using OpenTK instead of Tao directly, but the OpenGL context isn't initialized until the Form is actually displayed. This means that many of the OpenGL functions (like projections) fail when done the way they are presented in the book. I got around this by moving most of the initialization code to the Form_Shown event handler. This took me several hours to puzzle through.
In the end I learned a ton from this book so I do not regret getting it. Ultimately that is probably what matters. But an updated, reorganized and error corrected version would be fantastic.
C# Game Programming: For Serious Game Creation 1st Edition
by
Daniel Schuller
(Author)
Daniel Schuller (Author) Find all the books, read about the author, and more. See search results for this author |

ISBN-13: 978-1435455566
ISBN-10: 1435455568
Why is ISBN important? ISBN
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.

Use the Amazon App to scan ISBNs and compare prices.
Add to book club
Loading your book clubs
There was a problem loading your book clubs. Please try again.
Not in a club? Learn more
Join or create book clubs
Choose books together
Track your books
Bring your club to Amazon Book Clubs, start a new book club and invite your friends to join, or find a club that’s right for you for free.
Buy used:
$2.44

More Buying Choices
Even experienced game developers sometimes have a hard time making their vision for a great game a reality. The number of available programming languages, libraries, and production methods can make the development process overwhelming and result in complicated, unreliable game code. C# Game Programming: For Serious Game Creation shows programmers how to write simple, clean, and reliable code step-by-step through the creation of a basic game. The game is built using C#, a high-level programming language, and OpenGL, an industry favorite for graphics display. You'll get an overview of the methods and libraries used to build good games, learn how to use those libraries and create your own, and finally build your own scrolling shooter game. You'll even find tips and information on how to develop your own game ideas and you'll have an excellent code base to work with. C# Game Programming: For Serious Game Creation provides you with all the information you need to take your game ideas from concept to completion.
Editorial Reviews
About the Author
Daniel Schuller is a British-born computer game developer who has worked and lived in America, Singapore, Japan, and is currently working in the United Kingdom. He has released games on the PC as well as the Xbox 360 and PlayStation 3. He has developed games for Sony, Ubisoft, Naughty Dog, RedBull, and Wizards of the Coast, and maintains a game development website at http://www.godpatterns.com. In addition to developing computer games, Daniel also studies Japanese and is interested in Artificial Intelligence, cognition, and the use of games in education.
Tell the Publisher!
I'd like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
I'd like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Product details
- Publisher : Cengage Learning PTR; 1st edition (June 16, 2010)
- Language : English
- Paperback : 448 pages
- ISBN-10 : 1435455568
- ISBN-13 : 978-1435455566
- Item Weight : 2.03 pounds
- Dimensions : 7.25 x 1 x 8.75 inches
- Best Sellers Rank: #2,551,930 in Books (See Top 100 in Books)
- #773 in C# Programming (Books)
- #1,894 in Game Programming
- #1,942 in Computer Graphics
- Customer Reviews:
About the author
Follow authors to get new release updates, plus improved recommendations.

Daniel Schuller was born in the UK and works as a game developer helping studios around the world create great games. Currently based in Hong Kong but previously worked and lived in Indonesia, Singapore, Japan, the US and the UK.
Customer reviews
3.9 out of 5 stars
3.9 out of 5
36 global ratings
How customer reviews and ratings work
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Reviewed in the United States on November 11, 2013
12 people found this helpful
Report abuse
Reviewed in the United States on May 19, 2012
This is really the only book I have found that discusses game programming for C# using OpenGL. It has helped me immensely in understanding quite a few concepts that were foreign to me. First, there are a few things that people should understand: This is not for brand new programmers. Programming graphics is a level beyond a new programmers abilities, and throwing these concepts at a new programmer will essentially set them up for failure. You should understand the basic concepts of programming and OOP first. I would highly recommend the Wrox series for this task, as they do a fantastic job of breaking down code and how it works.
For those of you who have experience and wish to start making games/graphics programs with C#, this is a great starter for the concepts. This is the book I started off with, but ultimately this book alone will not be enough. Use this book as a baseline to start with a basic framework for how things operate. Although it does go to a very limited degree into 3D math, this is definitely not the book to study for familiarization with it. It covers the type of math you would need to research for game programming, and it is up to you to research it further to gain a better grasp.
There are a few thigns to note:
the TAO framework that is used in the book (although technically still downloadable and useable) is depreciated, and has for the most part turned into OpenTK [...] You will have to 'translate' the code to the new wrapper, because the structure is different, and things are called in different ways (OpenTK tries to clean up OpenGL a bit and fit it within the .net framework better). It is still very easy to do, and took me only a short time to figure out how it works. OpenTK.com has great examples and forums to help you start.
There are a few Windows APIs that are called within the examples of this book for core fundamental tasks. If you are looking to make something for linux or macs, you should either a)find a language more friendly for those systems (C# is technically cross-platform capable, but the support is spotty at best, although the mono project is changing that), or b)research the API equivalent for whatever system you are trying to code it for.
There were a couple areas where I got confused because the author made some logical jumps without fully ensuring the reader made that jump with him. They are few and far between, but there were a couple times where I didn't know either where a variable came from, or where it should be declared.
All in all, I can't complain because it's the only OpenGL book i've found for C# (most people use XNA, since C# is a Microsoft-produced language). I wanted to learn OpenGL over XNA (DirectX wrapper) because it is lower level, and affords more flexibility.
It would be nice if the author made an updated edition of this book to address at least the first point, since at first glance it may not seem that intuitive switching from TAO to OpenTK.
I would also very highly recommend the book "OpenGL SuperBible: Comprehensive Tutorial and Reference". It explains OpenGL in C++ (there is nothing like it for C# unfortunately), but it is great for understanding the concepts, what the OpenGL library does, how it does it, and why it does it. You will have to translate it from C++ GLUT OpenGL to C# OpenTK OpenGL, but it shouldn't be too difficult once you read the concepts of how thigns work.
For those of you who have experience and wish to start making games/graphics programs with C#, this is a great starter for the concepts. This is the book I started off with, but ultimately this book alone will not be enough. Use this book as a baseline to start with a basic framework for how things operate. Although it does go to a very limited degree into 3D math, this is definitely not the book to study for familiarization with it. It covers the type of math you would need to research for game programming, and it is up to you to research it further to gain a better grasp.
There are a few thigns to note:
the TAO framework that is used in the book (although technically still downloadable and useable) is depreciated, and has for the most part turned into OpenTK [...] You will have to 'translate' the code to the new wrapper, because the structure is different, and things are called in different ways (OpenTK tries to clean up OpenGL a bit and fit it within the .net framework better). It is still very easy to do, and took me only a short time to figure out how it works. OpenTK.com has great examples and forums to help you start.
There are a few Windows APIs that are called within the examples of this book for core fundamental tasks. If you are looking to make something for linux or macs, you should either a)find a language more friendly for those systems (C# is technically cross-platform capable, but the support is spotty at best, although the mono project is changing that), or b)research the API equivalent for whatever system you are trying to code it for.
There were a couple areas where I got confused because the author made some logical jumps without fully ensuring the reader made that jump with him. They are few and far between, but there were a couple times where I didn't know either where a variable came from, or where it should be declared.
All in all, I can't complain because it's the only OpenGL book i've found for C# (most people use XNA, since C# is a Microsoft-produced language). I wanted to learn OpenGL over XNA (DirectX wrapper) because it is lower level, and affords more flexibility.
It would be nice if the author made an updated edition of this book to address at least the first point, since at first glance it may not seem that intuitive switching from TAO to OpenTK.
I would also very highly recommend the book "OpenGL SuperBible: Comprehensive Tutorial and Reference". It explains OpenGL in C++ (there is nothing like it for C# unfortunately), but it is great for understanding the concepts, what the OpenGL library does, how it does it, and why it does it. You will have to translate it from C++ GLUT OpenGL to C# OpenTK OpenGL, but it shouldn't be too difficult once you read the concepts of how thigns work.
16 people found this helpful
Report abuse
Top reviews from other countries

Richard Moss
4.0 out of 5 stars
A decent book with the odd flaw
Reviewed in the United Kingdom on September 18, 2011
My main peeve with this book is that it's using the Tao framework (which I understand hasn't been updated in some years and which follows more the C style) rather than something like OpenTK which is more frequently updated and is nicer to work with (such as enums instead of constants, support for .NET types like Color etc). Deployment of TAO also seems to be a pain, many of the examples in the book will not run out of the box without first copying additional DLL's and in some cases missing assets. And if you don't have a gamepad expect some of the samples to crash without mercy as the author chose not to implement null checks when doing controller input processing.
Something else the book doesn't really make clear is the disadvantages of using the deprecated immediate mode, although it does provide batch handling using vertex arrays.
I did also spot a few errors in the books code listings, including the duplication of an earlier class rather than the brand new class that was being described.
Regardless of the above comments, I enjoyed this book. I have a number of other game books (dealing with DirectX rather than OpenGL) and I prefer this one the most - it describes quite a number of nice topics many of which I find extremely useful, and the game engine project seems to be an good starting point for your own projects. The issue of using TAO over OpenTK should be fairly easy to resolve as at the end of the day both these libraries map to the same OpenGL API commands.
Something else the book doesn't really make clear is the disadvantages of using the deprecated immediate mode, although it does provide batch handling using vertex arrays.
I did also spot a few errors in the books code listings, including the duplication of an earlier class rather than the brand new class that was being described.
Regardless of the above comments, I enjoyed this book. I have a number of other game books (dealing with DirectX rather than OpenGL) and I prefer this one the most - it describes quite a number of nice topics many of which I find extremely useful, and the game engine project seems to be an good starting point for your own projects. The issue of using TAO over OpenTK should be fairly easy to resolve as at the end of the day both these libraries map to the same OpenGL API commands.
2 people found this helpful
Report abuse

Will
4.0 out of 5 stars
Good book, but needs more depth
Reviewed in the United Kingdom on July 12, 2013
This book is good for a primer, the math section especially does a good job of traversing the fundamentals of game engine math.
Thing is, it isn't gonna tell you how to create the next next-gen 3d engine. It only covers examples of 2D sprite engines.. BUT (and this is a big but).. those sprites use vertices, triangles, and texturing as a basic 3D engine would do it too, so it kinda redeemed itself for me. For instance, a sprite is rotated by applying a matrix.. and that is exactly the same process as advanced skinning animations do it in the top engines (plus all mesh manipulation really, even if you apply the values of the matrix via shaders on the GPU).. All the principles of 3D are there, but at the end of the book, Daniel points you in the direction of further reading, and lets you get on with it.
If you're new to game engines, and want a great read, and information that will show you exactly which steps to take next, then buy this book. If you don't have any memory of your A level maths lessons, this book will remind you. If you already know all about the math, and you're familiar with OpenGL and OpenAL, you won't get much here. but for me it turned out to be exactly what I needed, and I don't regret for a minute buying it.
Thing is, it isn't gonna tell you how to create the next next-gen 3d engine. It only covers examples of 2D sprite engines.. BUT (and this is a big but).. those sprites use vertices, triangles, and texturing as a basic 3D engine would do it too, so it kinda redeemed itself for me. For instance, a sprite is rotated by applying a matrix.. and that is exactly the same process as advanced skinning animations do it in the top engines (plus all mesh manipulation really, even if you apply the values of the matrix via shaders on the GPU).. All the principles of 3D are there, but at the end of the book, Daniel points you in the direction of further reading, and lets you get on with it.
If you're new to game engines, and want a great read, and information that will show you exactly which steps to take next, then buy this book. If you don't have any memory of your A level maths lessons, this book will remind you. If you already know all about the math, and you're familiar with OpenGL and OpenAL, you won't get much here. but for me it turned out to be exactly what I needed, and I don't regret for a minute buying it.

Pinzu
5.0 out of 5 stars
Gut gemachte Einführung
Reviewed in Germany on June 8, 2013
Eine sehr gut gemachte Einführung in das Thema Spieleprogrammierung.. Das Buch vermittelt a lle notwendigen Grundlagen für einfache aber performante 2D Spiele. Man entwickelt im laufe des Buches seine eigene Game engine und hat damit die Grundlagen für erste eigene Spele gelegt. Nach dem Baukastenprinzip passen die einzelnen Kapitel zueinander und ergänzen sich perfekt. Die Motivation bleibt hoch, da man mit jeder Erweiterung des Baukastens neue Möglichkeiten in seine Spiele integrieren kann.

Sourav
5.0 out of 5 stars
scratch game detailed game theory cd game design xbox windows iphone blackberry
Reviewed in Canada on February 18, 2014
This is nice book to start from scratch. Detailed explanasions of basics are really helpfull for beginers. In advance level may be it has some competetors but it can compete.
One person found this helpful
Report abuse

J
3.0 out of 5 stars
Produit adéquat
Reviewed in France on December 20, 2013
le produit est conforme à mes attentes, pas de soucis particulier. Bon pour débutant comme pour ceux qui maitrise déjà un peu les bases