Sign in to follow this  
gtaylor

Hardware for teaching game programming

Recommended Posts

I have been asked to provide advice on purchasing computer hardware for teaching game programming. Does anyone have any advice on what would be found in the ideal teaching environment? I was planning to recommend decent specced PCs with a mid-range gaming video card and a decent (low response time) LCD display. 1. Is it necessary (or desirable) to have the latest generation graphics (x800XT or 6800 Ultra) card in each PC? 2. Would a mid-range graphics card (9800XT or 6600GT) be good enough? 3. Is there any particular advantage to using either ATI or NVIDIA graphics cards? 4. Is an integrated audio solution sufficient or is an Audigy ZS or other sound card required? 5. Is there any advantage to choosing an equivalently priced Intel Pentium IV over an AMD Athlon 64? 6. How much memory is required? Would 1GB be sufficient? 7. Would there be a significant advantage in using a dual-monitor configuration on each PC? Any other advice or suggestions would be appreciated.

Share this post


Link to post
Share on other sites
1. Is it necessary (or desirable) to have the latest generation graphics (x800XT or 6800 Ultra) card in each PC?
NOT REALLY.

2. Would a mid-range graphics card (9800XT or 6600GT) be good enough?
YES.

3. Is there any particular advantage to using either ATI or NVIDIA graphics cards?
EITHER IS FINE.

4. Is an integrated audio solution sufficient or is an Audigy ZS or other sound card required?
MOST DECENT MOBOs HAVE ACCEPTABLE SOUND CAPABILITY. UNLESS THE COMPS ARE GOING TO BE USED TO TEACH SOUND EDITING/PROGRAMMING YOU DON'T NEED THE ADVANCED SOUND STUFF.

5. Is there any advantage to choosing an equivalently priced Intel Pentium IV over an AMD Athlon 64?
JUST MAKE SURE YOU GET UPGRADEABLE HARDWARE. I.E., SOCKET 940 IS NOT GOING TO BE CONTINUED BY AMD ANYMORE.

6. How much memory is required? Would 1GB be sufficient?
1 GB DOESN'T COST A LOT MORE THAN 512 SO GO 1 GB.

7. Would there be a significant advantage in using a dual-monitor configuration on each PC?
NOT SURE BUT I DOUBT IT.

Any other advice or suggestions would be appreciated.
AN EQUIVALENT QUALITY CRT IS CHEAPER THAN AN LCD, ASSUMING YOU ARE GETTING A DECENT SCREEN SIZE. CONSIDER CRTs.

Share this post


Link to post
Share on other sites
You don't really need a decent machine to be taught programming. These guys are not learning MAYAS are they?

If it's an organization I'd say something more cost effective is better. Do you REALLY need even 9800? As far as I'm concerned my ATI 7000 is more than sufficent.

and since when did 9800 became mid range :(:( It's still one of my dreams

Share this post


Link to post
Share on other sites
Quote:
Original post by gtaylor
I have been asked to provide advice on purchasing computer hardware for teaching game programming. Does anyone have any advice on what would be found in the ideal teaching environment? I was planning to recommend decent specced PCs with a mid-range gaming video card and a decent (low response time) LCD display.


Having an LCD display for gaming and game development is ok if you need the space, but if otherwise if you have the room definately get CRT monitors. That way you are able to test in various resolutions and also have much better quality.

Quote:

1. Is it necessary (or desirable) to have the latest generation graphics (x800XT or 6800 Ultra) card in each PC?

I would say if you are teaching game development with DirectX9 you should use FX5200's. Anything above that is overkill to the max, especially for teaching beginners who won't be able to max that card for a good year or so.

Quote:

2. Would a mid-range graphics card (9800XT or 6600GT) be good enough?

I would stick with either low-end or mid-range.. although the cards you specified are still high-end cards just lower on the scale. I think you are aiming way too high here by recommending 9800XT's or 6600GT's.

Quote:

3. Is there any particular advantage to using either ATI or NVIDIA graphics cards?

Not really with Windows development as they both perform very close. BUT always go with nVidia if you are planning on cross-platform development and/or Linux game programming. You'll thank me later. Also if the course is heavy on OpenGL, nVidia does crank out the better OpenGL scores.

Quote:

4. Is an integrated audio solution sufficient or is an Audigy ZS or other sound card required?

Integrated audio is perfectly fine unless you are learning the EAX API.

Quote:

5. Is there any advantage to choosing an equivalently priced Intel Pentium IV over an AMD Athlon 64?

The Athlon 64's are much better in my opinion (this coming from a guy with 5 Intels.. but my next machine is definately an AMD).

Quote:

6. How much memory is required? Would 1GB be sufficient?

You can easily get by with 512MB RAM.. 1GB again is overkill for teaching.

Quote:

7. Would there be a significant advantage in using a dual-monitor configuration on each PC?

None whatsoever, what you want is a single monitor 17 or 19" CRT display.

Quote:

Any other advice or suggestions would be appreciated.

Please remember that when you are teaching game development the students are not going to be producing games that need your high-end spectrum hardware. Also note that having lower-mid level hardware is actually better to learn on than high-end hardware. Just remember that the majority of people actually own low-end to mid-end systems, and especially for indie developers and new people the target audience most likely has a low end system.

Some of the top causes for failure in education facilities and especially in businesses are over-purchasing. You should buy only what you need, and upgrade later if you find you ever need it. You have spec'd out some rediculously high-end PCs that new developers have absolutely no need for. Go with only what you need.

Share this post


Link to post
Share on other sites
Thank-you for your advice. I wasn't given much guidance on what is required except that it has to be less than AU$3000.00 per machine (around US$2,200.00). I have a good knowledge of PCs in general but know next to nothing about game development. I think they wanted 'state of the art' equipment.

Given your advice I will probably recommend purchasing our standard PC (PIV 3.0GHz, 512MB, 17-inch CRT, integrated mobo) and simply adding in a low-end NVIDIA video card.

Quote:
Some of the top causes for failure in education facilities and especially in businesses are over-purchasing.


I couldn't agree more with you on that one. The problem is that the people making the purchasing decisions have a poor knowledge of what is actually required or have unrealistic expectations about what is achievable. Sometimes they just want to spend the bucket of money that has been handed to them.

I will check back on this thread for the next few days if anyone else wants to add anything.

Share this post


Link to post
Share on other sites
I agree with most posts above. The only thing I beg to differ from is CRTs. You also need to consider space and power consumption. A half-decent LCD will pay out in terms of cost effectiveness. Depending on the size of the class room and the number of machines I'd calculate beforehand how much difference in running costs of LCD and CRT versus cost price difference (thermal issues left aside for simplicity - cheaper CRTs can get awfully hot).
It might be worth to consider this, even though CRTs have a better cost/performance ratio at first glance.

Other than that I fully support Saruman's arguments, especially since students might be getting into the habit of choosing the most simple solution over a more efficient one if they are used to high-end hardware.

Cheers,
Pat.

Share this post


Link to post
Share on other sites
Hi, here at the University of Teesside our games programming labs have Radeon 9800 pros with LCD monitors. We use Pentium 4 3Ghz processors and have 2Gb of ram. The labs are used for .net development, 3DS max etc. hence the large ram. You also have to future proof to a degree and while I would not suggest going for the complete top end machines I would aim fairly high in order to give some longevity to the machines. We teach DirectX and OpenGL and the graphic card needs to support shaders 2 at least in order to teach the programming of those.

Totally away from PCs have you seen the xgamestation? It looks like it could be a great teaching tool: www.xgamestation.com if it ever appears...

Share this post


Link to post
Share on other sites
Quote:
Original post by darookie
The only thing I beg to differ from is CRTs. You also need to consider space and power consumption. A half-decent LCD will pay out in terms of cost effectiveness. Depending on the size of the class room and the number of machines I'd calculate beforehand how much difference in running costs of LCD and CRT versus cost price difference (thermal issues left aside for simplicity - cheaper CRTs can get awfully hot).


I do agree with you on cost and space in LCD vs. CRT.. but in my opinion it just isn't worth it to give up the gains you have not using an LCD... maybe it is different for others though.

I mean with a CRT you are able to switch resolutions and see it perfectly. I'm not sure about you guys but I always check my games and demos in every resolution available to make sure it looks good. You can't do this with an LCD because you aren't going to get a crystal clear picture and you don't know if its just the monitor screwing it up or not.

Also with a CRT the picture quality is just that much better, I use my LCD for typing code and that's about it.. and that is only because it is attached to my system! (I pretty much use a notebook all the time) I multi-monitor to run the actual game applications on the CRT and I would do away with the LCD if it were a stand alone.

Share this post


Link to post
Share on other sites
if you are thinking about teaching for a long time, i would go a little high that way i could still implie some new technology... but that just me if i had the money i would go crazy also so i don't if you would feel me!

Share this post


Link to post
Share on other sites
I would recommend that the video cards that you purchase be compatible with the latest version of directx. Other than that, you really don't need a whole lot of power behind them. It's doubtful that students will be doing anything high-poly enough to necessitate a better card.

Share this post


Link to post
Share on other sites
Quote:
Original post by Trip99We teach DirectX and OpenGL and the graphic card needs to support shaders 2 at least in order to teach the programming of those.


Which graphics cards support Shaders 2.0? A quick search using google seems to indicate that Shaders 2.0 is not fully supported by NVIDIA cards.

Share this post


Link to post
Share on other sites
You don't really need hardware thats so powerfull, so I'll give you the same advice I give anyone: Look at the price for what you get and find the step that starts showing diminishing returns. Take for example a Pentium 4 CPU, if you start at say, 2.6Ghz you'll notice that the price difference is small (30-50$ or so) for the next-better CPU, up until about 3.4 ghz when it sudenly becomes 100$ or more. You can also use the simple performace/cost equation. Mhz is a good guide among one type of CPU, but its not neccesarily accurate between AMD and Intel.

Some of the labs at Digipen run as low as p3 600Mhz with GeForce3s, The better labs are roughly 1.4Ghz P4s with GeForce4s. Even the 4th year students aren't exactly pushing the hardware to its limits.

All that said, with an investment for the coming years, I'd go with a Dx9 graphics card. FX5200, 5700 or radeon 9600 are plenty, but make sure you get versions with a 128bit or better memory bus or the cards will be crippled (watch out for LE or SE versions, check the specs!) Nvidia gets bonus points for better linux/openGL support. At least P4 2.4ghz w/800 fsb and HT, since those features really don't cost you any more than not getting them. 512MB ram is good, bonus if you can get it as a dual-channel config. Integrated NIC/audio/USB are all more than sufficient.

Don't forget the cost of development software too. Visual Studio (or C++) .net will run you 100-200$ per seat, photoshop would be nice, but paint-shop pro is nearly as good for a fraction of the cost (also, I'll recomend ProMotion because its a great little sprite editor, google it!). Also, think about setting up a server for back ups, or even a CVS/sourcesafe repository. Don't skip on the tools, theres no excuse to not have Visual studio - its the best IDE available, you should however also plan on installing Cygwin and other compilers. Maybe get some copies of Borland C++ builder 6 for quick and easy tool development too. Make sure you have sufficient tools before you worry about how uber the PCs are.

Good luck.

Share this post


Link to post
Share on other sites
Quote:
Original post by Ravyne
You don't really need hardware thats so powerfull, so I'll give you the same advice I give anyone: Look at the price for what you get and find the step that starts showing diminishing returns. Take for example a Pentium 4 CPU, if you start at say, 2.6Ghz you'll notice that the price difference is small (30-50$ or so) for the next-better CPU, up until about 3.4 ghz when it sudenly becomes 100$ or more. You can also use the simple performace/cost equation. Mhz is a good guide among one type of CPU, but its not neccesarily accurate between AMD and Intel.

Some of the labs at Digipen run as low as p3 600Mhz with GeForce3s, The better labs are roughly 1.4Ghz P4s with GeForce4s. Even the 4th year students aren't exactly pushing the hardware to its limits.

All that said, with an investment for the coming years, I'd go with a Dx9 graphics card. FX5200, 5700 or radeon 9600 are plenty, but make sure you get versions with a 128bit or better memory bus or the cards will be crippled (watch out for LE or SE versions, check the specs!) Nvidia gets bonus points for better linux/openGL support. At least P4 2.4ghz w/800 fsb and HT, since those features really don't cost you any more than not getting them. 512MB ram is good, bonus if you can get it as a dual-channel config. Integrated NIC/audio/USB are all more than sufficient.

Don't forget the cost of development software too. Visual Studio (or C++) .net will run you 100-200$ per seat, photoshop would be nice, but paint-shop pro is nearly as good for a fraction of the cost (also, I'll recomend ProMotion because its a great little sprite editor, google it!). Also, think about setting up a server for back ups, or even a CVS/sourcesafe repository. Don't skip on the tools, theres no excuse to not have Visual studio - its the best IDE available, you should however also plan on installing Cygwin and other compilers. Maybe get some copies of Borland C++ builder 6 for quick and easy tool development too. Make sure you have sufficient tools before you worry about how uber the PCs are.

Good luck.


Seconding that.

Share this post


Link to post
Share on other sites
I have obtained further details regarding the software which is to be used in the teaching environment. I have listed the software together with the components I believe most effect the performance of the software:

1. 3D Studio MAX - CPU
2. Adobe Premiere - CPU/Memory
3. SoundForge - CPU
4. MAYA - VIDEO CARD, CPU (Rendering)
5. TerraGen - CPU

Given the above software requirements what hardware should I recommend? Would the performance benefits (if any) of dual processors and workstation level video cards (ie Quadro) be worth the additional cost?

Share this post


Link to post
Share on other sites
Quote:
Original post by gtaylor
1. Is it necessary (or desirable) to have the latest generation graphics (x800XT or 6800 Ultra) card in each PC?

2. Would a mid-range graphics card (9800XT or 6600GT) be good enough?

3. Is there any particular advantage to using either ATI or NVIDIA graphics cards?

4. Is an integrated audio solution sufficient or is an Audigy ZS or other sound card required?

5. Is there any advantage to choosing an equivalently priced Intel Pentium IV over an AMD Athlon 64?

6. How much memory is required? Would 1GB be sufficient?

7. Would there be a significant advantage in using a dual-monitor configuration on each PC?

Any other advice or suggestions would be appreciated.

I'd say you should go for getting support for as many features as possible. Speed isn't as important for programming.
With that in mind:
1: A Geforce 6x00 might a good idea, with support for SM3.0
You should be able to find a 6600 or even 6200 at a pretty good price. They also have good Linux support, which might or might not be relevant. (ATI's Linux support is basically nonexistent)

3: As I said above, the 6x00 series has the most features, which could come in handy for programming.

4: Should be fine with integrated. Again, what matters are the features supported. If it can play sounds, how much more do you need? If you're going to make a sound studio, then yes, you need more, but if you just want to teach game programming then integrated is fine.

5: On the contrary. Lets ignore the performance and heat issues (Athlon 64 wins hands down in both these, but they're not really that relevant to programming), we're left with the important issue: Features. The Athlon 64 has 64 bit support, which might be fun to play around with when programming. The P4 doesn't support that. On a side note, an Athlon 64 is actually *way* faster at compiling, but as I said, I don't think performance really matters.

6: 1GB should be plenty. You could get by with less, but 1GB sounds good to me.

7: If possible, it could be nice. But I doubt it'd be neccesary.

But if I were to teach game programming, my #1 priority would be that the computer supported every feature I might want to play around with. That means both 32 and 64 bit code (Which means Athlon 64), it means I'll want to work in both Windows and Linux (Which means NVidia), and I'll want to have support for the newest graphics features (which also means NVidia).

Share this post


Link to post
Share on other sites
Well,... what sort of game programming are you talking about? If its something like teaching highschool students how to code and end up with Pong or something, then, you can easily do it on 486s,...

Really bugged me that highschools get rid of 400mhz computer, as they're 'out of date' but they're still more than enough to type stuff up on!

Share this post


Link to post
Share on other sites
All of us assume you're teaching 3D graphics, otherwise the graphics card doesn't matter much. Anything you can buy will be overkill for 2D.

I'll weigh-in with nice CRT's as being better. If I had $600 to spend on a monitor, a high-quality flat-CRT is way better for graphics than an LCD; you get more inches of screen space, a lower dot pitch, and higher refresh rates. (19" is the minimum size, but you can get a 21" or 22" in a CRT for the cost of a 19" LCD).
For full-screen graphics, dual-monitors are useful because you can set it up to debug on the second monitor.

I would say it is desirable to have new graphics cards. You're going to use the machines for more than a couple of semesters, and the 3D cards will have the biggest impact on what you can do with them.

You should teach OpenGL because it has more applications beyond games and is most likely the API of choice in college courses. With OGL in mind, nVidia is the stronger vendor. I have both nVidia and ATI cards, and use both with Windows and Linux. If you have a new ATI with the proprietary ATI driver, it works quite well under Linux (and is more complicated to setup, but that's consistent with tweaking power of Linux).

If it were me, I would have lots of different machines. And part of the class would be making your stuff work on more than one OS, CPU architecture, and graphics card.

Share this post


Link to post
Share on other sites
Out of what I can tell, you really dont need anything high-end at all.

I'm assuming you're going to be teaching students who have a basic grasp of programming and want to extend their skills into 3D, in which case the specs you have listed are SERIOUS overkill.

I'm sitting here developing my own engine, tools and artwork on an p3-850 with 256 megs of RAM and a GeForce 3 ti 200, which would cost all of about $500AU to put together (Probably less now :( ) and I can do almost everything you would probably be teaching throughout the extents of the course. You should be able to get away with spending well less that $1000AU per system quite easily.

HOWEVER, if your course is tailoring more to people who know 3D programming and want to extend their skills further (Mainly into advanced topics such as pixel-shading or real-time raytracing), or even if you're going to be using some middleware for the course, you will probably need some higher-end PCs.

As for LCDs VS CRTs, I'd personally go with the CRTs, but I'm an artist (Mainly) and I find the LCDs tend to disort the color somewhat, and the fixed resolution really irks me (When you're using 3D tools, you really need as much screen space as you can get). Dual monitors can really help when debugging fullscreen applications and is a godsend to any graphics work you might be doing, but it's also perfectly acceptable to get by without them.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this