Ever since I started playing the Thief series of games I've developed a much better appreciation for sound in games, and find it to be rather under-utilized in many games today. Since Survival Mode is about, well, survival, I thought it would be pretty fitting to add in your noise level as a factor in surviving.
The quick version of my idea is that every block type would get a "noise" property added to it. This property would be the number of meters/squares that block type projects sound for when walked upon, and doubled for being activated since activation generally requires more effort. Monsters within range would hear the noise and move towards the source of it in order to investigate. Sneaking would, of course, drastically reduce or maybe even eliminate the noise property.
Mining in open caves would become a bit more dangerous if striking a stone block radiated sound in a 100-meter sphere. In multiplayer you could have someone bait monsters away from (or to, maybe) someone else by banging on the walls and sneaking away. Significant noise levels could scare peaceful animals away, resulting in a loose form of herding becoming available to use, perhaps with the aid of some sort of crafted noisemaker like a whistle. Overall I feel it would add a greater sense of realism and immersion.
Of course, you could always get much more in depth with the idea, too. Another property that could be added (if it isn't already there) is block density. Density would reduce the distance sound travels through that block. Say stone has a density of 25 and wood has a noise of 30. Walking in your wood-floored house with stone walls would be audible to monsters up to 5 blocks outside of your house. Meanwhile if wool or dirt has a noise level of 20, no sound will travel through your stone walls if you make your floor from those. I could see all these calculations getting rather intense on a popular server, so perhaps these "advanced acoustics" could be switched off in the server properties if desired.
I've also contemplated going a step further with the density property and utilizing it for monsters destroying blocks. Maybe a zombie really wants to investigate that sound, so they have the ability to eventually break down blocks of density X or lower in order to move towards a sound they heard. Woe be to the one who builds a single thickness wooden cabin when the zombies come crawling out of the woodwork (literally) at night.
Hopefully I'm not the only one who thinks this would add a lot more excitement/paranoia to surviving in Minecraft!
A lot of thought has gone into this, I agree; my major criticism is how things like echoing would be handled.
For simplicity's sake echoing probably wouldn't be possible, especially since Minecraft's cube/cellular nature doesn't lend itself well to bouncing sound or light waves around. In fact I'm not sure I've ever played a game that truly handled echoing as anything beyond a simple effect. All I've ever noticed echo-wise are just simple "if you're in this part of the map, play every sound twice with a minor delay, at half volume the second time."
Coding wise, I was thinking it would be implemented as a sort of A* Pathfinding for the noise value. If the noise can find a path to the monster, then the monster is alerted.
That makes sense, just remember that sound is actually heard with the return of sounds, not the actual wave leaving. We can ignore this technicality as it gets a bit too sciency.
The quick version of my idea is that every block type would get a "noise" property added to it. This property would be the number of meters/squares that block type projects sound for when walked upon, and doubled for being activated since activation generally requires more effort. Monsters within range would hear the noise and move towards the source of it in order to investigate. Sneaking would, of course, drastically reduce or maybe even eliminate the noise property.
Mining in open caves would become a bit more dangerous if striking a stone block radiated sound in a 100-meter sphere. In multiplayer you could have someone bait monsters away from (or to, maybe) someone else by banging on the walls and sneaking away. Significant noise levels could scare peaceful animals away, resulting in a loose form of herding becoming available to use, perhaps with the aid of some sort of crafted noisemaker like a whistle. Overall I feel it would add a greater sense of realism and immersion.
Of course, you could always get much more in depth with the idea, too. Another property that could be added (if it isn't already there) is block density. Density would reduce the distance sound travels through that block. Say stone has a density of 25 and wood has a noise of 30. Walking in your wood-floored house with stone walls would be audible to monsters up to 5 blocks outside of your house. Meanwhile if wool or dirt has a noise level of 20, no sound will travel through your stone walls if you make your floor from those. I could see all these calculations getting rather intense on a popular server, so perhaps these "advanced acoustics" could be switched off in the server properties if desired.
I've also contemplated going a step further with the density property and utilizing it for monsters destroying blocks. Maybe a zombie really wants to investigate that sound, so they have the ability to eventually break down blocks of density X or lower in order to move towards a sound they heard. Woe be to the one who builds a single thickness wooden cabin when the zombies come crawling out of the woodwork (literally) at night.
Hopefully I'm not the only one who thinks this would add a lot more excitement/paranoia to surviving in Minecraft!
OFFICIAL POSTING/REPLYING GUIDELINES
UNOFFICIAL POSTING GUIDE (PRT)
UNOFFICIAL REPLYING GUIDE (FTC)
Incompetence is a plague. I am the cure.
For all your wolf suggestion needs, I present the WOLF MEGATHREAD!
Stories: A Miner's Chronicle, The Lost Chronicle [Entries 32-2, 33-1, and 33-2 out!]
For simplicity's sake echoing probably wouldn't be possible, especially since Minecraft's cube/cellular nature doesn't lend itself well to bouncing sound or light waves around. In fact I'm not sure I've ever played a game that truly handled echoing as anything beyond a simple effect. All I've ever noticed echo-wise are just simple "if you're in this part of the map, play every sound twice with a minor delay, at half volume the second time."
Coding wise, I was thinking it would be implemented as a sort of A* Pathfinding for the noise value. If the noise can find a path to the monster, then the monster is alerted.
OFFICIAL POSTING/REPLYING GUIDELINES
UNOFFICIAL POSTING GUIDE (PRT)
UNOFFICIAL REPLYING GUIDE (FTC)