April 9th, 2003, 04:40 AM
War & Peace topic for a beginner who needs help.
Hello everyone. Im new to programming in C++ and Im new to this forum. But please hang on in, and see if u get what Im on about! Cheers.
Basically, I woke up one morning and realised that I wanted to program 3D games in Windows, Linux and Mac. Im not in one of those "I hate Microsoft" gangs, but I do prefer not to use their products. I want to try and stay clear of DirectX and would like to program in OpenGL instead. But where do I start, my friends?
My plan - if its a sh*t one, then please tell me otherwise! - I gonna start using Bloodshed's Dev C++ on Windows 98 to learn how to program in C++. I've currently brought two books - Sam's Teach Yourself C++ in 21 Days and Sam's Teach Yourself Game Programming in 24 Hours. Though I haven't read thru the C++ book yet (it hasn't arrived in the post yet!), I have been able to set up a window and make a small game engine by following the second book. But I was able to do that by just writing out the code in the book - but I dont know what most of the stuff means yet. Though the book touches lightly on Win32 API to setup windows, I was wondering if there are any other books that will introduce me to Win32 API nicely and gently - just so I can understand the basics of what Im doing. The book stays clear of DirectX, which is what I prefer.
So, hopefully after reading the two books I've purchased, I should be able to setup a window, and make a simple 2D game engine. Aswell as finally knowing what pointers are and classes etc. But where do I go from here? I would like to know alittle more of Win32 API just so I know what I'm doing and how the commands work when Im playing sounds and opening new windows. Are there any good books on beginning to learn Win32 API. Then I would like to move onto OpenGL. Are there any good books/tutorials for beginners on OpenGL, who do not want to use any DirectX (for inputs and sound etc.) or use Visual C++ /Borland C++.
My idea is - if Im wrong, then please tell me! - if I learn OpenGL, whilst learning the basics of Win32 API (just to get me through) I should then be able to use that code on Macs and Linux, by only changing just the Win32 API code for whatevers relevant for the other OSs.
So, to top this War & Peace topic off, what books/tutorials should I use to learn OpenGL that can be applied to Macs and Linux for the beginner. Also, is my learning path crap? Or am I on the right path to get where I want to go?
I feel like a confident pirate who thinks he knows where he's going, but he has no compass.
April 9th, 2003, 09:47 AM
Try http://www.gamedev.net/ . It looks like they have a lot of the answers to your questions, plus plenty of stuff to get you asking many more questions. They also cover the books available and have a special section for beginners.
Computer games are notorious for pushing the limits of the hardware and, I personally believe, writing them push the limits of the programmer. You're just starting out, so you have a lot to learn, but you will also learn a lot. What a programmer works on is what he learns and games programming appears to cover most of the areas of programming that there are. Plus, a games programmer has to work with issues of code efficiency that most other programmers never have to.
Good luck and have fun.
As for writing to port to other platforms, yes, it would be better to use support (eg OpenGL) that is available on all the target platforms. Plus, learn to keep a clean division line between the interface and the working code, since the interface is where most of the differences will be.
April 10th, 2003, 01:21 AM
The titles are fraudulent, so what can you expect from the books? They'll give you a very cursory taste of C++, and if you have lots of aptitude and program like crazy and are great at figuring stuff out on your own, and then put in several more years of hard work studying and programming and learning the stuff those books don't teach you, you'll be able to code some serious programs. That may not be a bad way to go, though. Some beginning C++ texts are 900 pages long, and although some are good, you may lose interest before you finish.
The other possibility with a book like the Sam's book is that you'll get so frustrated with the poor explanations and lack of meaningful insight, you'll give up. Personally, I prefer to build a good base of knowledge with a fairly detailed book that explains everything very well.
One thing you're going to learn no matter which way you proceed is that coding is tedious, slow, frustrating, and takes a huge amount of work. For some, the satisfaction of creating something and coding it so that it eventually works as imagined makes the process worth it.
Last edited by 7stud; April 10th, 2003 at 01:26 AM.