I’d like to suggest that models with voxels as big as the voxels in the ground could keep their voxel information, instead of just the shell, so that they can be destroyed/reshaped piece by piece instead of just disappearing after being hit enough times. Probably shouldn’t be done for trees (makes more sense that they fall), but things like rocks, bunny statues, goblin huts, the pillars and arcs in the canyon biome and so on.
- Development time to support it.
- It requires a bit more work to model, since you have to get the inside right as well, and you would probably need a file to go with it that specifies the material properties of the colors.
- It makes sense that you’re able to treat object of that scale in the same way as ground and mountain and it would be a shame not to take advantage of the power of voxels.
- It would (probably) make it easier to add interesting shapes to the environment, that feel like an actual part of it and not just a prop.
- You can hide surprises on the inside. As you’re hollowing out the bunny statue to make a house you realize it has a heart of gold.
- It should make it quite easy to support replacing ground voxels with models voxels, so that a bunny statue can be buried with just the ears sticking up, or replacing model voxels with mountain voxels, so that you can find an unfinished bunny statue sticking out of a mountain side. Or the bunny shaped hole in a mountain side where they cut one out.
(It was around this point that I started questioning if the bunny statue really has the same scale as the ground. Oh well, you get the point.)
It’s not an unusual idea for a voxel game, but I don’t think I’ve seen or heard anyone mention it so… Hi
Welcome man! love seeing new faces with new ideas around here, so you better stick around.
I love your idea as one of the long-term goals, because it would make the game so much more intricate to play with, while not actually adding to the complexity-load that newbies face: Chopping trees for wood doesn’t force you to know about each voxel, but once you’re doing some kinda advanced planning, then you might WANT to know.
But I think the biggest hurdle will be the performance load that all the voxel data will add is too much to support currently, which is why we’d probably be waiting until sometime down the road.
Also, I think that the scaling issue might be solved simply by requiring that the scales be integer multiples of the original, which would preserve their voxels cubiness
Also ALSO, I am hopeful that Team Radiant is already onto this: their terrain code and new building code already keep track of the voxel states in some way. So the future seems bright
Haha I’ve been around (on and off) since the kickstarter and won’t be leaving any time soon, but thanks anyway
I don’t think it would have to affect performance all that much. I know I said that the models should keep their voxel information, but they don’t have to actually store all the voxels in memory. Just have access to them, by checking the file, when you issue a mining order. It can be treated as part of the terrain generation. I’m assuming that voxels under ground in the terrain are not stored in memory but generated by checking the algorithm as they show up. So then if the voxel that is about to show up is within the bounding box of a model then check the model first. Sure, accessing the file and finding the right voxel is not the fastest thing to do (though “not the fastest” can still be damn fast on a computer), but if the game starts preparing it when you issue the order then there should be plenty of time before the hearthling gets there.
I’m also hoping that the team have already considered this. Like I said, it’s not an unusual idea for a voxel game, but since I haven’t seen it mentioned this is a suggestion/question to see if they have any comments on it.
I honestly think the main reason this is not in the game already is because the AI is not good enough at path-finding and understanding how to interact with a given mining order so that it can be completed without using a massive number of ladders. Especially with trees, I think the game would need some physics so that removing them by voxel would actually make more sense and be visually appealing. However, this means you would need to be more careful with bigger things if everything can collapse. Then what happens if they do fall down, do you take the remaining voxels and clip only the leaves of the tree through the ground when it is chopped down? Do falling objects cause damage? If so can you influence the direction they fall like a lumberjack?
It just raises a lot of questions that I think the devs are not ready to give a definitive answer on when there are still a lot of other things to consider, the game being in alpha and all.
I agree about the trees and mentioned in the first post that this probably shouldn’t be used for trees.
It could of course be fun with physics in the game, chopping down a tree or mining out a big chunk of rock that rolls over the enemies, but it’s definitely not something I’m expecting to see implemented.
Another way to handle trees would be to have the hearthling chop near the root as they do now, possibly removing a layer of voxels, and then the tree is animated falling over in one of the four basic directions. It then lands flat on the ground, aligned with the voxels in the terrain and voxels in the tree crown that would be underground are removed. If the tree trunk can’t land flat because something sticks up then the tree breaks apart and tree voxels are placed on top of the thing that was in the way, or something like that. Once it has fallen the hearthlings can chop it apart voxel by voxel.
But again, I’m not really suggesting that they change how trees are handled.
Anyway, trees and similar “fellable” things aside, I don’t think interacting with big objects on a voxel level would raise new questions. At least not that kind of questions. The pathfinding is a general mining problem and if I’m not mistaking you can mine out floating platforms from the terrain already. Sure, the more complex shapes in a model might make it more common, but it’s not a new question.