Quarter To Three Forums

Go Back   Quarter To Three Forums > Quarter to Three Boards > Everything else

Reply
 
Thread Tools
Old 05-02-2006, 05:26 AM   #1
Jason McMaster
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?
Jason McMaster is offline   Reply With Quote
Old 05-02-2006, 05:46 AM   #2
svenr
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..
svenr is offline   Reply With Quote
Old 05-02-2006, 05:51 AM   #3
Jason McMaster
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
Jason McMaster is offline   Reply With Quote
Old 05-02-2006, 06:28 AM   #4
Sparky
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.
Sparky is offline   Reply With Quote
Old 05-02-2006, 06:37 AM   #5
Jason McMaster
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.
Jason McMaster is offline   Reply With Quote
Old 05-02-2006, 06:43 AM   #6
Jason McMaster
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
Jason McMaster is offline   Reply With Quote
Old 05-02-2006, 06:51 AM   #7
Sparky
Neo Acoustic
 
Join Date: Jun 2002
Location: Custer's Tibia, NV
Posts: 1,788
Whoopsie. It's Real-time Strategy blah blah Direct X 6.0 (yes, old book) etc. by Mickey Kawick
Sparky is offline   Reply With Quote
Old 05-02-2006, 07:43 AM   #8
Charles
[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..
Charles is offline   Reply With Quote
Old 05-02-2006, 07:56 AM   #9
Jason McMaster
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?
Jason McMaster is offline   Reply With Quote
Old 05-02-2006, 08:00 AM   #10
Sparky
Neo Acoustic
 
Join Date: Jun 2002
Location: Custer's Tibia, NV
Posts: 1,788
Quote:
Originally Posted by Charles
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.
I agree, and that's why I didn't mention them. :)

Quote:
There's really nothing specific about game programming other than it being realtime that makes it different from other programming.
...but I disagree with this. Compared to, say, applications or embedded systems programming, there are very different priorities - and challenges. Things like memory usage, optimization, streaming assets, combining all the different parts like audio/AI/graphics/video/input devices/networking/realtime events, etc. Yeah, the fundamentals are the same, and you still have to learn C++ like everybody else, but after that you learn by, well, making games.

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..
Sparky is offline   Reply With Quote
Old 05-02-2006, 08:05 AM   #11
Jason McMaster
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.
Jason McMaster is offline   Reply With Quote
Old 05-02-2006, 08:14 AM   #12
Jab2565
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?
Jab2565 is offline   Reply With Quote
Old 05-02-2006, 08:15 AM   #13
Nellie
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
Nellie is offline   Reply With Quote
Old 05-02-2006, 08:17 AM   #14
svenr
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.
svenr is offline   Reply With Quote
Old 05-02-2006, 08:23 AM   #15
Charles
[Solium Infernum]
How To Go
 
Join Date: Apr 2003
Location: Toronto, Ontario
Posts: 14,438
Quote:
Originally Posted by Sparky
...but I disagree with this. Compared to, say, applications or embedded systems programming, there are very different priorities - and challenges. Things like memory usage, optimization, streaming assets, combining all the different parts like audio/AI/graphics/video/input devices/networking/realtime events, etc. Yeah, the fundamentals are the same, and you still have to learn C++ like everybody else, but after that you learn by, well, making games.
Yeah but as a beginner that's not going to be his focus. If you are just puttering around making a game in your spare time, memory usage, optimization, streaming assets, and networking are all things he won't need to deal with. That's not something you do as a beginner, that's something you do after years of experience. Thus the learning by making games bit.

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.
Charles is offline   Reply With Quote
Old 05-02-2006, 08:26 AM   #16
Sparky
Neo Acoustic
 
Join Date: Jun 2002
Location: Custer's Tibia, NV
Posts: 1,788
Quote:
Originally Posted by pfreak
That gems book sounds pretty good. Is is set up as a series , or each volume has more in it then the previous?
Nah, they aren't a series -- each Gems book is a collection of unrelated articles ("gems") by different authors about different topics: AI, scripting, graphics, etc.
The target audience is experienced game programmers.
Sparky is offline   Reply With Quote
Old 05-02-2006, 08:27 AM   #17
mouselock
New Romantic
 
Join Date: Aug 2003
Posts: 8,207
Quote:
Originally Posted by pfreak
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?
I don't know; if it's anything like the Graphics Gems series it's a snippet of particular code that's great if that's the exact problem you're trying to solve.

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..)
mouselock is offline   Reply With Quote
Old 05-02-2006, 08:33 AM   #18
Quaro
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.
Quaro is offline   Reply With Quote
Old 05-02-2006, 08:43 AM   #19
XPav
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.
XPav is offline   Reply With Quote
Old 05-02-2006, 08:57 AM   #20
Jab2565
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..
Jab2565 is offline   Reply With Quote
Old 05-02-2006, 09:08 AM   #21
MikeSofaer
New Romantic
 
Join Date: Feb 2003
Location: Palo Alto, CA
Posts: 5,715
Quote:
Originally Posted by Jason McMaster
Ok, I can dig that. I suppose I should look at the STL and DirectX?
I am using SDL for the graphics and keyboard events for my hobby never-to-be-completed computer game coding project. I think it's a bit more friendly than DirectX and OpenGL, and it's platform neutral
MikeSofaer is offline   Reply With Quote
Old 05-02-2006, 09:14 AM   #22
Jason McMaster
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.
Jason McMaster is offline   Reply With Quote
Old 05-02-2006, 09:28 AM   #23
Chris Nahr
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. :)
Chris Nahr is offline   Reply With Quote
Old 05-02-2006, 09:29 AM   #24
Jason McMaster
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!
Jason McMaster is offline   Reply With Quote
Old 05-02-2006, 09:32 AM   #25
Jason McMaster
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?
Jason McMaster is offline   Reply With Quote
Old 05-02-2006, 09:41 AM   #26
Chris Nahr
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).
Chris Nahr is offline   Reply With Quote
Old 05-02-2006, 09:55 AM   #27
Atman Binstock
Goodluck!!
 
Join Date: Jun 2003
Location: under my laptop
Posts: 93
Quote:
Originally Posted by Charles
As for programming itself, K&R C is where it's at, followed by The Annotated C++ Reference Manual by Bjarne Stroustrup.
The ARM is a great book, but it's way outdated. You are better off with "The C++ Programming Language (Special 3rd Edition)".
Atman Binstock is offline   Reply With Quote
Old 05-02-2006, 10:00 AM   #28
Stroker Ace
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!
Stroker Ace is offline   Reply With Quote
Old 05-02-2006, 10:12 AM   #29
BobJustBob
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.
BobJustBob is offline   Reply With Quote
Old 05-02-2006, 10:38 AM   #30
LarryLard
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.
LarryLard is offline   Reply With Quote
Reply


Go Back   Quarter To Three Forums > Quarter to Three Boards > Everything else

Thread Tools

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 Off
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 02:36 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.