When the 3d graphics engine thread was revived a few weeks ago, it inspired me to try this myself. I always wanted to see how a 3D maze would look on the VCS if rendered with playfield graphics at 60Hz.
So, I made a demo that lets you wander around a 3D area using a full 40 bits wide asymetrical playfield. However, this is only possible by cheating: The demo is using DCP+ and ARM code to do the ray casting and playfield drawing, the 6507 only handles the display kernel. (It required already some optimization on the ARM side, so a full game would either have to use a lower frame-rate or a lower resolution.) This also means you will need a Harmony/Melody cart to run it on a real machine.
There are two color schemes to choose from: Solid walls with a single color, or alternatively blinds with two wall colors.
Controls are as follows:
- Button released:
- Joystick Left/Right - move camera left/right
- Joystick Up/Down - move camera forward/backward
- Button pressed:
- Joystick Left/Right - rotate camera counter-clockwise/clockwise
- Console Reset - reset camera to initial parameters
- Console Left Difficulty - A: move speed high, B: move speed low
- Console Right Difficulty - A: two-color walls, B: one-color walls
I'm tempted to make a 3D version of Combat, but I don't have the time. Actually, the Combat maze is part of the demo map .
The complete source is attached below. If anyone wants to make a Doom/Combat/etc. game for the VCS, feel free to use this code.
RayCastDemo_140824_NTSC.bin 32KB 485 downloads
RayCastDemo_140824_PAL60.bin 32KB 283 downloads
RayCastDemo_140824.zip 29.23KB 343 downloads