Should i be confused when i read TOTWGPG?

Started by
7 comments, last by Squared 22 years, 2 months ago
I''m on like the 4th chapter and every thing up til then is very confusing. Its not really a specific thing im confused on its basically everything, ive read two books on C++. Should i just keep reading chapter 2 til i get down how to make a simple window? thx.
Advertisement
Win32 and DirectX programming are not easy to learn especially for someone who is new to programming. Frankly, they are not a very well designed set of APIs. I mean, I''ve been programming for 8 years and still find Windows programming confusing. If you are feeling overwhelmed, you might want to take it step by step. Start by writing some console programs to get more comfortable with C/C++. Then write some Win32 programs to get comfortable with messages, handles, etc. Then finally jump into DirectX.
I am reading that book as well. It was very confusing at points and in many places the author saying things like "Man that was easy!" while I was sitting in total confusion didnt help. I had to read the book, toy with the code, read the book, toy... you get the idea. Also check this site out, it cleared up some of the fuzzy areas for me. http://www.eastcoastgames.com/

Good luck.

Grellin


Don''t sit and complain about a program, make a better one or shut up!
Steven Bradley .:Personal Journal:. .:WEBPLATES:. .:CGP Beginners Group:. "Time is our most precious resource yet it is the resource we most often waste." ~ Dr. R.M. Powell
Keep in mind that Win32/DirectX "evolved" rather than "were developed". Microsoft tried/tries to keep them backwards compatible (by different methods) with its numerous OS iterations, etc. This results in some of the messiest, nastiest APIs ever for a corporation of Microsoft''s size, resources and intellectual capital.

That said, once you grab the basics, Win32 starts to become very straightforward. DirectX gets redesigned with every major version, almost.

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!
I was extremely lost the first time I read TOTWGPG, so I got up to chapter 6 and then started over. The second time through I understood how Windows and the game structure works and everything seemed clear. Something that may seem tedious but worked for me was that I had a notebook, and I would take notes on whatever I read. This helped a lot since I retained most of what I learned by rewriting it in my own words. I haven''t finished the book yet, but I''ve been re-reading several parts until I can get the complete understanding before moving on.
quote:Original post by poozer
Win32 and DirectX programming are not easy to learn especially for someone who is new to programming. Frankly, they are not a very well designed set of APIs.


You can say that again. It doesn''t help that the API documentation is atrocious.

My big problem is that there is very little cohesion between the data types and the functions that work with them. In Java, if you are working with some class, you can easily browse the API documentation for that class and see 99.99% of the methods that are useful for that class. In Win32 programming, I HATE seeing stuff like:

InitObjectX(objectX)

How the hell am I supposed to know there is an InitObjectX() method floating around? I can live with ObjectX->Init(), but the other way just drives me crazy. The Win32 API shows all the signs of a patchwork design. It seems like the developers just added whatever was convenient for them at the moment, disregarding the large-scale view of the API.
quote:Original post by SpaceRook
In Win32 programming, I HATE seeing stuff like:

InitObjectX(objectX)

How the hell am I supposed to know there is an InitObjectX() method floating around? I can live with ObjectX->Init(), but the other way just drives me crazy.

Uh, that''s the difference between object-oriented and procedural.

quote:The Win32 API shows all the signs of a patchwork design. It seems like the developers just added whatever was convenient for them at the moment, disregarding the large-scale view of the API.

Not in the way that you think. The Win16 API, on which the Win32 API was built, has existed since around 1983, way before object-oriented programming became the "hottest" paradigm. People learning to program in recent times who haven''t paid attention to thier history may therefore be frustrated by C-style procedural functions which take the data structure as a parameter. Furthermore, if you actually looked in MSDN you''d find all the documentation - it''s just not terribly newbie-friednly (and yes, there are undocumented Win32 API features).

Java is a language. Win32 is a general-purpose OS API designed to interact with several languages, some of them OO and some not, some modern and some archaic. There''s bound to be some very rough edges. Finally, the pieces of the Win32 API are slowly being replaced. Look into ATL and WTL (template class libraries that encapsulate ActiveX/Windows controls functionality) for Windows programming, and GDI+ (an object-oriented replacement for GDI and a standard component of WinXP, also available as a redistributable download for 9x and NT kernels other than Windows 95).

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ | MS RTFM [MSDN] | SGI STL Docs | Google! ]
Thanks to Kylotan for the idea!
quote:Original post by Oluseyi
Original post by SpaceRook
In Win32 programming, I HATE seeing stuff like:

InitObjectX(objectX)

How the hell am I supposed to know there is an InitObjectX() method floating around? I can live with ObjectX->Init(), but the other way just drives me crazy.

Uh, that''s the difference between object-oriented and procedural.


Not really. I''m comfortable with procedural programming and was programming C on Unix machines long before I was spoiled by the easy Java API. The UNIX systems are a great example of how procedural can be done right. Functions are in logical places. The header files are sensibly organized, and the "man" command is way more useful than MS''s useless Help->Search function. I stand by my statement that the Win32 API is a mess.

Hey,

I''ve been programming for years in various languages, pascal, cobol, dbase/foxpro etc and I have found the TOTWGPG book mind-boggling. What I did was read through the entire book, and then re-read it. Luckily I didn''t find Windows too much of a mind-blower but I have re-read and re-read and re-read chapters 3 onwards.

The bulk of it seems to lie in in chapters 3 - 8. The rest like DirectSound and AI are relatively easy compared to the DirectX stuff.

Repitition is the key for me and realizing that games programming REALLY IS HARD! It''s not something that can be done in a few months unless you have the knack, if you don''t study, study, study until you hear that CLICK inside your head

This topic is closed to new replies.

Advertisement