Projectiles in Ground Branch are taken from a player specific ‘pool’ whenever a player uses a firearm. A projectile taken from this pool is assigned any relevant info and sent along its way, using the Unreal Physics to simulate bullet flight and drop. Phsyx could be used instead, but we see little benefit in using it over the basic Unreal physics.
By default, all these projectiles are server side only, with no visible component. This is designed to be overridden if need be, allowing for unique or visible rounds to be spawned, such as tracers.
Wind does not currently affect a projectiles flight path. This may change in future updates or larger scale maps where it would come into play more, but the moment, we’re happy as it is.
Penetration is based on the things you expect – caliber, distance traveled and material struck. The materials range from metal sheets and solid girders to flesh and vegetation. Additional properties should allow for effects like spilling oil, light shafts or jets of water. Some will have gameplay related affects, such as cutting off a route by shooting a hole in a steam pipe under pressure.
Ricochets are planned, but not yet implemented.
On screen affects based on impacts will be used to convey attack direction and hint a caliber – more debris, larger caliber. Impact debris may have other gameplay related value, encouraging people to avoid hugging rock walls or similar, to prevent being sprayed by potentially damaging shards. This may help make wearing goggles and similar equipment make sense, beyond simply the cosmetic.
Was hoping to include a video of some of this in action, but alas, I ran out of time. As it is, I will be shifting my blog posting to Monday, as finding the time during my weekend has become difficult.