Behold A First-Person 3D Maze, Vintage Atari Style

[Joe Musashi] was inspired by discussions about 3D engines and decided to create a first-person 3D maze of his own. The really neat part? It could have been done on vintage Atari hardware. Well, mostly.

He does admit he had to do a little cheating to make this work; he relies on code for the ARM processor in the modern Atari VCS do the ray casting work, and the 6507 chip just handles the display kernel. Still, running his demo on a vintage Atari 2600 console could be possible, but would definitely require a Melody or Harmony cartridge, which are special reprogrammable cartridges popular for development and homebrew.

Ray casting is a conceptually simple method of generating a 3D view from given perspective, and here’s a tutorial that will tell you all you need to know about how it works, and how to implement your own.

[Joe]’s demo is just a navigable 3D maze rather than a game, but it’s pretty wild to see what could in theory have run on such an old platform, even if a few modern cheats are needed to pull it off. And if you agree that it’s neat, then hold onto your hats because a full 3D ray casting game — complete with a micro physics engine — was perfectly doable on the Commodore PET, which even had the additional limitation of a monochrome character-based display.

Wolfenstein In 600 Lines Of Code

What’s more impressive, the fact that this Wolfenstein-like game is 600 lines of code, or that it’s written in AWK?

AWK is a language primarily used for text processing. But if you can write code the world bows to your wishes. [Fedor Kalugin] leverages the ability of a Linux terminal’s color options to draw his game. The 3D aspect is produced through ray-casting which generates a 2D image from 3D coordinates.

Trying out the game is extremely simple, install gawk, clone the repo, and play:

Continue reading “Wolfenstein In 600 Lines Of Code”

3D Games For The Arduino With Raycasting

For all the Arduino-based video game builds we’ve seen, we’re really only left with a bunch of 2D platformers and other sprite-based games. [Reimecker] wasn’t satisfied with this level of computational complexity, so he ported the 3D game engine made famous by Duke Nukem 3D to the Arduino (German, Google translation).

[Reimecker]’s project is based on the very popular Build Engine written by [Ken Silverman] and used in games such as Duke Nukem 3D,  Shadow Warrior,  Blood, and TekWar. The Build Engine can be used to make a first person shooter, but more on the level of Wolfenstein 3D instead of Half-Life.

The hardware [Reimecker] used is a regular ‘ol 8-bit Arduino with an attached LCD touch screen displaying 320×240 pixels of a ray cast environment. From the videos of the build (available after the break), [Reimecker] has a fairly decent game engine capable of displaying a 2.5D environment. The frame rate might not be very high, but it’s still an amazing build considering the hardware [Reimecker] is working with.

Continue reading “3D Games For The Arduino With Raycasting”