A short project created in 2 days for a teaching demo on mechanics & level design. It was actually really fun and the first time I got a chance to properly use flipbooks. All assets used are the property of Zenimax Media Inc. and Id Software LLC.
I was tasked with presenting a teaching demo at RCAD relating to level design. So I decided to re-create Doom over the course of a weekend. This is a simplified breakdown from my 40 minute talk!
Recreation of Doom's raytracer in action by randomly offsetting the start and end points using up and side vectors. Dead enemies are turned into corpses which have no collision to ensure as many hits will land as possible.
Here is a list of each of the 6 possible methods I could have employed to replicate 2D aiming in 3D, I decided on a line trace arrow pattern (bottom right) because it was the lowest cost method and could factor in 1:2 ratio slopes (like staircases).
Blueprinting setup to create this arrow shaped raytrace. The only requirement for the Y offset is it should be less than the height of the smallest enemy to ensure it hits consistently.
Example of the line traces in action to replicate the Doom style aiming.
Once a positive hit is detected, it then traces toward the target to determine if the player can actually see the enemy to avoid shooting through or over walls to hit enemies the player cannot see in the level.
Example of the final aiming system in action, totaling between 2 to 15 line traces used per shot. You can even see holding down the fire button causes the bullets to be randomly offset and less accurate like in the original game.