
It has its own mass, velocity, and hitbox that the engine will track. Every bullet or projectile shot out of a weapon creates a new physics object in the environment. It sounds pretty fancy, but the high-level idea is straightforward. But what about games that aim to create an “immersive and realistic” shooting experience? They cannot achieve their goals within these constraints.

Programmers can add kinks and bends to the ray to help it mimic real rounds, but once the player shoots a ray, there is no real way to modify its path in the middle.Ī lot of “casual” games end up using the hitscan method as it simplifies the learning curve for most beginner players. This means it’s hard to account for wind, gravity, and other external factors that may affect the bullet once it leaves the gun. Second, most implementations of hitscan use straight rays. Notice how the muzzle flare and the hit effects on the ground show up at the same time. This means it’s impossible to dodge a bullet if a ray is on target, even if the target is miles away.Ībove: Halo. There is no travel time after you fire a bullet and hit an object. Characters such as Soldier 76, McCree and Widowmaker from Overwatch have hitscan weapons, and most Call of Duty guns are hitscan as well.īelow: Examples from Overwatch, Call of Duty, Wolfenstein 3Dįirst, you may have noticed that rays have an infinite traveling velocity, thus reaching their destination instantly. Wolfenstein 3D and Doom are classic examples, but even recent games use this technology. Thus, it’s no surprise that many games in the industry use hitscan for its shooting logic. Recoil is simple to add, as the addition of a small perturbation in the aim of the gun will mimic the effect. That means the network engineering needed to keep many clients in sync is minimal since the server only needs to keep track of the direction of the ray. It’s quick to compute and does not need overhead memory or processing time to build a new physics object. The main advantage of using raycasting is that it’s super fast. Genji’s deflect is an example of a reflective surface.

Cast a ray from the muzzle of the gun until a defined range,.Figure out the direction the gun is pointing at,.In most implementations of a hitscan weapon, when the player shoots a bullet, the physics engine will: Developers then started to question, “What if that ray originated from the muzzle of a gun to mimic a bullet?” With this idea, hitscan was born.

Raycasting also allows the engine to determine the first object intersected by a ray. In the earlier days, many games relied on a technique called raycasting to render 3D environments onto 2D images (your screen).
