So, just as I guessed I missed an elementar problem of how these 3d engines work and which parts are pre-computed and which are not. I think realtime lighting is how doom3 works so it seems possible but nonetheless your point about pre-computing "what one can see from where" makes somewhat sense to me.
I guess my simple Idea falls down over this simple fact and well, if it was as easy as I thought then everybody would probably be doing it already.
So, it seems we'll just have to wait for another few years until CPU and gfx cards have evolved to a point where these things can be done in realtime. I'm definately looking forward to it and I'm still hoping that maybe someone smarter than me comes up with a hack that "somehow works" earlier than that.
Often much can be achieved simply by accepting that a combination of cheap hacks, while in no way real, at least looks good enough to betray the gamers eye. For example the whole visibility-problem could maybe be approached by defining that the height and width of an object can only change in defined steps which would all have to be precomputed... With many terrain objects this would probably multiplicate the "half an hour" that you cited but, well, from my own (non 3d) programming expirience I know there are usually dozens of ways to cheat a seemingly unsolvable problem. The more constraints one is willing to accept the more options you get. Another one that comes to my mind would be that obviously the "floor" can only be dented up to a defined depth. It doesn't make sense to let players drill infinite holes with their weapons. OTOH even the limited effect of being able to make real craters (not only textures) with grenades and rockets would improve the expirience quite a lot. And it's not like the whole map needs to be "completely smashable". Most areas would still be quite solid (e.g. only "two levels of depth" or so) and I like to imagine that for the special case of the "map floor" there may even be more feasible hacks to get around the "view pre-compute" problem.
Anyways, as usual it's all just about the question how far you can get with these hacks (how "real" does it look) and how much effort they take (is it worth it). I assume the effort/gain ratio is just too low nowadays and that's why we're not seeing it, yet.
But thanks for your explanations and I'm not giving up hope:-)
You made me curious since you seem to know what you're talking about. I understand that doing true, physically correct, "occlusion culling" (wow, i don't have an idea what that is) would probably be too expensive to do in real time.
But, from my amateurish pov, wouldn't it be enough to do roughly the following upon an object is hit:
1. compute impact area; basically a sphere that's larger for stronger impacts and placed according to the position
of the "projectile" (or unit) that's impacting
2. "substract" that sphere from the object that was hit so the object basically gets a dent which could be
made pretty with some kind of "burned" texture, random extrusion etc.
3. replace old (pre-impact) object with new object, maybe scatter random pieces of roughly the same volume
as the dent over the "floor".
i realize that impacted objects will likely become more complex than non-impacted ones (due to the dents) and that new objects will be created (scatter). but this could probably be limited with some simple hacks (limit amount of scatter, remove old scatter etc.). also the dents can turn into holes if the impact sphere spans far enough. and obviously, at some point an object would have to "fall over" or at least down anyhow.
well, i just imagine that the "feel" of destructable terrain could very well be emulated with a bunch of hacks like this even though there's no "physically accurate" destruction going on. i mean, we've seen what the physics engine of hl2 can do and i somehow feel that it already contains many of the basic mechanisms that would be required to create such an "emulation of destruction".
for a fps shooter game this kind of "emulation" would probably be good enough? but well, i might be completely missing some showstopper problems because of my limited knowledge of 3d rendering and engines...
Well, let me jump in here. What I find disgusting is the majority of responses so far.
Most of it appears to come from 16yr old tech-nerds (ok, the slashdot-demographic i guess?) who display their flatmindedness with "wah, this so cool!!"-comments. And there's the AC who (real or not) brags about how he participated in developement of this thing.
The critical comments are very rare up to this point and that disturbs me.
I mean, this is not some new "wah, so cool"-graphics card with watercooling. It's a device designed to kill people, for real (IRL), not on screen in your basement. It's not "cool" in any way and the retarded argument that this "new weapon will save lives" just doesn't cut it. Never did.
Which is why Google use C++ for their performance intensive systems, but a very small percentage of software projects need that level of computational efficiency. Modern computers are fast. Even Ruby, which can be as much as 300 times slower than C++, can maintain a web application that gets several million hits per day with fairly modest hardware requirements.
True, the database is usually the bottleneck (when using RDBMS). I, btw, question your claim that ruby can maintain "several million hits per day" (or did you mean cache hits?) on "modest" hardware. That would either be a very simple app or not so modest hardware.
Put it another way: how many systems will have their CPU requirements double every two years? Anything less than that rate of growth, and the pace of progress rapidly outstrips the resources necessary to use the system.
Sorry but it's a bit naive to assume that hardware can simply be replaced every two years. And if the CPU was the only bottleneck things would be easier. Memory throughput is another common problem, esp. with java apps and their object churn.
Inefficiency, poor scalability and sloppy programming are three separate things. One does not automatically imply either of the others.
I have first hand expirience that sloppy programming does indeed almost always imply the other two.
In many common server-based applications, which is where Java mainly excels, the amount of resources required is proportional to the number of requests made. A good example of this would be a website, or a database. This form of problem lends itself to parallisation; it's not uncommon to have heavy-use websites or databases running off multiple machines.
Yup, the interesting metric is the rate at which you have to add new machines to keep up with the load and how soon you run into bottlenecks (i.e. i/o throughput) that can only be addressed with rather expensive hardware upgrades.
Generally speaking, it's far cheaper to buy another server than it is to employ a programmer for any significant period of time. A 100% overhead means nothing, if it saves the programmer some time.
Well, that's a common myth which holds true for small to medium installations but kicks back horribly in larger setups (>20 machines). Rackspace and power are cheap but not free. Maintenance overhead is expensive.
I agree that a constant overhead is generally not a big deal. But once you decide that throwing hardware at your problems instead of solving them is "cheaper" you've chosen a dangerous route. Encouraging sloppy programming is the last thing you want to do because it leads not only to poor scalability but also to misguided design decisions that will quickly eat up and reverse your dream of "increased productivity".
No hardware can replace good programmers. Good programmers don't cheat by crying for more hardware early.
For GUI applications too, 100% inefficiency means very little. If it takes 10ms instead of 5ms to complete an operation, the user is not going to notice. The only set of applications where this level of efficiency would be a problem, would be a CPU-intensive, single user application.
There's less difference than you might think. Take a look at this computer language shootout benchmark [debian.org]. The only significant bottleneck Java has is its startup time.
Are you blind or did you just choose to not read your own link? Java is 1-2 times slower in each of these microbenchmarks.
If 100% is not a significant overhead to you then, well, lucky you.
Also these microbenchmarks don't even consider the java garbage collector which can and does create all kinds of "funny" situations (thrashing) on it's own.
Of course, I could be wrong.. they could decide that they'll destroy the reef at a rate that will take 100 years (or 50, or 10) and decide that's a good window of time to make a huge profit...
I think you're dead-on. Having worked with large-company execs (and wannabe-execs) I can tell that the amount of greed and sheer ignorance that it apparently takes to get into such a position and the resulting ruthlessness should not be underestimated.
The droids that I was unfortunate to deal with were kind of mindlocked on terms like quarterly-revenue, ROI, dividends etc.
*If* destruction of some reef promises a positive, worthwhile bottom line I doubt that many of the type would spare a second thought. Who needs reefs anyway...
All three designs refuse to honor my default font size and instead make the text veeeery small. That sucks big time but other than that I like the second one.
Don't try to make sense of what a marketing-drone says. I once did and trust me, it is a waste of time plus it's hard to maintain a serious face when you meet one afterwards.
That usually takes a great deal of charisma and influencing skills.
Oh, you're referring to the asswiping skills, well, these are learnable if you're willing to bend over properly.
I think gp has a point. Most marketing and sales "geniuses" that I have met, even those with a pile of books near their desk of which they have actually read most of (well, at least I saw them highlighting important sections with neon markers...) were pretty, well, sorry, simple minded.
They knew how to socialize, they knew how to make "deals" with others of their breed. But when it came to actual implemention of *anything* beyond an ad-campaign they needed and need "us", the techies, to explain to them what it is that they just bought...
I know there are exceptions (there must be) but I have yet to meet a sales- or marketing-person that can display some actual hard skill. To me that means more than being able to memorize the latest acronyms of the field (without grasping them), more than knowing how to operate the outlook calendar and certainly more than building colorful PPT presentations or shuffling simple equations around in Excel.
I know these people are hired and paid for their soft skills, for creaming up customers, for holding impressive speeches with tons of buzzwords and for doing all the tedious Excel sheets.
But for my taste, and you may call me prejudiced, most of them are way overpaid for what they're doing.
You do realize that the "sound chip" in an iPod is ridiculously good, right? As in, it already is capable of better sound than most people will ever have the capability of appreciating, because of how it's used.
Well, I don't know about the other iPods but my (nowadays slightly dated) iPod Mini sounds pretty bad. So bad that I regret buying it in first place. The bass range is very weak and the sound is just overall "mushy".
I'm not an audiophile but I can attest that my old MD player sounds definately better (not only louder but clearer through same headphones and from same mp3 source). Sadly, even my $30 mp3-usb-stick sounds better...
So, just for you to know: there is at least one iPod model that doesn't output "ridiculously good" sound...
Re:Web 2.0 label technology-centric, not user-cent
on
The Best of Web 2.0
·
· Score: 1
Yes. I wondered that, too. Imho youtube is *much* nicer than vimeo. In fact, I have never even heard of "vimeo" before but see youtube-links popping up left and right...
I've been looking for this holy grail for quite some time and finally found the mCubed.
Cheaper than a hush (read: affordable). Athlon64/Turion or Pentium-M on standard ATX or MicroATX boards. Fanless.
I can only recommend it to anyone looking for total silence.
You should obviously not run your uber-highend 3d card in it (well not without spending some more bucks on extra heatpipes - or adding a fan, which kinda defeats the purpose) but other than that it performs pretty darn well for a system that you cannot hear. Not at all. I mean, ok, if you press your ear against the box you can make out the ticking of the harddisk. But I don't do that so much...
Disclaimer: I'm not affiliated with these guys. Just a very satisfied customer.
You did not try to organize yourself, organization is an attitude with a method. Boxing things in drawers it is not.
Oh right, thanks for telling me what I did and what I did not try. Didn't even realize I had you sitting on my shoulder for the past years.
If you are not willing to use organizational techniques, fair enough, but you are less productive than if you would use organizational and time keeping techniques that are tried and tested.
It appears that you are unwilling or unable to accept that people are different. Very much different. Your "tried and tested" techniques may work for some, but don't for others. Einstein had a reputation of being quite chaotic, remember? Yet, somehow he managed to get some things done.
People are not machines. There is no magic "one-size-fits-all" technique. I feel stupid stating the obvious but you're asking for it with your narrow-minded statement...
be the best fish. the only fish that one will ever need.
it's as easy as that, nemo.
No problem :-) I get what you're saying.
:-)
So, just as I guessed I missed an elementar problem of how these 3d engines work and which parts are pre-computed and which are not. I think realtime lighting is how doom3 works so it seems possible but nonetheless your point about pre-computing "what one can see from where" makes somewhat sense to me.
I guess my simple Idea falls down over this simple fact and well, if it was as easy as I thought then everybody
would probably be doing it already.
So, it seems we'll just have to wait for another few years until CPU and gfx cards have evolved to a point where these things can be done in realtime. I'm definately looking forward to it and I'm still hoping that maybe someone smarter than me comes up with a hack that "somehow works" earlier than that.
Often much can be achieved simply by accepting that a combination of cheap hacks, while in no way real,
at least looks good enough to betray the gamers eye. For example the whole visibility-problem could maybe
be approached by defining that the height and width of an object can only change in defined steps which would
all have to be precomputed... With many terrain objects this would probably multiplicate the "half an hour" that you cited but, well, from my own (non 3d) programming expirience I know there are usually dozens of ways to cheat a seemingly unsolvable problem. The more constraints one is willing to accept the more options you get. Another one that comes to
my mind would be that obviously the "floor" can only be dented up to a defined depth. It doesn't make sense to let
players drill infinite holes with their weapons. OTOH even the limited effect of being able to make real craters (not only textures) with grenades and rockets would improve the expirience quite a lot. And it's not like the whole map needs to
be "completely smashable". Most areas would still be quite solid (e.g. only "two levels of depth" or so) and I like
to imagine that for the special case of the "map floor" there may even be more feasible hacks to get around the "view pre-compute" problem.
Anyways, as usual it's all just about the question how far you can get with these hacks (how "real" does it look)
and how much effort they take (is it worth it). I assume the effort/gain ratio is just too low nowadays and that's
why we're not seeing it, yet.
But thanks for your explanations and I'm not giving up hope
You made me curious since you seem to know what you're talking about.
I understand that doing true, physically correct, "occlusion culling" (wow, i don't have an idea what that is) would
probably be too expensive to do in real time.
But, from my amateurish pov, wouldn't it be enough to do roughly the following upon an object is hit:
1. compute impact area; basically a sphere that's larger for stronger impacts and placed according to the position
of the "projectile" (or unit) that's impacting
2. "substract" that sphere from the object that was hit so the object basically gets a dent which could be
made pretty with some kind of "burned" texture, random extrusion etc.
3. replace old (pre-impact) object with new object, maybe scatter random pieces of roughly the same volume
as the dent over the "floor".
i realize that impacted objects will likely become more complex than non-impacted ones (due to the dents) and that
new objects will be created (scatter). but this could probably be limited with some simple hacks (limit amount of scatter, remove old scatter etc.). also the dents can turn into holes if the impact sphere spans far enough. and obviously, at some point an object would have to "fall over" or at least down anyhow.
well, i just imagine that the "feel" of destructable terrain could very well be emulated with a bunch of hacks like this
even though there's no "physically accurate" destruction going on. i mean, we've seen what the physics engine of hl2 can do and i somehow feel that it already contains many of the basic mechanisms that would be required to create such an
"emulation of destruction".
for a fps shooter game this kind of "emulation" would probably be good enough?
but well, i might be completely missing some showstopper problems because of my limited knowledge of 3d rendering
and engines...
what do you think?
And another helpful hint: Just leave it there, use postgres and get rid of SQL server.
Well, let me jump in here.
What I find disgusting is the majority of responses so far.
Most of it appears to come from 16yr old tech-nerds (ok, the slashdot-demographic i guess?)
who display their flatmindedness with "wah, this so cool!!"-comments.
And there's the AC who (real or not) brags about how he participated in
developement of this thing.
The critical comments are very rare up to this point and that disturbs me.
I mean, this is not some new "wah, so cool"-graphics card with watercooling.
It's a device designed to kill people, for real (IRL), not on screen in your basement.
It's not "cool" in any way and the retarded argument that this
"new weapon will save lives" just doesn't cut it. Never did.
True, the database is usually the bottleneck (when using RDBMS).
I, btw, question your claim that ruby can maintain "several million hits per day" (or did you mean cache hits?) on "modest" hardware. That would either be a very simple app or not so modest hardware.
Sorry but it's a bit naive to assume that hardware can simply be replaced every two years.
And if the CPU was the only bottleneck things would be easier. Memory throughput is another common
problem, esp. with java apps and their object churn.
I have first hand expirience that sloppy programming does indeed almost always imply the other two.
Yup, the interesting metric is the rate at which you have to add new machines to keep up with the load and
how soon you run into bottlenecks (i.e. i/o throughput) that can only be addressed with rather expensive
hardware upgrades.
Well, that's a common myth which holds true for small to medium installations but kicks back horribly in larger
setups (>20 machines). Rackspace and power are cheap but not free. Maintenance overhead is expensive.
I agree that a constant overhead is generally not a big deal. But once you decide that throwing hardware at your
problems instead of solving them is "cheaper" you've chosen a dangerous route. Encouraging sloppy programming is the
last thing you want to do because it leads not only to poor scalability but also to misguided design decisions
that will quickly eat up and reverse your dream of "increased productivity".
No hardware can replace good programmers. Good programmers don't cheat by crying for more hardware early.
Different story.
Are you blind or did you just choose to not read your own link?
Java is 1-2 times slower in each of these microbenchmarks.
If 100% is not a significant overhead to you then, well, lucky you.
Also these microbenchmarks don't even consider the java garbage collector
which can and does create all kinds of "funny" situations (thrashing) on it's own.
Those are no big obstacle anymore. They were changed to 12345 for dubya. Ya know, he's not so good with remembering things.
yummy!
Of course, I could be wrong.. they could decide that they'll destroy the reef at a rate that will take 100 years (or 50, or 10) and decide that's a good window of time to make a huge profit...
I think you're dead-on. Having worked with large-company execs (and wannabe-execs) I can tell that
the amount of greed and sheer ignorance that it apparently takes to get into such a position and the resulting ruthlessness should not be underestimated.
The droids that I was unfortunate to deal with were kind of mindlocked on terms like
quarterly-revenue, ROI, dividends etc.
*If* destruction of some reef promises a positive, worthwhile bottom line
I doubt that many of the type would spare a second thought. Who needs reefs anyway...
All three designs refuse to honor my default font size and instead make the text veeeery small.
That sucks big time but other than that I like the second one.
there's a point at which some of us just want to take the nearest marketer and plunge something sharp and pointy into their head.
Please aim for the chest.
Or do you really expect to hit anything worthwhile when plunging into the head?
Exactly, the huge borders and polished base make this thing look cheap and crappy.
Give me a Samsung Syncmaster over this any day:
Pics, Pics, Pics, Pics, Pics.
Not only does it look so much better, the panel also gives excellent contrast, brightness and response, plus the screen can be rotated 90 degrees...
This high rate of slashvertisements is getting really annoying.
How does this translate to libraries of congress?
I have this and can only recommend it to anyone seeking silence.
It's not cheap but hey, it's fanless.
Don't try to make sense of what a marketing-drone says. I once did and trust me, it is a waste of time
plus it's hard to maintain a serious face when you meet one afterwards.
Eight.
That usually takes a great deal of charisma and influencing skills.
Oh, you're referring to the asswiping skills, well, these are learnable if
you're willing to bend over properly.
I think gp has a point. Most marketing and sales "geniuses" that I have met, even those with a pile of books near their desk of which they have actually read most of (well, at least I saw them highlighting important sections with neon markers...) were pretty, well, sorry, simple minded.
They knew how to socialize, they knew how to make "deals" with others of their breed.
But when it came to actual implemention of *anything* beyond an ad-campaign they needed and
need "us", the techies, to explain to them what it is that they just bought...
I know there are exceptions (there must be) but I have yet to meet a sales- or marketing-person
that can display some actual hard skill. To me that means more than being able to memorize the
latest acronyms of the field (without grasping them), more than knowing how to operate the outlook
calendar and certainly more than building colorful PPT presentations or shuffling simple equations around in Excel.
I know these people are hired and paid for their soft skills, for creaming up customers, for holding impressive speeches with tons of buzzwords and for doing all the tedious Excel sheets.
But for my taste, and you may call me prejudiced, most of them are way overpaid for what they're doing.
You have to sell yourself to make yourself sucessful.
Reminds me of a better quote:
The secret of success is sincerity. Once you can fake that, you've got it made.
-- Jean Giraudoux
You do realize that the "sound chip" in an iPod is ridiculously good, right? As in, it already is capable of better sound than most people will ever have the capability of appreciating, because of how it's used.
Well, I don't know about the other iPods but my (nowadays slightly dated) iPod Mini sounds pretty bad. So bad that I regret buying it in first place. The bass range is very weak and the sound is just overall "mushy".
I'm not an audiophile but I can attest that my old MD player sounds definately better (not only louder but clearer through same headphones and from same mp3 source). Sadly, even my $30 mp3-usb-stick sounds better...
So, just for you to know: there is at least one iPod model that doesn't output "ridiculously good" sound...
Yes. I wondered that, too. Imho youtube is *much* nicer than vimeo.
In fact, I have never even heard of "vimeo" before but see youtube-links popping up left and right...
No, take it out and plug it back in every 30 minutes. Only that way you can get the worst from both worlds!
I've been looking for this holy grail for quite some time and finally found the mCubed.
Cheaper than a hush (read: affordable).
Athlon64/Turion or Pentium-M on standard ATX or MicroATX boards.
Fanless.
I can only recommend it to anyone looking for total silence.
You should obviously not run your uber-highend 3d card in it (well not without spending some more bucks on extra heatpipes - or adding a fan, which kinda defeats the purpose) but other than that it performs pretty darn well for a system that you cannot hear. Not at all. I mean, ok, if you press your ear against the box you can make out the ticking of the harddisk. But I don't do that so much...
Disclaimer: I'm not affiliated with these guys. Just a very satisfied customer.
You did not try to organize yourself, organization is an attitude with a method.
Boxing things in drawers it is not.
Oh right, thanks for telling me what I did and what I did not try.
Didn't even realize I had you sitting on my shoulder for the past years.
If you are not willing to use organizational techniques, fair enough, but you are less productive than if you would use organizational and time keeping techniques that are tried and tested.
It appears that you are unwilling or unable to accept that people are different. Very much different.
Your "tried and tested" techniques may work for some, but don't for others. Einstein had a reputation of being quite chaotic, remember? Yet, somehow he managed to get some things done.
People are not machines. There is no magic "one-size-fits-all" technique.
I feel stupid stating the obvious but you're asking for it with your narrow-minded statement...