Just my point of view on most game programming books

Started by
11 comments, last by savagerx 20 years, 10 months ago
Game programming books, regardless of publishers or authors, data-structures and graphics rendering especially, always come implemented with a language no other than C++/ Java. I have nothing against the languages because I''m also a C++ and abit of Java fanz but it just that should there be more books that are based on abstract language(pseudocode) which are more langauge independent. Examples like TOTWGPG, Gems2 & Game Programming All in one and many others are all classic works but what really keeps my hand off them is they are all implemented in WIN32 and nothing else. No doubt, there are also other books based on other architectures but their coverage can hardly match those standards mentioned in the titles above. Thus, wouldn''t it be more benefical if a language independent book can reach a wider audience and more game makers wannabe can access to those knowledge. This is NOT a flame bait but just voicing out my perspective on this area
The road may be long, wind may be rough. But with a will at heart, all shall begone. ~savage chant
Advertisement
Well if you know the theory you can do implement it anywhere.

Too many of the books are HAY COME HERE TO LEARN PROGREAMIGN ADN MAEK GAEMS quality, anyway.

I think once you have the understanding you can implement it anywhere.
I see your point, but the fact is, these books have to cater to a wider audience in order to be commercially viable. In turn this means that a fairly new programmer needs to be able to get something from the books, which is why you often have the first section dedicated to the basics, and have the code run in Windows under MS Visual C++. As already mentioned, a good programmer is usually able to translate from one language to another anyway. The only disadvantage is that the code in C++ is often much longer than it would be in pseudocode. More reason to encourage programming in Python!

[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]
The books out there pretty much follow the market.

If 95+% of the programmers out there will be using windows, then 95+% of the books will be about programming on windows. There are some books about programming on Linux and Mac, but until Linux/Mac gets a bigger market share, these books will be few and far between.

Also, you will rarely (if ever) find a book about programming on proprietary consoles (e.g. PS2, GC, Xbox) for a couple reasons:
1. The makers of the consoles control the SDKs and don''t release them to just anyone.
2. Since you need to be able to make money with your title (else you wouldn''t have that SDK), you are probably already a pretty experienced developer and don''t really need too much more teaching, beyond the SDK docs. You know the language, you know your tools and you know all about game programming. You just need specifics on the platform.
I wish books like AI Wisdom would have MORE code (in C/C++, java, lisp, basic, cobol, whatever). A lot of the sections do, but some sections contain really abbstract ideas and then have no implementation at all. In many cases, I already figured out the abstract idea but not how to implement it well. If they had an example, even if unrelated to my problem, I could see one way of implementing it and most likely it would then be trivial to implement it for my own project.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
Most game programming books actually don''t do a good job at teaching. Here are some examples:

Multiplayer game programming - How MMORPGs work and setting up hypothetical networks. And sending messages too. Nothing telling you how to structure your game or even use winsock properly. It doesn''t tell you how to actually put it into a game

Beginning game audio programming - Make a big comlicated ugly DirectMusic engine that plays sounds. It was easier to make my own using DS thne to figure out what all his classes were fore

Don''t complain about Windows/DirectX/C++ because thats what everybody uses. It''s the target market.
quote:Original post by Cybertron
Don''t complain about Windows/DirectX/C++ because thats what everybody uses. It''s the target market.

Sounds to me like a typical "Everybody uses -name your thing here-, so you should use it. If you don''t, you suck." thing. You should be grateful that there are people who think different every now and then!
Newbie programmers think programming is hard.Amature programmers think programming is easy.Professional programmers know programming is hard.
Actually the one thing that bugs me is in for example the game programming gems series of books there''s a few bits where there isn''t really any code and instead lots of mathmatical symbols to explain the algorithms. Even pseudo code would have done nicely but instead there''s alot of alien looking symbols :-(

Is there a site on the web / book anyone''d recommend for understanding what these symbols mean?


[edited by - savagerx on June 20, 2003 8:21:18 AM]
The road may be long, wind may be rough. But with a will at heart, all shall begone. ~savage chant
The problem you''re missing is a knowledge on how to teach a subject.

There are two ways you can learn programming. Top-Down and Bottom-Up.

Top-Down teaches you the concepts, as an abstract algorthm. It usually skips on the implementation, but if you understand the algorthm, then you can implement it.

Bottom-Up teaches you the code, and teaches a paticular way of doing something. They usually don''t go in depth with the paticular reasons WHY you would code this segment a certain way, they just give you it.

Although as a Computer Scientist, I prefer (a lot) the Top-Down approach, but someone who is learning programming prefers the bottom-up verson. That way, the n00b can get lots of example code to drop into their project, and not really worry how exactly it works, or what exactly they''re doing. As stated before, the amount of people in n00b land *FAR* exceeds the amount of people in CS land. So most game books will cater do those people.

By creating an artifical abstract language, you lose out of the n00bs, because they cannot just drop code in, and you lose out on the CS, cuz they want to know algorthms. Your proposal is a lose-lose situation.

I do, however, wish the GEM books would make their own GEM framework(kinda like a GEM_GLUT), and have all the code use it. That way, it would be totally platform independent.

---
"you are the poet laureat (sp?) of programming. ALL HAIL!!!" -capn_midnight
A Link for programming drunks
~~~~~Screaming Statue Software. | OpenGL FontLibWhy does Data talk to the computer? Surely he's Wi-Fi enabled... - phaseburn

This topic is closed to new replies.

Advertisement