![]() |
|
|
#1 |
|
New Romantic
Join Date: Jan 2003
Location: FLIP CITY Gamertag:hurkyMcMaster PS3:JChristmas Steam:McMaster[Qt3]
Posts: 7,148
|
Game programmer
Hey,
I actually put this on my board but since there are 5 registered users I imagine I won't get a lot of feedback. I've been programming a bit lately to get back into the swing of things and am taking things slow. However, my ultimate goal is to get into game programming of some sort, if for nothing else to just have fun. In fact I'm planning on programming an old school RPG as my first project (think final fantasy 1 or phantasy star 1/2). Since I've got some time off coming up next week I was thinking of trying to burn through some basic stuff to get to the more interesting topics. I understand the basics of coding and have worked designing exciting accounting products before, so my studying in console/basic windows programming is a brush up. What I haven't done before is any real game programming (graphic/environment especially). Are there any good books out there? We're talking about me being a beginner in that field and I want to get to a more advanced level (from a beginners level). Any suggestions? |
|
|
|
|
|
#2 |
|
Hustle
Join Date: Sep 2003
Location: Rotterdam, The Netherlands
Posts: 305
|
Jason, which languages, tools and libraries are you thinking of?
For C++ and DirectX, the DirectX documentation has a number of tutorials and samples to get you started. It will almost certainly have some for other languages as well (C#, VB, etc), but I haven't checked. However, you're relatively new to programming and DirectX can get fairly complicated, so depending on your desired learning curve you might want to check out a "hobby" game programming library of some sort. Last edited by svenr; 05-02-2006 at 05:52 AM.. |
|
|
|
|
|
#3 |
|
New Romantic
Join Date: Jan 2003
Location: FLIP CITY Gamertag:hurkyMcMaster PS3:JChristmas Steam:McMaster[Qt3]
Posts: 7,148
|
At current I'm focused on C++. I imagine DirectX would be the way to go and I'm using Visual Studio 2005.
I completely put the title of this thread as programmer instead of programming and now I can't edit it. CURSES |
|
|
|
|
|
#4 |
|
Neo Acoustic
Join Date: Jun 2002
Location: Custer's Tibia, NV
Posts: 1,788
|
Lars (game programmer for 17+ years, whoa, he's old!) sez: he, and every game programmer he knows, started with the K&R C book. Once you know C++, the Effective C++ book and Code Complete will teach you good habits. He found some useful things in this RTS book. Yeah it's outdated, but if you can pick it up for a few bucks, you can't really go wrong. Stuff like pathfinding hasn't changed much.
Feel free to email me if you have any C++/game programming/getting started questions or need any help, I'll pass it along. |
|
|
|
|
|
#5 |
|
New Romantic
Join Date: Jan 2003
Location: FLIP CITY Gamertag:hurkyMcMaster PS3:JChristmas Steam:McMaster[Qt3]
Posts: 7,148
|
Excellent suggestions Sparky. I may have some more questions for Lars later. I'm going through a book at current (this Ivor Horton WROX book) and what Lars suggested looks pretty good.
|
|
|
|
|
|
#6 |
|
New Romantic
Join Date: Jan 2003
Location: FLIP CITY Gamertag:hurkyMcMaster PS3:JChristmas Steam:McMaster[Qt3]
Posts: 7,148
|
As a side note, the RTS book link goes back to the K&R book
|
|
|
|
|
|
#7 |
|
Neo Acoustic
Join Date: Jun 2002
Location: Custer's Tibia, NV
Posts: 1,788
|
|
|
|
|
|
|
#8 |
|
[Solium Infernum]
How To Go
Join Date: Apr 2003
Location: Toronto, Ontario
Posts: 14,438
|
You know, most of the game programming books I've seen have been utter trash. They don't actually teach you anything. They show you how to do some very specific crap without explaining underlying concepts and ultimately are a big waste of time.
The only books I'd recommend are the Game Programming Gems books, and the AI Programming Wisdom books. Both are good. They aren't however, for beginners. They assume you are already a solid programmer with at least a little experience in the topics that they cover. For APIs and such, your best bet is honestly to just go with shit available on the net. As for programming itself, K&R C is where it's at, followed by The Annotated C++ Reference Manual by Bjarne Stroustrup. There's really nothing specific about game programming other than it being realtime that makes it different from other programming. It's all about managing your data. Learn to program and then the games part is pretty easy. Learn to put a sprite on screen and you are done; everything else is just permutations of that. Last edited by Charles; 05-02-2006 at 08:00 AM.. |
|
|
|
|
|
#9 |
|
New Romantic
Join Date: Jan 2003
Location: FLIP CITY Gamertag:hurkyMcMaster PS3:JChristmas Steam:McMaster[Qt3]
Posts: 7,148
|
Ok, I can dig that. I suppose I should look at the STL and DirectX?
|
|
|
|
|
|
#10 | ||
|
Neo Acoustic
Join Date: Jun 2002
Location: Custer's Tibia, NV
Posts: 1,788
|
Quote:
Quote:
Jason: Yes, you'll need to learn STL and DirectX, but at this point in your studies they'll pretty much go right over your head, so don't worry about 'em yet. Edit: to start inevitable pissing match Last edited by Sparky; 05-02-2006 at 08:18 AM.. |
||
|
|
|
|
|
#11 |
|
New Romantic
Join Date: Jan 2003
Location: FLIP CITY Gamertag:hurkyMcMaster PS3:JChristmas Steam:McMaster[Qt3]
Posts: 7,148
|
I appreciate that I won't be ready for an intermediate design theory/tip book yet, I'm mostly planning ahead. Maybe I could make an awesome accounting game.
|
|
|
|
|
|
#12 |
|
New Romantic
Join Date: Sep 2005
Posts: 6,726
|
That gems book sounds pretty good. Is is set up as a series , or each volume has more in it then the previous? I know some visual basic , and medium amount of C++. I have a book on python language, is that a good language to learn for game programming?
|
|
|
|
|
|
#13 |
|
New Romantic
Join Date: Jul 2003
Location: Wearing a beard made of bees.
Posts: 5,331
|
The Freedom Government just released a game where you get to balance the budget, maybe they need some help?
http://news.bbc.co.uk/1/hi/world/europe/4946496.stm |
|
|
|
|
|
#14 |
|
Hustle
Join Date: Sep 2003
Location: Rotterdam, The Netherlands
Posts: 305
|
Yeah, most of the "game programming" books are best ignored.
Also, regarding K&R's book: I think any serious programmer should have it on the shelf, because it makes a great reference. However, if you really want to learn C++, I wouldn't start by learning C -- you'll either end up programming "C with classes" (which is certainly conceptually stronger than pure C, but not as powerful as "real" C++), or having to lose a lot of C habits once you get into C++ proper. I recommend picking up Accelerated C++ myself. This is just my personal opinion, though, and I'm not really interested in a language war. Certainly, "C with classes" is good enough for your project; but I personally think that real C++ know-how is a better investment in the long run. Finally, if you want to do a simple 2D game, it may really pay off to use a third-party multimedia library. Learning a language like C++ and a fairly complex API such as DirectX at the same time might be a little daunting, and a third-party multimedia library may very well be good enough, in terms of performance and flexibility. Books: Sparky's Code Complete suggestion is excellent. If you're interested in learning C++'s Standard Template Library, I'd enthusiastically recommend Josuttis's The C++ Standard Library : A Tutorial and Reference, which is one of the best programming books I've read, period. If you're really serious about C++, you should have Stroustrup's The C++ Programming Language 3E on your bookshelf at some point, though it's certainly not aimed at beginners. |
|
|
|
|
|
#15 | |
|
[Solium Infernum]
How To Go
Join Date: Apr 2003
Location: Toronto, Ontario
Posts: 14,438
|
Quote:
Programming is programming. The realtime aspect is the biggest difference, but it's also the easiest to learn how to do in a simple fashion. Advanced topics aren't really important for him right now. No one starting games ever jumped directly to timeslicing AI, or programming a high performance 3d engine with pixel shaded shadows, or macro generated FSM engines. |
|
|
|
|
|
|
#16 | |
|
Neo Acoustic
Join Date: Jun 2002
Location: Custer's Tibia, NV
Posts: 1,788
|
Quote:
The target audience is experienced game programmers. |
|
|
|
|
|
|
#17 | |
|
New Romantic
Join Date: Aug 2003
Posts: 8,207
|
Quote:
Jason- When I decided I would be doing much as you want to, I looked for recommendations on all the sites, and got two books recommended that (so far as I've read them) I thought were pretty decent overviews. I, of course, haven't actually programmed anything, so my approach is more one of coming from your end rather than Lars' or Charles'. But they might be worth a perusal at least: Core Techniques and Algorithms in Game Programming - Daniel Sanchez-Crespo Dalmau Game Programming Golden Rules - Martin Brownlow I think the former is better than the latter, albeit at probably a lower level too. (These are the basic parts of a game, these are some of the design theories that might be useful, these are the basic parts of a rendering pipeline, etc..) |
|
|
|
|
|
|
#18 |
|
Social Worker
Join Date: Apr 2003
Posts: 2,989
|
Are you tied to C++ (are you already really familiar with it)? If not, you might consider using something like Python. You'll get to the fun part of the programming much faster.
|
|
|
|
|
|
#19 |
|
How To Go
Join Date: Feb 2003
Location: Northern California
Posts: 10,846
|
Or try C#, which I like -- and has DirectX language support.
C/C++ are highly effecient languages -- but Python/C#/VB/Ruby/etc are more productive languages, and for a 2D game, probably just fine in terms of performance. |
|
|
|
|
|
#20 |
|
New Romantic
Join Date: Sep 2005
Posts: 6,726
|
Right now I'm about average in visual basic and C++. I know enough to design some simple programs, nothing of greater complexity though. I might try python, its a book from deitel and deitel. I know a kid from my high school who took the same class as me ,and he designed a smile video game thru it*.
* C++ not python Last edited by Jab2565; 05-02-2006 at 09:10 AM.. |
|
|
|
|
|
#21 | |
|
New Romantic
Join Date: Feb 2003
Location: Palo Alto, CA
Posts: 5,715
|
Quote:
|
|
|
|
|
|
|
#22 |
|
New Romantic
Join Date: Jan 2003
Location: FLIP CITY Gamertag:hurkyMcMaster PS3:JChristmas Steam:McMaster[Qt3]
Posts: 7,148
|
I've considered C# and plan on using it eventually but wanted to start with C++ first.
|
|
|
|
|
|
#23 |
|
How To Go
Join Date: Jun 2002
Location: Aurora
Posts: 12,768
|
Good idea, you'll like it when you switch to C# and the pain goes away. :)
|
|
|
|
|
|
#24 |
|
New Romantic
Join Date: Jan 2003
Location: FLIP CITY Gamertag:hurkyMcMaster PS3:JChristmas Steam:McMaster[Qt3]
Posts: 7,148
|
the SHARP pain. OH HO HO!
|
|
|
|
|
|
#25 |
|
New Romantic
Join Date: Jan 2003
Location: FLIP CITY Gamertag:hurkyMcMaster PS3:JChristmas Steam:McMaster[Qt3]
Posts: 7,148
|
Other than my smart assed comments, how far away are we from being at a point where C#(or any other language really) is a viable dev environment for games?
|
|
|
|
|
|
#26 |
|
How To Go
Join Date: Jun 2002
Location: Aurora
Posts: 12,768
|
For AAA games? Not going to happen anytime soon, if only because the console vendors won't bother to support anything besides C++.
For smaller games with web distribution? Already happened. Tons of Java and Flash games out there, and text adventures run in their own virtual machine (see thread in the Games forum). |
|
|
|
|
|
#27 | |
|
Goodluck!!
Join Date: Jun 2003
Location: under my laptop
Posts: 93
|
Quote:
|
|
|
|
|
|
|
#28 |
|
New Romantic
Join Date: Jul 2002
Posts: 7,549
|
McMaster - why don't you build a text-only game or an FPS mod? A text RPG or maybe a Zork clone would be more than enough work for a first attempt. v2.0 could have have graphics!
|
|
|
|
|
|
#29 |
|
New Romantic
Join Date: Oct 2003
Location: Madison, AL PSN&Live:BobJustBob
Posts: 8,590
|
Has anyone used the Torque 2D engine for anything? For $100 I've been thinking of trying it out.
|
|
|
|
|
|
#30 |
|
Spinning Toe
Join Date: Jan 2004
Location: Rightpondia
Posts: 919
|
Yeah the Torque demos do look pretty damn nice.
Failing that, I would recommend Managed DirectX in C# is a sensible choice for a hobbyist. There's no reason to code in C++ if you don't absolutely have to, really. |
|
|
|
![]() |
![]() |
||
Game programmer
|
||
| Thread Tools | |
|
|