Thought that I might add this consideration later somehow, but then thought that, probably, the earlier it will be fixed/implemented the better.
Currently there is this cute dust effect that happens when you dig earth (realy like it - something CR didn't have). But the problem is that the same "earth" effect happens when you dig, for example ice (see picture below - this looks really weird).
Naturally there have to be different effects for different type of "soil".
(Maybe, there is no big deal to add other graphics for ice/sulphur/coal later but I thought that at least it is time to think it over (since this "dust cloud" feature is ALREADY implemented and it works not the way it should)).
Currently there is this cute dust effect that happens when you dig earth (realy like it - something CR didn't have). But the problem is that the same "earth" effect happens when you dig, for example ice (see picture below - this looks really weird).
Naturally there have to be different effects for different type of "soil".
(Maybe, there is no big deal to add other graphics for ice/sulphur/coal later but I thought that at least it is time to think it over (since this "dust cloud" feature is ALREADY implemented and it works not the way it should)).
Maybe one could color it depending on a RGB-section in the Material.txt?
I remember someone discussed a function to check what material is placed in the specified X,Y coordinates. Probably it would help to deal with this issue
That's possible already. You can use GetMaterial() to query the material at a certain position. I am not sure how to obtain it's color though, I think this mainly depends on the texture applied. There is also GetTexture(), but you still can't get color values from it.
I noticed this a while ago while testing my clouds, and mentioned it to Newton; I think he mentioned something about a GetMaterialColour() function, or something like that, but it had been removed. D:
A little comment about this whole dust effect thing. Right now this is only used for the shovel but I think this should be put generally into the DigFree/BlastFree functions. Of course, lastest then we need GetMaterialColour.
I do not think we need to get color actually. GetMaterial should probably be enough. Depending on that value the cloud can be be dusty brown (as it is) for earth, snowy blue for ice, poisonous yellow for sulphur etc.
Yes, that would be very doable with the current script. However, you would have to make an 'if statement' for every single material that can be dug.
ie:
It would be much better to have:
Also, with the first method, custom materials wouldn't show a proper colour.
ie:
var matcolour;
if(GetMaterial()==Material("Earth")) matcolour=RGB(124,78,31);
if(GetMaterial()==Material("Ice")) matcolour=RGB(169,210,224);
if(GetMaterial()==Material("Sand)) matcolour=RGB(228,225,165);
etc. etc.
It would be much better to have:
if(GetMaterialVal("DigFree", etc.) matcolour=GetMaterialColour();
Also, with the first method, custom materials wouldn't show a proper colour.
i think so. by the way, when you crash ice, you dont get blue dust, its white.
My bad. By "snowy blue" I meant... white with... maybe... a bit of cyan (oh... never dug ice with a showel so do not know how it should look like).
its pretty hard to dig ice with a shovel. i wonder why it was possible in earlier games. its hard work to get through ice, and its also hard to get through frozen earth. furthermore, you can dig faster through snow and sand than through earth, but i dont think diggingspeed should be changed
One would have to try incredibly hard to dig through ice with a shovel (swing shovel like axe, maybe, and that would only create a small dent chip). I think if ice was only blast-free, it would make more sense.
Guys, you won't believe it! This is exactly what I thought about this morning.
At first I thought that ice is not suppoused to be dug with a showel that's why you will probably have to blast it with explosives. Then I remembered about the discussion about implementing a pickaxe (maybe here and here) so the ice should be only "mined" using this tool (or even better: it would evaporate if you try to blast it with explosives).
Then I thought that this approach would add unnesecary complexity to the game (because the same "not dugable with showel" rule has to apply to sulphur and probably coal as well). Do we really need this?
So I ended up with thinking about applying some sort of "digging speed": digging through ice or sulphur should be slightly slower than through earth or snow.
At first I thought that ice is not suppoused to be dug with a showel that's why you will probably have to blast it with explosives. Then I remembered about the discussion about implementing a pickaxe (maybe here and here) so the ice should be only "mined" using this tool (or even better: it would evaporate if you try to blast it with explosives).
Then I thought that this approach would add unnesecary complexity to the game (because the same "not dugable with showel" rule has to apply to sulphur and probably coal as well). Do we really need this?
So I ended up with thinking about applying some sort of "digging speed": digging through ice or sulphur should be slightly slower than through earth or snow.
Well, digging speed is great idea. Strange, that I haven't come up with it... however digging trough ice is not same as digging trough earth maybe we could have differet animations for digging trough various materials? Well, that would not be really usefull, as there would be 'normal' animation and 'ice' one, maybe a bit different for sand/snow, but its still only 3 uses. IMO its worth it only if it is no more than 20 minutes of coding and creating these animations.
Well what exactly should be the difference between these animations? Well Ice could be some hacking the ice with the shovel, but I don't know if this would look good. And Sand Snow? How do you dig sand other than earth? If you can provide good templates, I could give it a try.
But white-cyan will look better(probably), and very few people will notice, that its strange. And btw. there is not much of this 'dust' when you dig ice, and it does not form 'clouds'...
What about the color that is defined in the .c4m? It can be read with GetMaterialVal.
The Color field does not exist anymore. The documentation is out of date. Material color is completely determined by its texture.
As the field is needed after all, we could back out the revision where it was removed. Unfortunately, it seems to have happened before the import to HG. So someone needs to reimplement the field into the engine. Shouldn't be that hard, though. *bugtrackdr*
Why is it needed? [Edit:] As proposed in the bugtracker I think we should deduce an average color from the texture. Reintroducing the Color field brings back unwanted redundancy and a possible error source (when copying a material and forgetting to adapt its Color). Also this makes it hard to use different textures for the same material.
I simply replaced all occurrences in the engine with the color of the top-left edge of the texture. Not particularly elegant, but iirc the only real use was the color for the palette of the landscape.bmp, so computing an average would have been overkill. I'm not even sure an average would be better for this use - if the color of the top left edge doesn't satisfy, one can simply move the texture around, and possibly get an even better color than the average.
For some textures (e.g. wall textures) you can't just shift around.
Well, is making a function return pre-set color for each texture such a problem? ^^'
By the way: I'd find something like that effect nice for the FlatUp-Animation, just a bit smaller.
Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill