Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Mar 2nd, 2005, 7:09 PM   #1
gardon
Programmer
 
Join Date: Dec 2004
Posts: 87
Rep Power: 4 gardon is on a distinguished road
Good game programming books? Serious question

I'm not talking about Andre Lamoth's windows programming books that teach you dos game programming, I'm talking about making games like half-life 2 (not that I could make it, but show you how to use modern technology) and 3d games that will become useful.

Please, I'm desperate for help and information.

Thanks,

Gardon

YO
gardon is offline   Reply With Quote
Old Mar 2nd, 2005, 7:58 PM   #2
Mad_guy
Hobbyist Programmer
 
Mad_guy's Avatar
 
Join Date: Oct 2004
Location: Sandstorm, Techno Club
Posts: 239
Rep Power: 5 Mad_guy is on a distinguished road
Send a message via AIM to Mad_guy Send a message via MSN to Mad_guy
I suggest you study the Win32 API excessively, and be sure to choose a graphics API like DirectX or OpenGL to make your games with. You should also learn how to port your Windows games to Mac and Linux (providing you're using an API other than DX for your projects.)

DirectX isn't just a graphics API, it has things like DirectDraw and DirectSound and other numerious APIs, while OpenGL is strictly for graphics and is cross platform, while DirectX is not (at least the last time I checked.) Half-Life 2 is made with DirectX I believe, but this SHOULD NOT influence your choice. If you're going to use DirectX as your graphics API, you should go ahead and stop worrying about portability and just bust full out with strict Win32 programming.

The DirectX vs. OpenGL arguement is comparable, to say, the .NET vs. JDK arguement, or more specifically, the C# vs. Java arguement.

DirectX == Many more APIs to use than OpenGL, but no portability.
OpenGL == Strictly graphics, and is portable.

Similie:

C# == Lots of stuff Java didn't have, less portability. Makes executables.
Java == Portable. Slower than C#. Coders hate C#. Awesome for making dynamic sites.



They both have their ups and downs.

Last edited by Mad_guy; Mar 2nd, 2005 at 8:01 PM.
Mad_guy is offline   Reply With Quote
Old Mar 2nd, 2005, 9:35 PM   #3
gardon
Programmer
 
Join Date: Dec 2004
Posts: 87
Rep Power: 4 gardon is on a distinguished road
So how would a game engine fit in here?

I was looking at Truevision3D SDK, which is a game/directx based engine (I guess you could call it that) that does the wheel inventing for you.

Truevision3d.com

So how does that relate to games? Would I do that instead of learning directx, or what? Personally if I don't have to learn linear algebra to render my scenes and worlds then I won't

And lastly, if I study Win32 API, is it a time issue, or a smartness issue? I'm highly ambitious, smart (not trying to brag or anything, I just need an honest answer), and can learn things quickly. Is this going to take time to learn, or is it the smarter you are the faster you can get things done.

And... do you recommend any good books???

Thanks a ton,

Gardon
gardon is offline   Reply With Quote
Old Mar 2nd, 2005, 10:02 PM   #4
Mad_guy
Hobbyist Programmer
 
Mad_guy's Avatar
 
Join Date: Oct 2004
Location: Sandstorm, Techno Club
Posts: 239
Rep Power: 5 Mad_guy is on a distinguished road
Send a message via AIM to Mad_guy Send a message via MSN to Mad_guy
Quote:
Originally Posted by gardon
So how would a game engine fit in here?

I was looking at Truevision3D SDK, which is a game/directx based engine (I guess you could call it that) that does the wheel inventing for you.

Truevision3d.com

So how does that relate to games? Would I do that instead of learning directx, or what? Personally if I don't have to learn linear algebra to render my scenes and worlds then I won't

And lastly, if I study Win32 API, is it a time issue, or a smartness issue? I'm highly ambitious, smart (not trying to brag or anything, I just need an honest answer), and can learn things quickly. Is this going to take time to learn, or is it the smarter you are the faster you can get things done.

And... do you recommend any good books???

Thanks a ton,

Gardon
APIs, DirectX, Win32, OpenGL and all others, are entirely a time issue. You don't have to be smart to learn Win32 API programming, it takes time, for some people it'll take longer, others not as long. Intelligence does not influence you learning to use the API.
Just because you're smart, doesn't mean you'll pick it up fast. It'll take a lot of time to learn. Some people are just naturally skilled in programming and computers, even though you have to teach it all to yourself.
As for game engines, you basically have to have Trigonometry and Geometry down as far as 2d games is concerned. If you really want to do 3d games, you also must know Calculus, no "if", "and" or "but."

I can't really answer your question of "How does a game engine fit in with the API code and the Graphical API," because I'm not a genius with this stuff. Hell, I'm barely now picking up on how Win32 programming works. But basically once you get familiar with an API like Win32 it'll peice together how you could make a basic game kernel.


I heard of this one good book, I'll try to find it and edit this post if I can.
Mad_guy is offline   Reply With Quote
Old Mar 2nd, 2005, 10:09 PM   #5
gardon
Programmer
 
Join Date: Dec 2004
Posts: 87
Rep Power: 4 gardon is on a distinguished road
Wait one more thing


So how would c++ fit in with Win32 API? I just started programming, but I learn extremely fast and I could probably (in my opinion) take on Win32 and c++ right now at the same time.

Since I'm new at programming, and I have learned just about everything there is about c++ and how it works, I still have no idea on how to make a game in c++, other than Windows programming.


So would I learn Win32 API, directx, and c++ and somehow incorporate them together or what? I just don't get how people can make halo, other than brains, time, and money, because I would so love to do that, no matter what it takes, but I have no idea on how to go about it.


Also, I'm currently reading a book called: "Tricks of the windows game programming gurus-Second Edition" By andre lamothe.

It now is teaching me about creating DirectX buffers using directdraw (which no longer will be updated) and creating primary and secondary surfaces, which is so in depth that I haven't gotten a clue! I don't know if it's because I don't know directx, or how to make a game because I don't know how buffers and surfaces work or what.

Don't get me wrong, he's an amazing author and it's an amazing book, but I feel as if I need more information about windows and/or programming directx in general before I can comprehend something like that. He's calling functions and I have no idea why (lol).



Thanks,

Gardon

Last edited by gardon; Mar 2nd, 2005 at 10:17 PM.
gardon is offline   Reply With Quote
Old Mar 2nd, 2005, 10:23 PM   #6
Mad_guy
Hobbyist Programmer
 
Mad_guy's Avatar
 
Join Date: Oct 2004
Location: Sandstorm, Techno Club
Posts: 239
Rep Power: 5 Mad_guy is on a distinguished road
Send a message via AIM to Mad_guy Send a message via MSN to Mad_guy
Quote:
Originally Posted by gardon
Wait one more thing


So how would c++ fit in with Win32 API? I just started programming, but I learn extremely fast and I could probably (in my opinion) take on Win32 and c++ right now at the same time.

Since I'm new at programming, and I have learned just about everything there is about c++ and how it works, I still have no idea on how to make a game in c++, other than Windows programming.


So would I learn Win32 API, directx, and c++ and somehow incorporate them together or what? I just don't get how people can make halo, other than brains, time, and money, because I would so love to do that, no matter what it takes, but I have no idea on how to go about it.

Thanks,

Gardon
I'm not doubting you couldn't take them both on, but it's not advised.
That's like saying you can learn to ride a bike and fly a plane at the same time, soley based on the fact you think you could, they're both totally different paradigms of programming.

As far as Windows programming and C++ Win32 (which I don't know because I'm learning C win32) is concerned, it's complex, because C++ tends to make things complex, I'm afraid (not to say it sucks or something.)
However, there are tools at your disposal for Windows programming, take for example the MFC (Microsoft Foundation Class Library.)
I highly suggest you learn a whole lot about Win32 programming then move into using the MFC to get yourself some stuff done. Because the MFC will be hard to control unless you have a good grip over Win32.


Games like Halo, Fable, and Metal Gear Solid are not only games built on highly and insanely complex game engines, but they also take years to learn to program them. Not ment for discouragement, but it's true.
The hardest part is thinking the right way, coding is the easy part. The reason the big boys at Bungie or Konami are sitting there isn't because they're 'better' at programming, it's because they're better at thinking.
A 24 year old programmer can easily compete with a seasoned 30 year old game developer, but if the 30 year old has a wider span of thinking and can make things up, he'll win every time.

Unless you're virtually a genius in the context of thinking properly, you won't get hired by any big company soon, mainly because they depend on their programmers to develop fast, quality work, and the faster you think of an algorithm to help you with collision detection, the farther you are away from losing your job.

To make a game, you pretty much have to know a lot about the real world.
Most of the real world stuff you encounter every day actually plays HIGH roles in games. Things like Physics, Math, Art, everything. You'll never realize how close games and the real world are related. That's probably why it's such a big industry these days.



Based on the fact that you have at least better-than-novie experiance in programming, an excellent Win32 programming tutorial is at WinProg.

It's a C Win32 tutorial, but you should be able to relate what the author is saying to other C++ Win32 tutorials.
Mad_guy is offline   Reply With Quote
Old Mar 2nd, 2005, 10:30 PM   #7
gardon
Programmer
 
Join Date: Dec 2004
Posts: 87
Rep Power: 4 gardon is on a distinguished road
You're amazing. Thanks again.

Gardon
gardon is offline   Reply With Quote
Old Mar 2nd, 2005, 10:36 PM   #8
gardon
Programmer
 
Join Date: Dec 2004
Posts: 87
Rep Power: 4 gardon is on a distinguished road
WAit! one more thing then i'll leave you alone! haha

I'm only 16 years old. Is it too late for me to be a good programmer later on in life? What I mean is, is it too late for me to start and learn how to make games like the pros? What about college? Will I learn more there than I ever would on my own?

If I spend everyday on this stuff (because I love doing it and challenging myself, not because I'm a loner lol) like I'm currently doing, do I have a shot at becoming my own developer and creating my own game? (not with a company but by myself)

Thanks again for everything,

Gardon
gardon is offline   Reply With Quote
Old Mar 2nd, 2005, 10:45 PM   #9
Mad_guy
Hobbyist Programmer
 
Mad_guy's Avatar
 
Join Date: Oct 2004
Location: Sandstorm, Techno Club
Posts: 239
Rep Power: 5 Mad_guy is on a distinguished road
Send a message via AIM to Mad_guy Send a message via MSN to Mad_guy
Quote:
Originally Posted by gardon
WAit! one more thing then i'll leave you alone! haha

I'm only 16 years old. Is it too late for me to be a good programmer later on in life? What I mean is, is it too late for me to start and learn how to make games like the pros? What about college? Will I learn more there than I ever would on my own?

If I spend everyday on this stuff (because I love doing it and challenging myself, not because I'm a loner lol) like I'm currently doing, do I have a shot at becoming my own developer and creating my own game? (not with a company but by myself)

Thanks again for everything,

Gardon
It is absolutely not too late. And it never will be, a famous quote is, "It's never too late to become what you never were." You'll never be too old to turn back to programming games. I started programming when I was 12 so I could make games, and I still know almost nothing about making games, but that doesn't erase the deidcation you'll have to make them. In which case, you'll always want to make them and will always try, even if you fail, your next task will hopefully come together properly.

As for college, if you want to waste a whole lot of money but have kick ass references when searching for a job, you should consider MIT.
I also highly suggest that during your time as a programmer you do freelance work, in other words, try to make stuff for people and see if you can do it, even if you don't succeed, you'll hopefully get ideas and it's good practice.

If you spend every day programming and reading (I do too) then you are indeed dedicated and have a good shot at becoming a game developer some day, but eventually you'll have to work with others and expand if you want to be really serious about it.

Last edited by Mad_guy; Mar 2nd, 2005 at 10:47 PM.
Mad_guy is offline   Reply With Quote
Old Mar 2nd, 2005, 10:49 PM   #10
gardon
Programmer
 
Join Date: Dec 2004
Posts: 87
Rep Power: 4 gardon is on a distinguished road
Awesome, I really appreciate the time you took to respond to my posts.

Peace out,

Jason
gardon is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 10:45 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC