Good Game Programming Books?

Hi there

Sorry for posting this here, but the Game Development forum sees much less traffic.

I’ve turned my game development project into my bachelor thesis and I’ve been looking for good books that dig further than the game loop. Unfortunately, most books are either “Learn C++”, “Learn DirectX” or “Learn OpenGL” books in disguise. So far I haven’t been able to find a single book on how a game is structured.

I’m looking for answers to questions like: “How many state machines are used?”, “How does the game transition between levels?”, “How is message passing implemented, if at all?”, “What’s a common class hierarchy?”, etc.

Someone recommended Game Programming Gems 3 in the past, but that book’s audience are professional game programmers who have been at it for years.

Any suggestions?

Game Coding Complete by Mike McShaffrey.

I’ve read #1 and #2, but haven’t read 3rd ed. yet

PatrickOn Tue, Jan 24, 2012 at 3:23 PM, BenoitRen wrote:

**
Hi there

Sorry for posting this here, but the Game Development forum sees much less
traffic.

I’ve turned my game development project into my bachelor thesis and I’ve
been looking for good books that dig further than the game loop.
Unfortunately, most books are either “Learn C++”, “Learn DirectX” or “Learn
OpenGL” books in disguise. So far I haven’t been able to find a single book
on how a game is structured.

I’m looking for answers to questions like: “How many state machines are
used?”, “How does the game transition between levels?”, “How is message
passing implemented, if at all?”, “What’s a common class hierarchy?”, etc.

Someone recommended Game Programming Gems 3 in the past, but that book’s
audience are professional game programmers who have been at it for years.

Any suggestions?


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Hi,

I would surely recommend the Game Programming series. Even though I work
in the boring business world, I find them quite interesting.

There are some books of the old MS-DOS days that you might find interesting,


http://www.amazon.com/NetWarriors-Programming-3D-Multi-Player-Games/dp/0471110647--
Paulo

On Tue, Jan 24, 2012 at 10:23 PM, BenoitRen wrote:

**
Hi there

Sorry for posting this here, but the Game Development forum sees much less
traffic.

I’ve turned my game development project into my bachelor thesis and I’ve
been looking for good books that dig further than the game loop.
Unfortunately, most books are either “Learn C++”, “Learn DirectX” or “Learn
OpenGL” books in disguise. So far I haven’t been able to find a single book
on how a game is structured.

I’m looking for answers to questions like: “How many state machines are
used?”, “How does the game transition between levels?”, “How is message
passing implemented, if at all?”, “What’s a common class hierarchy?”, etc.

Someone recommended Game Programming Gems 3 in the past, but that book’s
audience are professional game programmers who have been at it for years.

Any suggestions?


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Sometimes you just have to go with the “Teach Me OpenGL for Games in 0
Days” and follow along to get all that you can out of it. I’ve seen some
decent game programming books that put together game systems intelligently.
Have you looked at Prima Tech’s Game Development Series? You might look
for a “game design” book, too.

Jonny DOn Tue, Jan 24, 2012 at 4:38 PM, Paulo Pinto wrote:

Hi,

I would surely recommend the Game Programming series. Even though I work
in the boring business world, I find them quite interesting.

There are some books of the old MS-DOS days that you might find
interesting,

http://www.amazon.com/Building-3D-Game-Engine-C/dp/0471123269/ref=pd_sim_b_2

http://www.amazon.com/NetWarriors-Programming-3D-Multi-Player-Games/dp/0471110647


Paulo

On Tue, Jan 24, 2012 at 10:23 PM, BenoitRen wrote:

**
Hi there

Sorry for posting this here, but the Game Development forum sees much
less traffic.

I’ve turned my game development project into my bachelor thesis and I’ve
been looking for good books that dig further than the game loop.
Unfortunately, most books are either “Learn C++”, “Learn DirectX” or “Learn
OpenGL” books in disguise. So far I haven’t been able to find a single book
on how a game is structured.

I’m looking for answers to questions like: “How many state machines are
used?”, “How does the game transition between levels?”, “How is message
passing implemented, if at all?”, “What’s a common class hierarchy?”, etc.

Someone recommended Game Programming Gems 3 in the past, but that book’s
audience are professional game programmers who have been at it for years.

Any suggestions?


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Message-ID: <1327440226.m2f.31653 at forums.libsdl.org>
Content-Type: text/plain; charset=“iso-8859-1”

Hi there

Sorry for posting this here, but the Game Development forum sees much less
traffic.

I’ve turned my game development project into my bachelor thesis and I’ve
been looking for good books that dig further than the game loop.
Unfortunately, most books are either “Learn C++”, “Learn DirectX” or “Learn
OpenGL” books in disguise. So far I haven’t been able to find a single book
on how a game is structured.

I’m looking for answers to questions like: “How many state machines are
used?”, “How does the game transition between levels?”, “How is message
passing implemented, if at all?”, “What’s a common class hierarchy?”, etc.

I don’t have any book recommendations, but the last time I looked at
it the FreeCiv code was pretty simple, and easily understood, so you
might look there for a reference.

As for those related questions, I believe the answer is pretty
reliably “it depends”.

If you’re going to have a normal starting screen, then you’ll probably
want a state machine for that, and another for the actual game; but
you might decide to just jump directly into the gameplay with an
auto-generated map. Conversely, you might decide to have a state
machine for your units, in which case you could have a dozen or more
IMPLEMENTATIONS of state machines. Thus, I think you should choose
some guideline to make this less generic, if you decide you have the
thesis space/time you can always expand the coverage.

Level transitions will vary greatly, I believe that some FPS games
even try to hide the change, except for perhaps a 'level entrance’
message. And then you have WoW and other RPGs, where it’s really
nothing but a stats improvement. Once again, “it varies”, so you
should probably typify the games that you’re looking at.

Message passing is a bit vague, are you talking about between game
entities, players, what? Though really, I think that the biggest
differences here will probably be “is it distributed?”.

I don’t know for certain about class hierarchies, but I suspect that a
common portion of game class hierarchies is the equivalent of:
class GuiEntity { /* Stuff here. */ };
class GameEntity { GuiEntity appearence; / Other stuff here. */ };
As I best recall, FreeCiv uses this basic style, and only requires two
classes to implement all it’s units (actually structures since it’s
written in C, but still…) despite the fact that it has many units.> Date: Tue, 24 Jan 2012 13:23:47 -0800

From: “BenoitRen”
To: sdl at lists.libsdl.org
Subject: [SDL] Good Game Programming Books?

author andre la’motheOn Tue, Jan 24, 2012 at 3:23 PM, BenoitRen wrote:

**
Hi there

Sorry for posting this here, but the Game Development forum sees much less
traffic.

I’ve turned my game development project into my bachelor thesis and I’ve
been looking for good books that dig further than the game loop.
Unfortunately, most books are either “Learn C++”, “Learn DirectX” or “Learn
OpenGL” books in disguise. So far I haven’t been able to find a single book
on how a game is structured.

I’m looking for answers to questions like: “How many state machines are
used?”, “How does the game transition between levels?”, “How is message
passing implemented, if at all?”, “What’s a common class hierarchy?”, etc.

Someone recommended Game Programming Gems 3 in the past, but that book’s
audience are professional game programmers who have been at it for years.

Any suggestions?


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Try

'Professional Game Programming’
by
Mike McShaffry.

Its a good practical book.On 25-01-2012 02:53, BenoitRen wrote:

Hi there

Sorry for posting this here, but the Game Development forum sees much
less traffic.

I’ve turned my game development project into my bachelor thesis and
I’ve been looking for good books that dig further than the game loop.
Unfortunately, most books are either “Learn C++”, “Learn DirectX” or
"Learn OpenGL" books in disguise. So far I haven’t been able to find a
single book on how a game is structured.

I’m looking for answers to questions like: “How many state machines
are used?”, “How does the game transition between levels?”, “How is
message passing implemented, if at all?”, “What’s a common class
hierarchy?”, etc.

Someone recommended Game Programming Gems 3 in the past, but that
book’s audience are professional game programmers who have been at it
for years.

Any suggestions?


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


Pallav Nawani
Game Designer/Writer/CEO
http://www.ironcode.com
Twitter: http://twitter.com/Ironcode_Gaming
Facebook: http://www.facebook.com/Ironcode.Gaming
Mobile: 9997478768

Hi Benoit,

I’m looking for answers to questions like: “How many state machines are used?”, “How does the game transition between levels?”, “How is message passing implemented, if at all?”, “What’s a common class hierarchy?”, etc.

Any suggestions?

I learnt to program and program games, about 10^63 years ago … so what
do I know :slight_smile: … but when I relatively recently I wanted to give one as
a gift none of them seemed to ‘fit the bill’. There are a lot of books
about ‘game programming and development’ but they are mostly
disappointing. So ended up partially reading quite a few before settling on:

“Teach Yourself Games Programming” (Teach Yourself: Computers), by Alan
Thorn. It also has a few advantages: it only costs about $10 US / ?10 UK
new (you can get it cheaper used), it talks about different Gaming
genres, has several examples and, importantly to this list, it uses SDL!
It is mostly 2D examples, but in terms of a game engine mechanics it’s a
good start, I think. Whether it will answer questions you need for a
bachelor thesis is another matter. His website is http://alanthorn.net/
by the way and he’s written other books (which I’ve not read but you
might want to flick through based on the titles alone).

Depending upon your needs might also want a book on game design (as
opposed to game software architecture and design) … one I found
reasonable and got a good half way through was Scott Rogers ‘Level Up:
The Guide to Great Video Game Design’.

As Jared Maddox mentioned narrowing your focus might help. I believe
probably part of the reason is that gaming genres can affect
architecture, programming language can affect architecture (e.g web vs.
native local app, or, functional vs. procedural vs. OOP), technology
affects architecture (e.g. have you got threads and how cheap are they?)
and teams (or individuals) methods and beliefs about how a game should
be structured, what techniques have worked before and their experiences.
In my experience the fact that there is not one was to tackle the
problem is part of the reason why game development and software
development is so appealing.

It might also be worth - again as Jared also mentioned - of looking at
available game code. Jared mentioned FreeCiv. The Quake and Doom games
are open source. I believe the Garage Games Torque 3D engine is
basically a game to be customized. Unreal Engine UDK is free to
non-commercial use. Literally dozens or hundreds of both game engines
and open source games.

Also the web; lots of people are interested in games which means lots of
free information. Of course, it’s all in the search terms. I would
probably start with:
“game architecture”
“game engine design”

Here are a couple of interesting ones off the first search term:

http://www.fuzzybinary.com/talks/IntroToArchitecture.ppt
http://stackoverflow.com/questions/1201361/3d-game-development-tips-especially-game-architecture

Hope this helps.

Regards,
Rob

Hi Benoit,

I’m looking for answers to questions like: “How many state machines are used?”, “How does the game transition between levels?”, “How is message passing implemented, if at all?”, “What’s a common class hierarchy?”, etc.

Any suggestions?

I learnt to program and program games, about 10^63 years ago … so what
do I know :slight_smile: … but when I relatively recently I wanted to give one as
a gift none of them seemed to ‘fit the bill’. There are a lot of books
about ‘game programming and development’ but they are mostly
disappointing. So ended up partially reading quite a few before settling on:

“Teach Yourself Games Programming” (Teach Yourself: Computers), by Alan
Thorn. It also has a few advantages: it only costs about $10 US / ?10 UK
new (you can get it cheaper used), it talks about different Gaming
genres, has several examples and, importantly to this list, it uses SDL!
It is mostly 2D examples, but in terms of a game engine mechanics it’s a
good start, I think. Whether it will answer questions you need for a
bachelor thesis is another matter. His website is http://alanthorn.net/
by the way and he’s written other books (which I’ve not read but you
might want to flick through based on the titles alone).

Depending upon your needs might also want a book on game design (as
opposed to game software architecture and design) … one I found
reasonable and got a good half way through was Scott Rogers ‘Level Up:
The Guide to Great Video Game Design’.

As Jared Maddox mentioned narrowing your focus might help. I believe
probably part of the reason is that gaming genres can affect
architecture, programming language can affect architecture (e.g web vs.
native local app, or, functional vs. procedural vs. OOP), technology
affects architecture (e.g. have you got threads and how cheap are they?)
and teams (or individuals) methods and beliefs about how a game should
be structured, what techniques have worked before and their experiences.
In my experience the fact that there is not one was to tackle the
problem is part of the reason why game development and software
development is so appealing.

It might also be worth - again as Jared also mentioned - of looking at
available game code. Jared mentioned FreeCiv. The Quake and Doom games
are open source. I believe the Garage Games Torque 3D engine is
basically a game to be customized. Unreal Engine UDK is free to
non-commercial use. Literally dozens or hundreds of both game engines
and open source games.

Also the web; lots of people are interested in games which means lots of
free information. Of course, it’s all in the search terms. I would
probably start with:
“game architecture”
“game engine design”

Here are a couple of interesting ones off the first search term:

http://www.fuzzybinary.com/talks/IntroToArchitecture.ppt
http://stackoverflow.com/questions/1201361/3d-game-development-tips-especially-game-architecture

Hope this helps.

Regards,
Rob

Rob Probin wrote:

“Teach Yourself Games Programming” (Teach Yourself: Computers), by Alan
Thorn. It also has a few advantages: it only costs about $10 US / ?10 UK
new (you can get it cheaper used), it talks about different Gaming

Thanks for the pointer, it looks to be a worthwhile investment, so I’m
considering to buy it. Most books I have purchased the last few years
are $40 and up ($90+ no exception). But those are big standard works on
java, tcp/ip and linux kernel development, alas.

genres, has several examples and, importantly to this list, it uses SDL!
It is mostly 2D examples, but in terms of a game engine mechanics it’s a

I am not that fond on the emphasis on 3d these days with regards to
games, but I understand the appeal.

I never bothered looking into 3d with regards to game development
(though I have played many hours of online quake team fortress). Almost
all the games I enjoyed a lot were 2d. When I develop a game I at least
have to have a chance that I will enjoy it, or it’d be a most boring
experience.

Anyways, thanks,
Jeroen–
Earthquake Magnitude: 3.8
Date: Sunday, January 29, 2012 01:48:20 UTC
Location: Southern Alaska
Latitude: 61.4518; Longitude: -149.8992
Depth: 35.00 km

Hi again

Patrick Baggett wrote:

Game Coding Complete by Mike McShaffrey.

I just finished reading through most of it. It’s definitely better than most books. It spends non-trivial time on the main loop, initialisation, clean-up, and resource management. This will definitely be a big help and a good reference to cite in my thesis.

However, what it doesn’t cover in detail are game states and everything that’s related to it. There’s a short part about game object management, but it only scratches the surface.

Paulo Pinto wrote:

I would surely recommend the Game Programming series.

Can you give more details, like publisher and author(s)?

Pallav Nawani wrote:

'Professional Game Programming’
by
Mike McShaffry.

I can’t find this book anywhere, unfortunately.

As for the genre, I’m looking to program a simple JRPG. The book “Programming Role-Playing Games With DirectX 8” (Andr? LaMothe, Premier Press) seemed like it would be a good read, but so far it only seems to introduce components and doesn’t put them together to show how such a game would work.

**
Hi again

Patrick Baggett wrote:

Game Coding Complete by Mike McShaffrey.

I just finished reading through most of it. It’s definitely better than
most books. It spends non-trivial time on the main loop, initialisation,
clean-up, and resource management. This will definitely be a big help and a
good reference to cite in my thesis.

However, what it doesn’t cover in detail are game states and everything
that’s related to it. There’s a short part about game object management,
but it only scratches the surface.

Paulo Pinto wrote:

I would surely recommend the Game Programming series.

Can you give more details, like publisher and author(s)?

I mean the Game Programming Gems books:
http://www.gameprogramminggems.com/On Mon, Feb 13, 2012 at 5:08 PM, BenoitRen wrote:

Paulo Pinto wrote:

I mean the Game Programming Gems books

I have the third book in the series. Unfortunately, it’s a book by professionals for professionals.

Andre Lamothe has put out many books and I have never seem an author that
has the savy and easy to understand way that he does. I like the black art
of video game programming and tricks of the windows game programming gurus
best prob. Most of what he does is from a cross platform way of thinking
and even after he got a beach front home in hawaii and a red italian sports
car he still kept putting out books. He has a we site too. www dot
xgamestation dot com. I’m afraid to link thins for fear of being flagged
spam.> **

Hi again

Patrick Baggett wrote:

Game Coding Complete by Mike McShaffrey.

I just finished reading through most of it. It’s definitely better than
most books. It spends non-trivial time on the main loop, initialisation,
clean-up, and resource management. This will definitely be a big help and a
good reference to cite in my thesis.

However, what it doesn’t cover in detail are game states and everything
that’s related to it. There’s a short part about game object management,
but it only scratches the surface.

Paulo Pinto wrote:

I would surely recommend the Game Programming series.

Can you give more details, like publisher and author(s)?

Pallav Nawani wrote:

'Professional Game Programming’
by
Mike McShaffry.

I can’t find this book anywhere, unfortunately.

As for the genre, I’m looking to program a simple JRPG. The book
"Programming Role-Playing Games With DirectX 8" (Andr? LaMothe, Premier
Press) seemed like it would be a good read, but so far it only seems to
introduce components and doesn’t put them together to show how such a game
would work.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org