The problem is that most programmers can't even program single-threaded in C without bringing the machine crashing down. As the OP's comment showed, thinking about multi-threaded coding issues makes their head explode.
After 10 years experience as a professional software engineer, I can say that certainly isn't true of most programmers I've worked with. People like that, quite honestly, have no business writing code that can run in a place that may bring the system down. Let 'em write shell scripts and VB.NET (which are frequently multi-'threaded' anyway).
The mechanics of parallel programming are becoming easier and easier as languages and libraries evolve. If you can't mentally compartmentalize the threads of a program you're writing, either you have terrible teachers (which is more common that should be the case), or you have no business being a professional software engineer.
Even though the trade rags haven't realized it, real life software engineers have been using parallel programming techniques for decades. Sure, apps are optimized for what they run on, so most shrinkwrap software at your local CompUSA probably doesn't have much of that in there, but the author missed the boat already when it comes to "had several years focusing on...".
Better learn to like that parallel programming stuff. It's the way things work.
You can get the API without the hardware. There's no good reason for this to be done in specialized hardware, especially with multi-core CPUs that are around these days.
Most likely, we're going to end up with something akin to DirectX for physics, which will help make the life of developers easier. Sure, if they people plugging values into the API's don't put any thought into it, you'll still have problems, but it will make life a little better for those that pay attention to wat theyare doing.
I'm sure that the folks at Bethesda wrote some rudimentary API for physics and linked it into their games. I think the problems with the Oblivion physics are in the content creation side of the house. Writing the engine in a game the size of Oblivion is the easy part. It's the content that takes the most of the effort. If they didn't put the effort into parameters for their simple engine, I can only imagine how much crappier (or how much more delayed) the game would have been with something more complex.
"Without patents, there would be no small inventors,"
That is utter bullshit. If we needed a system specifically encouraging small inventors, we'd put a system specifically encouraging small inventors in place.
You're absolutely correct... about that one tiny part. Other than that you're completely wrong.
That isn't the reason for the patent system. The reason we have patents is so that the knowledge created during the invention process becomes publicly documented. The point of the patent system isn't to protect the little guy, so it's fairly irrelevant that it does a poor job of doing that. The point of the patent system is to get inventors to document and publish what they otherwise would have kept secret. Any ideas of a better system for doing that?
Monopoly rights serve only those who can use capital and legal clout as leverage, most notably those who already have money and relations to power
Monopoly rights server the public domain, which gets free access to patented technology after a very short monopoly term. Last I checked, you don't need capital or clout to benefit from the public domain.
If you mean, "everything must be free", then yes, it does mean that the mindset is invalid, because the mindset demonstrably eliminates the possibility for needed interoperability. I wouldn't use HURD as the only example either. The core of GNU is glibc, which is only successful because glibc is not GPL.
If you mean that free software can succeed, well clearly that isn't invalid. It just doesn't work everywhere.
We could also get into a big semantic argument about what constitutes 'linking', but I'll skip it.
7zip is exactly the type of application that can benefit from 64 bit enhancements. Adding 64bit support would probably slow Office down though. No sense in inflating your code and thus your cache footprint so you can say you're 64 bit if you're not going to get a perfromance gain large enough to offset the hit.
It may be laziness or poor management and scheduling that is holding back 64 bit office, but it's probably for the best.
Yeah, and it also drove him to create the GNU opeating system, which is based not only around the latest design concepts (at the time), but around this philosophy. It's a real life case study, and going and learning how well Hurd is doing being idalistic (both in marketshare and in developer copyright drama) should be homework for everybody in this thread opposed to closed drivers and copyrights.
Ok, smartypants. Given your realistic physics model, what parameters would you punch in to have it unaffected by gravity, have it move slowly, but have it effect the target as if it had a huge amount of energy (as if it was seemingly really heavy)?
In other words, what parameters would you give it to have it behave in a manner that is physically impossible, yet still interact realistically with other objects in the game?
I'll just say you're flat-out wrong on this one, at least regarding the hardware acceleration. In 5-10 years, people will be laughing at you at least as much as they were at the people who said "You can't fill 512k of RAM with meaningful code!"
History is on my side. Problems frequently move back and forth between hardware and software as complexity of processors and processes increase in a cyclic pattern, but after time the processes end up staying put based on simple clasification. Processes with low IO rates end up on the general purpose CPU in the long run, while processes requiring heavy IO or stream processing stay as a specialized 'accelerator' function. Any benefit you would gain from a hardware physics engine will soon be negated by multi-core CPUs, and if necessary, MMX style instruction set extensions. If I knew how to find you in ten years, I'd make a bet with you.
whereas with Causal, you just tweak the properties of the objects/world, the physics will Just Work(TM).
Spoken like somebody who learned all he knows about the subject from a press release.
You totally mis-understood my comment. I agree with you 100%. My comment about the "blown away" effect was that they went *way* too far in Oblivion. Read some of my other posts in this thread. I think you'll find we see pretty much eye to eye.
Did I mention that game physics is hard?
I don't know if I'd go so far as to say it's "hard", but it's definatly a *lot* of work, even if you have a ready bought engine.
PPUs aren't some magic though. It's just another offload engine. None of those things you describe require them, and the hardware itself doesn't make it any easier for the game designers to implement that stuff. All it does is free up the CPU for other things. If you don't assign parameters for everything in your world, the physics are going to suck, fancy hardware, well-marketed (over-hyped) engine (library) or no.
At the end of the day, it's not the fancy technology that is going to make the most of the difference, it's the people creating the content.
Does the prospect of realistic physics really ruin a game?
Did I say that? It doesn't seem to me that I said that.
Completely realistic physics would ruin Oblivion though. "Blown Away" effects add some fun to the game, but aren't realistic in any way whatsoever, for example. What's a realistic model for a fireball spell?
They don't need acceleration, or even true realism to spruce it up. They just need attention to detail.
All of this completely ignores the fact that you can use any physics engine you'd like, hardware or no, and it'll still come out crappy if you do as lazy a job as Bethesda seems to have done. People talk about physics engines like they're some magic or something. They're not. There's still a lot of work to use them. They just take care of the math.
I wonder if you actually played Morrowind, or if you just tried it and wrote it off after an hour or so.
It's changed, just changed for the worse. There were no object interactions in Morrowind (you couldn't move things around in the game world while the game wasn't paused), so most of this stuff is actually new. Enemies going flying in Morrowind was non-existant compared to Oblivion. If you shot, let's say a Cliff Racer, it fell straight down. When you shoot a flying enemy in Oblivion, it flys back and to one side for 15 feet before bouncing off something, and flying off into some other direction. It's not uncommon to kill something and have it's body fly out of the rendering distance and out of existance so you can't loot it.
I don't know how you can possibly call the physics in Oblivion anything but "comic". It has nothing to do with 'Casual' or 'Targeted' physics. The fact of the matter is that well done targeted physics are more than good enough if your goal is a good game. We're not doing nuclear simulations here, and 'casual physics' with hardware acceleration is only required to check a box on the marketing list. The reason Oblivion's physics stand out as lacking is that they're so rediculous. Crumpled up wads of paper interact with other objects as if they weighed hundreds of pounds... as does every other type of object. Enemies that die are seemingly uneffected by anything you hit them with... except for the killing blow, where your.1lb arrow sends even the biggest, heaviest enemies flying so far that it makes a Kung Fu movie seem realistic. When you jump... Oh let's not even get into it.
Casual physics can actually subtract from a game, because it prevents you from making the obligitory tradeoffs between realism and fun. You don't wany full realism in a fantasy setting, quite honestly. If you're not going to use them though, please, pay attention to balance and details. It's that lack of attention to detail that makes the physics stand out in Oblivion. Stand out in a bad way, that is.
As an aside, this guy says that Oblivion is close to perfect in visual presentation. I'd disagree. It's great, and shaders are nifty and all, but... Well, let's just say that more notes being played doesn't mean it's a better symphony. Use discression with the shaders, guys. Just because you can is no reason for you to make every single thing shiny.
Also, all the Oblivion fanboys out there can hold off on flaming me. I'm totally addicted to the game, and I think it's great. It's OK to see negatives in something. Just because you spent $60 doesn't mean you'll be less of a man if let somebody give honest criticism.
Do you think most people even know that Lenovo is a Chinese company? They don't. No clue.
The fact of the matter is that consumers buy from companies with reputations they trust, and nobody has heard of Lenovo, so nobody trusts them. The fact of the matter is that companies buy from suppliers that can support them, and IBM had a world famous support organization. Lenovo doesn't.
Yes, the Dubai deal was xenophobic (though I wouldn't say it was irrational, since there was 'good' reason... It was all politics). That doesn't mean everything is though; even though it's popular to say negative things about the US and Americans (even if you live here).
The problem isn't who made the hardware, or where the hardware was made. The problem is who is selling, and more importantly, supporting it.
IBM had a reputation for excelent service. Even if they told everybody their laptops were made by some Chinese company and could be bought without the label for half price, businesses would still have bought the IBM product because they want the support that comes with an IBM product. Perhaps Lenovo didn't realize that when they made their purchase? Either way, if they want to retain those customers they need to build a support organization, and they need to make sure everybody knows they've built it.
Companies aren't usually racist, or xenophobic. Most big business embrace foreign production as a method to save costs. What's going on here is that the high price of a ThinkPad used to be justified because it was backed by the excelent support organization at IBM. Busunesses didn't care that Lenovo was making the laptops for IBM anyway before the sale because they were buying the service and support primarily and the hardware second. Unless Lenovo builds up a network of local on-call service personell and a rapid FRU distribution chain like IBM has, and unless they market that service organization to death, they're slowly going to lose every business and educational ThinkPad customer IBM had.
Sure, but realism is an additional way to add immersion. Why deny game developers a useful tool?
Because intentional unrealism is also a way to add immersion, and is incompatable with the corresponding realism.
The problem is that most programmers can't even program single-threaded in C without bringing the machine crashing down. As the OP's comment showed, thinking about multi-threaded coding issues makes their head explode.
After 10 years experience as a professional software engineer, I can say that certainly isn't true of most programmers I've worked with. People like that, quite honestly, have no business writing code that can run in a place that may bring the system down. Let 'em write shell scripts and VB.NET (which are frequently multi-'threaded' anyway).
The mechanics of parallel programming are becoming easier and easier as languages and libraries evolve. If you can't mentally compartmentalize the threads of a program you're writing, either you have terrible teachers (which is more common that should be the case), or you have no business being a professional software engineer.
Unless, of course, the technology would have been in the public domain _anyway_...
That's true, but the issuing of junk patents isn't a probelm that requires an overhaul of patent law... Just the enforcement of the existing law.
Boy are you screwed.
Even though the trade rags haven't realized it, real life software engineers have been using parallel programming techniques for decades. Sure, apps are optimized for what they run on, so most shrinkwrap software at your local CompUSA probably doesn't have much of that in there, but the author missed the boat already when it comes to "had several years focusing on...".
Better learn to like that parallel programming stuff. It's the way things work.
You can get the API without the hardware. There's no good reason for this to be done in specialized hardware, especially with multi-core CPUs that are around these days.
Most likely, we're going to end up with something akin to DirectX for physics, which will help make the life of developers easier. Sure, if they people plugging values into the API's don't put any thought into it, you'll still have problems, but it will make life a little better for those that pay attention to wat theyare doing.
I'm sure that the folks at Bethesda wrote some rudimentary API for physics and linked it into their games. I think the problems with the Oblivion physics are in the content creation side of the house. Writing the engine in a game the size of Oblivion is the easy part. It's the content that takes the most of the effort. If they didn't put the effort into parameters for their simple engine, I can only imagine how much crappier (or how much more delayed) the game would have been with something more complex.
There's no easy answer, but you could start with what they paid for it on the open market a few months earlier...
"Without patents, there would be no small inventors,"
That is utter bullshit. If we needed a system specifically encouraging small inventors, we'd put a system specifically encouraging small inventors in place.
You're absolutely correct... about that one tiny part. Other than that you're completely wrong.
That isn't the reason for the patent system. The reason we have patents is so that the knowledge created during the invention process becomes publicly documented. The point of the patent system isn't to protect the little guy, so it's fairly irrelevant that it does a poor job of doing that. The point of the patent system is to get inventors to document and publish what they otherwise would have kept secret. Any ideas of a better system for doing that?
Monopoly rights serve only those who can use capital and legal clout as leverage, most notably those who already have money and relations to power
Monopoly rights server the public domain, which gets free access to patented technology after a very short monopoly term. Last I checked, you don't need capital or clout to benefit from the public domain.
It depends on what you mean by the mindset.
If you mean, "everything must be free", then yes, it does mean that the mindset is invalid, because the mindset demonstrably eliminates the possibility for needed interoperability. I wouldn't use HURD as the only example either. The core of GNU is glibc, which is only successful because glibc is not GPL.
If you mean that free software can succeed, well clearly that isn't invalid. It just doesn't work everywhere.
We could also get into a big semantic argument about what constitutes 'linking', but I'll skip it.
7zip is exactly the type of application that can benefit from 64 bit enhancements. Adding 64bit support would probably slow Office down though. No sense in inflating your code and thus your cache footprint so you can say you're 64 bit if you're not going to get a perfromance gain large enough to offset the hit.
It may be laziness or poor management and scheduling that is holding back 64 bit office, but it's probably for the best.
Yeah, and it also drove him to create the GNU opeating system, which is based not only around the latest design concepts (at the time), but around this philosophy. It's a real life case study, and going and learning how well Hurd is doing being idalistic (both in marketshare and in developer copyright drama) should be homework for everybody in this thread opposed to closed drivers and copyrights.
Ok, smartypants. Given your realistic physics model, what parameters would you punch in to have it unaffected by gravity, have it move slowly, but have it effect the target as if it had a huge amount of energy (as if it was seemingly really heavy)?
In other words, what parameters would you give it to have it behave in a manner that is physically impossible, yet still interact realistically with other objects in the game?
I'll just say you're flat-out wrong on this one, at least regarding the hardware acceleration. In 5-10 years, people will be laughing at you at least as much as they were at the people who said "You can't fill 512k of RAM with meaningful code!"
History is on my side. Problems frequently move back and forth between hardware and software as complexity of processors and processes increase in a cyclic pattern, but after time the processes end up staying put based on simple clasification. Processes with low IO rates end up on the general purpose CPU in the long run, while processes requiring heavy IO or stream processing stay as a specialized 'accelerator' function. Any benefit you would gain from a hardware physics engine will soon be negated by multi-core CPUs, and if necessary, MMX style instruction set extensions. If I knew how to find you in ten years, I'd make a bet with you.
whereas with Causal, you just tweak the properties of the objects/world, the physics will Just Work(TM).
Spoken like somebody who learned all he knows about the subject from a press release.
That cuts both ways.
You totally mis-understood my comment. I agree with you 100%. My comment about the "blown away" effect was that they went *way* too far in Oblivion. Read some of my other posts in this thread. I think you'll find we see pretty much eye to eye.
Did I mention that game physics is hard?
I don't know if I'd go so far as to say it's "hard", but it's definatly a *lot* of work, even if you have a ready bought engine.
PPUs aren't some magic though. It's just another offload engine. None of those things you describe require them, and the hardware itself doesn't make it any easier for the game designers to implement that stuff. All it does is free up the CPU for other things. If you don't assign parameters for everything in your world, the physics are going to suck, fancy hardware, well-marketed (over-hyped) engine (library) or no.
At the end of the day, it's not the fancy technology that is going to make the most of the difference, it's the people creating the content.
Does the prospect of realistic physics really ruin a game?
Did I say that? It doesn't seem to me that I said that.
Completely realistic physics would ruin Oblivion though. "Blown Away" effects add some fun to the game, but aren't realistic in any way whatsoever, for example. What's a realistic model for a fireball spell?
They don't need acceleration, or even true realism to spruce it up. They just need attention to detail.
All of this completely ignores the fact that you can use any physics engine you'd like, hardware or no, and it'll still come out crappy if you do as lazy a job as Bethesda seems to have done. People talk about physics engines like they're some magic or something. They're not. There's still a lot of work to use them. They just take care of the math.
Realism is mearly one method of making a game immersive. I would argue that it's not always the best method.
Try using your imagination some time.
99 out of 100 of those mods have unexpected and undesireable side-effects.
There will be great mods for Oblivion. Almost none of them are ready yet though.
Everybody writes their name on *everything*. ;)
You seem to be under some delusion that immersion and realism are linked somehow.
I wonder if you actually played Morrowind, or if you just tried it and wrote it off after an hour or so.
It's changed, just changed for the worse. There were no object interactions in Morrowind (you couldn't move things around in the game world while the game wasn't paused), so most of this stuff is actually new. Enemies going flying in Morrowind was non-existant compared to Oblivion. If you shot, let's say a Cliff Racer, it fell straight down. When you shoot a flying enemy in Oblivion, it flys back and to one side for 15 feet before bouncing off something, and flying off into some other direction. It's not uncommon to kill something and have it's body fly out of the rendering distance and out of existance so you can't loot it.
I don't know how you can possibly call the physics in Oblivion anything but "comic". It has nothing to do with 'Casual' or 'Targeted' physics. The fact of the matter is that well done targeted physics are more than good enough if your goal is a good game. We're not doing nuclear simulations here, and 'casual physics' with hardware acceleration is only required to check a box on the marketing list. The reason Oblivion's physics stand out as lacking is that they're so rediculous. Crumpled up wads of paper interact with other objects as if they weighed hundreds of pounds... as does every other type of object. Enemies that die are seemingly uneffected by anything you hit them with... except for the killing blow, where your .1lb arrow sends even the biggest, heaviest enemies flying so far that it makes a Kung Fu movie seem realistic. When you jump... Oh let's not even get into it.
Casual physics can actually subtract from a game, because it prevents you from making the obligitory tradeoffs between realism and fun. You don't wany full realism in a fantasy setting, quite honestly. If you're not going to use them though, please, pay attention to balance and details. It's that lack of attention to detail that makes the physics stand out in Oblivion. Stand out in a bad way, that is.
As an aside, this guy says that Oblivion is close to perfect in visual presentation. I'd disagree. It's great, and shaders are nifty and all, but... Well, let's just say that more notes being played doesn't mean it's a better symphony. Use discression with the shaders, guys. Just because you can is no reason for you to make every single thing shiny.
Also, all the Oblivion fanboys out there can hold off on flaming me. I'm totally addicted to the game, and I think it's great. It's OK to see negatives in something. Just because you spent $60 doesn't mean you'll be less of a man if let somebody give honest criticism.
Oh, please.
Do you think most people even know that Lenovo is a Chinese company? They don't. No clue.
The fact of the matter is that consumers buy from companies with reputations they trust, and nobody has heard of Lenovo, so nobody trusts them. The fact of the matter is that companies buy from suppliers that can support them, and IBM had a world famous support organization. Lenovo doesn't.
Yes, the Dubai deal was xenophobic (though I wouldn't say it was irrational, since there was 'good' reason... It was all politics). That doesn't mean everything is though; even though it's popular to say negative things about the US and Americans (even if you live here).
The problem isn't who made the hardware, or where the hardware was made. The problem is who is selling, and more importantly, supporting it.
IBM had a reputation for excelent service. Even if they told everybody their laptops were made by some Chinese company and could be bought without the label for half price, businesses would still have bought the IBM product because they want the support that comes with an IBM product. Perhaps Lenovo didn't realize that when they made their purchase? Either way, if they want to retain those customers they need to build a support organization, and they need to make sure everybody knows they've built it.
Companies aren't usually racist, or xenophobic. Most big business embrace foreign production as a method to save costs. What's going on here is that the high price of a ThinkPad used to be justified because it was backed by the excelent support organization at IBM. Busunesses didn't care that Lenovo was making the laptops for IBM anyway before the sale because they were buying the service and support primarily and the hardware second. Unless Lenovo builds up a network of local on-call service personell and a rapid FRU distribution chain like IBM has, and unless they market that service organization to death, they're slowly going to lose every business and educational ThinkPad customer IBM had.