WinRayCast: a Retro Pseudo-3D FPS Engine and Game Generator
WinRayCast is a retro-style pseudo-3D engine inspired by early 1990s first-person shooters such as Wolfenstein 3D. It uses the classic raycasting technique to render a 2D map from a first-person perspective, creating the illusion of a 3D world without relying on a full polygonal rendering pipeline.
The project dates back to the 1990s, when I wrote the first version for MS-DOS in C/C++ and Intel 386 assembly, at a time when performance, memory access, and optimized inner loops were critical. Raycasting was ideal for that hardware generation, offering a convincing 3D-like experience with limited resources.
The approach became interesting again with the arrival of early mobile devices: although they were not well suited to GPU-heavy 3D engines, many had enough CPU power and RAM to run optimized pseudo-3D renderers similar to those used in 1990s games.
WinRayCast was later recreated as a programming tutorial for Computer Programming, a well-known Italian magazine from the 1990s and 2000s. The engine and its ideas were described in a 2007 article about pseudo-3D engines based on the raycasting algorithm used by classic FPS games.
The goal of WinRayCast is not to be a modern 3D engine, but to explore old-school game programming: fast rendering, grid-based levels, textured walls, sprites, simple visual effects, and the distinctive style of early FPS games.