Game Programing and Computer Programing
Hey everyone, im new to this forum, and new to game deveopment also.
So my question is, im learning C++, with the book "C++ DemystidieD" by Jeff Kent. SO far, he seems to be good. But my questions is, this book teaches Computer programing, but i want to learn Game programing.
Should i get a different book? I still use the same code, of C++, but in a different way. I will be a noob of noobs, and i dont kow anything in C++.
Can anyone help me?
And where can i find a tutorial to make Tetris?
"Game Programming", as such, doesn't exist. Game programmers are computer programmers who take the tools available to them and use them to make games. So, in short, just keep learning C++ :)
The principles that apply to normal programming also apply to game programming, so a good grounding in C++ is essential before you move on to game programming in C++.
I have been a enterprise software developer for 5 years, and have been programming for 14 years. I just started writing games and there is no difference in the coding. Games are just a lot more graphic intensive than business applications.
I am just finishing my tetris clone (tonight I'm writing the help files and the last sound bits). At first I was looking for a tetris tutorial but couldn't find exactly what I was looking for. So I just did it. I took what I knew about the game from playing it, and started designing and coding. There were a few road bumps with graphics, but after 17 hours working on it (spread across 3 weeks), it is just about finished. I am glad that I didn't find a tutorial because I learned a lot by doing it all myself. My advice to you, get comfortable with the language you are planning to use, then jump in.
If you run into issues or have questions, I'm sure people on this site will definitely help you out.
I am just finishing my tetris clone (tonight I'm writing the help files and the last sound bits). At first I was looking for a tetris tutorial but couldn't find exactly what I was looking for. So I just did it. I took what I knew about the game from playing it, and started designing and coding. There were a few road bumps with graphics, but after 17 hours working on it (spread across 3 weeks), it is just about finished. I am glad that I didn't find a tutorial because I learned a lot by doing it all myself. My advice to you, get comfortable with the language you are planning to use, then jump in.
If you run into issues or have questions, I'm sure people on this site will definitely help you out.
what chronicle17 said. :)
If you learn programming, you can program, period. [wink].
Game programming often have some different priorities and goals, but it's still programming. (For example, MS Office is supposed to play nice with other programs, only using a minimum of CPU time, while games are supposed to grab everything they can to get the best possible framerate).
But if you can program one, you can do the other as well. Although you might have to spend a few hours (or days or weeks) reading up on the tools required for that particular branch of programming.
If you learn programming, you can program, period. [wink].
Game programming often have some different priorities and goals, but it's still programming. (For example, MS Office is supposed to play nice with other programs, only using a minimum of CPU time, while games are supposed to grab everything they can to get the best possible framerate).
But if you can program one, you can do the other as well. Although you might have to spend a few hours (or days or weeks) reading up on the tools required for that particular branch of programming.
If you feel you need a book to get you started I can recommend "Beginning C# Game Programming" by Ron Penton. C# isn't terribly different from c++ and the first half of this book explains the differences and excentricities pretty well.
The second half gets you into game programming using Direct X 9. It is an inexpensive book (300 pgs so its about $20) but its been quite useful to me in learning C# and its probably the first game programming book I've read cover to cover. The author does a good job of keeping it simple and explaining his examples.
Good Luck!
The second half gets you into game programming using Direct X 9. It is an inexpensive book (300 pgs so its about $20) but its been quite useful to me in learning C# and its probably the first game programming book I've read cover to cover. The author does a good job of keeping it simple and explaining his examples.
Good Luck!
Depending upon where you want to go with it, it might be best to avoid C#. If you would like to become a professional game programmer, stick with C++. It's by far the most popular language. And if you want to write games for the consoles, remember that there hasn't been a game on a console yet written in C#.
For now, just get through your book. Learn the basics of programming. And learn how it's done in C++. Once you have that down, maybe check out a game programming book. Or don't. Just try to do something simple, like the Tetris game. Just writing a Tetris clone will introduce you to concepts that you don't read about in intro books, such as the game loop. After that, you can try something a little more difficult, maybe Pac-Man. Then hop in and try to write a GTA clone! :-)
For now, just get through your book. Learn the basics of programming. And learn how it's done in C++. Once you have that down, maybe check out a game programming book. Or don't. Just try to do something simple, like the Tetris game. Just writing a Tetris clone will introduce you to concepts that you don't read about in intro books, such as the game loop. After that, you can try something a little more difficult, maybe Pac-Man. Then hop in and try to write a GTA clone! :-)
As everyone else said computer programming and game programming is essentially the same. So just keep on learning C++, when you know the basics of C++ I want to recommend "C++ For Game Programmers" this book introduces a lot of concepts used in game programming (also in other kind of programs), but it assume you know:
functions, variables, casts, exceptions, classes, structures, etc.
functions, variables, casts, exceptions, classes, structures, etc.
I think it's much over-simplified (or maybe over-comforting for some) to say that game programming is just like any other programming. Pop quiz: Do you know how big the cache-line is of the processor you're developing for? Do you know how big the caches are? If 'no' and 'no', do you think that it doesn't matter?
For most other programmers around, sure it doesn't matter. It's all GUI-driven anyway, and that's the biggest bottleneck, so why does anything else matter?
Games are unique in many ways. One of these is that they are constantly simulating whether or not there is any user interaction. Another is that there is a wildly disproportionate number of mathematical calculations involved in calculating a frame-step of a game. The math part is good, because there are special instructions we can use to deal with math, but memory organized by normal progammers will bottleneck on memory latency so it doesn't matter.
I would say that normal programmers like to think of all computers as being the same, and would like to program imagining that there is no real hardware or caches or memory latency. Game programmers like to know exactly what they're dealing with, inside and out, especially about memory access.
Of course most people say knowing about hardware doesn't matter... fitting that the official Sony PS3 docs were released the public yesterday, and there wasn't a whisper here.
For most other programmers around, sure it doesn't matter. It's all GUI-driven anyway, and that's the biggest bottleneck, so why does anything else matter?
Games are unique in many ways. One of these is that they are constantly simulating whether or not there is any user interaction. Another is that there is a wildly disproportionate number of mathematical calculations involved in calculating a frame-step of a game. The math part is good, because there are special instructions we can use to deal with math, but memory organized by normal progammers will bottleneck on memory latency so it doesn't matter.
I would say that normal programmers like to think of all computers as being the same, and would like to program imagining that there is no real hardware or caches or memory latency. Game programmers like to know exactly what they're dealing with, inside and out, especially about memory access.
Of course most people say knowing about hardware doesn't matter... fitting that the official Sony PS3 docs were released the public yesterday, and there wasn't a whisper here.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement