It sounds as if some of you think every game programer is a specialist in graphics, low-level assembly, physics simulation, networking and A.I.
This is simply not true! The average game programmer is just as specialised to any of these fields as the average application programmer is in any applicable field (e.g. DBMS's, embedded systems, driver programming, etc.).
Programmers becoming better, or just the hardware?
Quote:Quote:Original post by jollyjeffers
I will maintain the view for a long time, that a good games programmer is often a lot lot more technically proficient than other general programmers. I know there are exceptions to the rule, ...
Jack
Please... Do not say that ever again. There are "general" programmers around the world that did marvellous things. I am a "general" programmer (I confess I'd describe me as a programmer, not a "general" programmer), and I believe my talent/knowledge is as good as some other "game" programmers.
I feel a need to defend myself. I have 3 points of reference:
1. Games programmers I know
2. Software Engineers from IBM's SWG (my current colleagues)
3. Fellow students at university
Your averageteenage programmer thats enthusiastic about games (like a few people around this site) is often a better programmer than a teenage database/VB editors/hobbyist progammer. That is not to say, in the slightest, that either are **bad** programmers.
The software engineers at IBM are phenomenally talented, almost all of them are BSc/MSc in computing/maths/physics. Yet, maybe just on the fact that they are mostly older ("Real" programmers [razz]) I credit their skills mostly because they have classical training (most of them were *not* trained in software engineering) yet have decades of experience within the industry.
The fellow students at university are good, but I dont rate many of them. Most people (and quite rightly so) are only interested in going as far as the first-class degree they require. If they have to learn such-and-such an algorithm they will, but if they *could* learn another way or read another research paper they probably wont. I know many (similar age) games developers that tend to read around the subject and (at least try to) absorb information like a sponge.
But, contrary to those 3 paragraphs, I did say "I know there are exceptions" - there always are.
Bottom line, I respect your opinion, but based on my above argument, I stick to my original assessment. Game programmers are better, but two points for clarification:
1. That doesn't mean whomever they're better than is **bad**
2. That doesn't mean that just cos they're better they're godlike or two/three/four times better.
Sorry to come down all heavy, but I didn't want people running off with the wrong idea from what I said!
Have a good weekend all!
Jack
Quote:
No, design is not another issue. Design is code. The rest is micro-optimization and believe me, everybody can learn how to micro-optimize. The application we do deals with rather large images - and we need to handle them fastly. Most application needs to do things fast, not only games. You don't want to wait 10min to have the result of 1+1 in Excel, do you?
When I said "design", I said it in the context of the phrase "how good the game will be", and I meant "game design", like gameplay,story and such, not code design.
As for Excel, it's interesting you mentioned that. A couple of years ago I was making a small 3D graph application, and I wanted the user to be able to insert any random function as a string and see it in 3D. At first, I just linked to Excel, and evaluated the function for different parameter values using the grids of a spreadsheet. For large detail, it was slow as hell. I had to write my own code that translated the string into postsign notation(e.g: ab+), and then translate that into FPU opcodes. Basically, I just translated the string into real machine code and store it into memory. After that, that code could be executed as many times as I wanted and return the results and it was incredibly faster. Correct if I'm wrong, but to this day, Excel is much slower than this solution.
Well game developer have to be good but think:
- What about teh API writers
- What about the device driver writers
- What about the OS writers
ace
- What about teh API writers
- What about the device driver writers
- What about the OS writers
ace
I actually think programmers are getting worse overall.
Referring back to the Lounge's Smartest Person thread, they were all talking about Einstein, Newton, etc. Newton's comments about standing on the shoulder's of giants applies here too.
The reason why people can apply better algorithms is because someone discovered it. It's one thing to make an impressive program when you have all the knowledge you need, it's another thing when you're the first person ever to attempt such a program.
With hardware out today, and the graphics SDK's, I can look up in MSDN functions to draw triangles, create textures, etc. But remember, back in the late 70's, early 80's, you had someone who figured out they could hack the character outputs of computers to display pixels as anything they wanted (within reason of course). It would be the equivalant today of someone creating a newer and better pixel and vertex shader before the hardware even officially supported it.
As for getting worse...
The better compilers are making people more lazy. The more memory and hard disk are making people lazier. Trying to create a game with a 4 MHz processor and 32KB of RAM & 64 KB of diskspace on a slow access tape is completely different than with a 2 GHz processor and over 2 GB of RAM and gigabytes of diskspace (at 7200+ RPM/sec).
Think about it. No automatic memory management. These newer languages help take away many of the pains of programming. But you didn't have the resources to have such things. You needed to figure out cheaper ways of doing algorithms, etc. You had to simulate floating points, because your processor didn't support it. At the same time, your code needed to be compact too, because the more verbose your code, the less you can fit. (I have to give props to those people who actually worked with and can understand punchcards).
That's not to say that laziness is a bad thing. I think when it comes to programming it is a good thing. After all, we write programs, create things to simplify our lives, not make them more complicated. I just don't think that programmers today are as talented overall as 20+ years ago.
Referring back to the Lounge's Smartest Person thread, they were all talking about Einstein, Newton, etc. Newton's comments about standing on the shoulder's of giants applies here too.
The reason why people can apply better algorithms is because someone discovered it. It's one thing to make an impressive program when you have all the knowledge you need, it's another thing when you're the first person ever to attempt such a program.
With hardware out today, and the graphics SDK's, I can look up in MSDN functions to draw triangles, create textures, etc. But remember, back in the late 70's, early 80's, you had someone who figured out they could hack the character outputs of computers to display pixels as anything they wanted (within reason of course). It would be the equivalant today of someone creating a newer and better pixel and vertex shader before the hardware even officially supported it.
As for getting worse...
The better compilers are making people more lazy. The more memory and hard disk are making people lazier. Trying to create a game with a 4 MHz processor and 32KB of RAM & 64 KB of diskspace on a slow access tape is completely different than with a 2 GHz processor and over 2 GB of RAM and gigabytes of diskspace (at 7200+ RPM/sec).
Think about it. No automatic memory management. These newer languages help take away many of the pains of programming. But you didn't have the resources to have such things. You needed to figure out cheaper ways of doing algorithms, etc. You had to simulate floating points, because your processor didn't support it. At the same time, your code needed to be compact too, because the more verbose your code, the less you can fit. (I have to give props to those people who actually worked with and can understand punchcards).
That's not to say that laziness is a bad thing. I think when it comes to programming it is a good thing. After all, we write programs, create things to simplify our lives, not make them more complicated. I just don't think that programmers today are as talented overall as 20+ years ago.
Quote:Original post by Anonymous Poster
Your averageteenage programmer thats enthusiastic about games (like a few people around this site) is often a better programmer than a teenage database/VB editors/hobbyist progammer. That is not to say, in the slightest, that either are **bad** programmers.
The problem comes from how do you define 'better than' ?
You cant go on 'output' because games are always going to look better than a DB (although, it could be argued thats down to the artists and not the programmers).
Speed, well to take the example mikeman gave with Excel, now it wasnt fast enuff for 'im but its fast enuff for office work, so its speed is fine.
Code construction? That would vary between programmer regardless of the field of expertise.
As another example, I'm currently working my way along making a MD5Mesh model viewer, however I dare say their are people out there who are younger than me and have already mastered it. However, how many of them could have written a data collection backend which can sample around 50,000 servers in about 3mins, with multithreading and I'd even go as far today 100% uptime, all in about 4months from the ground up? I dare say some could, talent is talent, but not all, so who is better there?
Anyways, to get to the point of the main topic, yes programmers have gotten better because they have the resources open to them to improve. If we had had this tech 5 or 10 years ago then we would have adapted to use it earlier, maybe not such in great numbers, but it would have happened.
Maybe programmers are getting worse. I mean every day theres new things to make our lives easier, take Managed DirectX for example, no memory management, no need to deal with pointers. But is this an effort to make our games better, by making it easier for us? I dont know, because it could swing either way, people may decide to be lazier and just hack games together, or put a game together really well to a professional standard.
But then again, a programmer is only as good as the hardware he has to program on :).
But then again, a programmer is only as good as the hardware he has to program on :).
Quote:Original post by Nytegard
I just don't think that programmers today are as talented overall as 20+ years ago.
I think they are, just not in the same direction.
Back then it was all about squeezing every last drop from the cpu/ram, making things small and fast and while to an extent that still applies its become less important when it comes to writing programs because, as I said above, we adapt to the resources we have.
Dont get me wrong, what they did back then was amazing and I first cut my programming teeth on an 8mhz Atari STe so I more than appricate the skill involved , but programming now and then is a different skill set, instead of make it small and fast the pressure is make the worlds BIG and fast. The speed is still needed, we just happen to have better tools, kinda like comparing a man who made tables with simple tools (an axe to cut down the tree, saw to cut it etc) to a man who has to make bigger tables with modern tools (chairsaw, bandsaw etc), the skills are just different
Ok. Very last post, since I will not argue anymore about this. Because I'm not a game programmer, I have been somewhat hurted by some of these words. OK, hurted is a but strong, but I believe you got my point. I apologize if some of you found me rude - it was not intended.
If we continue to argue about the "who is the best programmer" thing then it would be better to have this thread moved to the lounge. If not, then we should come back on OP's question.
My mistake. I did not understand that.
< sarcasm >
Right. It was also very bad design [grin].
< / sarcasm >
Here, the "use the right tool to do the right job" apply. The "Excel is slower" is nothing compared to its power when used correclty - which, you'll have to admit, was not the case here, since you found a better solution. Excel is also a spreadsheet program with support for (possibly buggy) VB macro. You do not launch ms Word to execute a single VBA script, do you?
Best regards,
If we continue to argue about the "who is the best programmer" thing then it would be better to have this thread moved to the lounge. If not, then we should come back on OP's question.
Quote:Original post by mikeman
When I said "design", I said it in the context of the phrase "how good the game will be", and I meant "game design", like gameplay,story and such, not code design.
My mistake. I did not understand that.
Quote:Original post by mikeman
As for Excel, it's interesting you mentioned that. A couple of years ago I was making a small 3D graph application, and I wanted the user to be able to insert any random function as a string and see it in 3D. At first, I just linked to Excel, and evaluated the function for different parameter values using the grids of a spreadsheet. For large detail, it was slow as hell. I had to write my own code that translated the string into postsign notation(e.g: ab+), and then translate that into FPU opcodes. Basically, I just translated the string into real machine code and store it into memory. After that, that code could be executed as many times as I wanted and return the results and it was incredibly faster. Correct if I'm wrong, but to this day, Excel is much slower than this solution.
< sarcasm >
Right. It was also very bad design [grin].
< / sarcasm >
Here, the "use the right tool to do the right job" apply. The "Excel is slower" is nothing compared to its power when used correclty - which, you'll have to admit, was not the case here, since you found a better solution. Excel is also a spreadsheet program with support for (possibly buggy) VB macro. You do not launch ms Word to execute a single VBA script, do you?
Best regards,
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement