One of the most popular and influential titles of all-time, id software's Doom played a key part in gaming's challenging 90s transition from two to three dimensions, and its legacy of technical innovation continues to this day. Last week, Nintendo and Bethesda announced a handheld version of the Doom 2016 reboot, seemingly a technological miracle in handheld form. However, back in 1993, full-fat Doom required a medium to high-end PC - and the race was on to accurately translate this incredible new experience to more affordable console hardware.The irony is that back in 1993, PCs weren't exactly designed to support fast 3D graphics - or indeed 2D graphics, for that matter. The arrival of Doom left many wondering how John Carmack managed to pull off one of game's most impressive generational leaps in graphics technology. Ingenious coding is, of course, the answer. Doom doesn't actually deliver a full 3D engine: instead, it interprets and extrapolates out 2D level data while using clever tricks to give the illusion of 3D.
Before Doom, Wolfenstein 3D made use of raycasting, which uses the player's position and facing to determine what is drawn, by sweeping from left to right and drawing appropriately sized columns. Doom is not a raycaster though, instead relying on binary space partitioning. BSPs would become useful in many games going forward and in Doom, they allow the game to break up 2D map data into chunks or sectors, which are then stored in a BSP tree. By going through the tree, the game tests which walls are visible and draws them on-screen from front to back.
Read more…
More...
