Dynamic Infestation Concept
culprit
Join Date: 2005-01-07 Member: 33527Members, Constellation
<div class="IPBDescription">implementation and gameplay</div>This is probably the most interesting aspect of NS2 for me. Along with the nano-grid for the marines side, DI really appears to be a very unique and expressive representation of the strategic parts of NS2. First I'll put forward a few ideas I've had about implementing the spread of DI.
The spreading of DI is something that will certainly be a tricky element to code and make look organic. Because there hasn't been much info on how DI spread will be directed, I'll make the assumption that it will be primarily zone-based much like the nano-grid concept. Once a zone of the map is occupied (kharaa RT placed), that area will begin to be covered with DI. Since DI has been described as having different levels (3), I'll first describe my idea for the spreading of the 1st level of DI.
Spark engine maps use a lot of props to create intricate geometry, and this might be a hurdle for the original DI implementation shown in that old video that only covered very basic brushwork. The idea I had was to limit the DI formation during lvl 1 of growth to only areas of intersecting geometry that are 90 degrees or more. Basically any corner of geometry in that zone would begin to grow DI across the volume of space (either in a growing sphere or cube). So this would generate tendrils of DI following along the tight spaces of the zone's geometry (acute angles with a small amount of blending into the flat areas). This growth would start at the RT or other origin (depending on how the gameplay is determined). I picture this as the dark corners and recesses and other small crevices being infested 1st. This would give a recognizable level of infestation that is still minimal and distinctive.
Once these corner spaces had been filled, the next level of infestation (2) could increase the 'width size' much like growing a border in photoshop. This would show the infestation emerging from the shadowy corners and starting to more fully dominate the space. Larger areas could still have smallish pockets of non-infested flat space near the center mostly in round (natural) shapes. This 2nd level of DI would look much more menacing and encroaching. The space might still have some resemblance to it's non-infested look, but only in very small pockets in larger spaces. The final level of DI would just cover over these pockets and perhaps increase the displacement of the corner areas first covered over in level 1.
The benefit of a system like this is that it would be pretty much wholly generative. The mapper wouldn't need to have any special entities or other objects to place or script. It could still be augmented by a more 'made-by-hand' system involving entities, but that would be an aesthetic issue for the mapper really. I also don't mean to make this seem like a simple implementation. It would have some edge cases to address (no pun intended). Most of them could probably be dealt with, but generative systems usually need some tuning to look nice and natural. Even if my assumption of DI being zone-based is completely wrong, a generative system like this could still be used by a hive-comm directed DI as well.
Since so little has been described of the devs' vision for DI's gameplay aspects, I'll leave that part of my speculation for a later time.
The spreading of DI is something that will certainly be a tricky element to code and make look organic. Because there hasn't been much info on how DI spread will be directed, I'll make the assumption that it will be primarily zone-based much like the nano-grid concept. Once a zone of the map is occupied (kharaa RT placed), that area will begin to be covered with DI. Since DI has been described as having different levels (3), I'll first describe my idea for the spreading of the 1st level of DI.
Spark engine maps use a lot of props to create intricate geometry, and this might be a hurdle for the original DI implementation shown in that old video that only covered very basic brushwork. The idea I had was to limit the DI formation during lvl 1 of growth to only areas of intersecting geometry that are 90 degrees or more. Basically any corner of geometry in that zone would begin to grow DI across the volume of space (either in a growing sphere or cube). So this would generate tendrils of DI following along the tight spaces of the zone's geometry (acute angles with a small amount of blending into the flat areas). This growth would start at the RT or other origin (depending on how the gameplay is determined). I picture this as the dark corners and recesses and other small crevices being infested 1st. This would give a recognizable level of infestation that is still minimal and distinctive.
Once these corner spaces had been filled, the next level of infestation (2) could increase the 'width size' much like growing a border in photoshop. This would show the infestation emerging from the shadowy corners and starting to more fully dominate the space. Larger areas could still have smallish pockets of non-infested flat space near the center mostly in round (natural) shapes. This 2nd level of DI would look much more menacing and encroaching. The space might still have some resemblance to it's non-infested look, but only in very small pockets in larger spaces. The final level of DI would just cover over these pockets and perhaps increase the displacement of the corner areas first covered over in level 1.
The benefit of a system like this is that it would be pretty much wholly generative. The mapper wouldn't need to have any special entities or other objects to place or script. It could still be augmented by a more 'made-by-hand' system involving entities, but that would be an aesthetic issue for the mapper really. I also don't mean to make this seem like a simple implementation. It would have some edge cases to address (no pun intended). Most of them could probably be dealt with, but generative systems usually need some tuning to look nice and natural. Even if my assumption of DI being zone-based is completely wrong, a generative system like this could still be used by a hive-comm directed DI as well.
Since so little has been described of the devs' vision for DI's gameplay aspects, I'll leave that part of my speculation for a later time.
Comments
The only video we have seen is one that was made in the Source Engine and not in the Spark Engine.
From the original video, it is obvious that the basic art of DI is functional. It has been stated that the engine rendering that original video is Max's, not Source. Recent comments have stated that DI/nano-grid has yet to be implemented in the alpha yet. I figured some suggestions from my overzealous imagination would not hurt anyone.
Regarding mappers deciding how DI will grow, I think a more generative system would be much more ideal with maybe some slight guiding required of the mapper. Because Spark maps are so prop-based, it seems it could require some effort of the mapper to flag props and brushwork specifically for DI. A hybrid of generative DI with some tweaking control left for the mapper would be very ideal.
I'm not trying to determine anything gameplay related here. If you want to speculate about that, go ahead. I'm mostly just interested in trying to make sure DI looks good and works well over its progression through these 3 levels of growth.