In this kind of games, speed is all. I like the most no-texture version:
more textures ===> worst than pre-calculated perspectives.
I wonder if a z80 at 6MHz or a R800 (with a VPD v9938 or up) could boost the algorithm.
I would be curious about using v9938/58 in screen 4 with 4x1 pixels, maybe even using VDP commands to fill the color table. Ordering the PNT by columns, you can fill up to 64 pixels with a VDP command, using logical OR for addressing odd and even columns.
With an R800, things can get much, much faster in these raycasting engines! For example, Just try this experimental version of Tales of Popolon where I copied the rendering code to RAM to fully unlock the R800: https://github.com/santiontanon/talesofpopolon-ext/releases/...
You can press "R" in-game to switch between Z80 and R800 modes to see the difference. I can't remember now from when I calculated it, but I think the R800 gets about 15 fps easily.
And the raycasting engine in Tales of Popolon is not even using the interesting 4x1 pixel trick that the engine in this thread is using. So, it could be made even faster!
I've seen it, and it is very smooth. Anyway a huge part of the CPU time is spent while plotting the scaled columns of the textures. Once you move to the R800, it could be interesting to exploit also the V9858 and its capability to plot the scene in screen 4 using logic operations and 4x1 pixels.
A flat column of 4x1 pixels could be filled with three LMMV commands (one for tile bank), while a textured column could be filled by a LMMC command.
In both cases you can use logical OR to address separately the odd and even columns.
I agree with enribar. I know that rasmus engine is technical impressive, but using a fixed 45 degree turning angle and a 1step=1cell moving it loses a lot. For such movements it is possible to have a better looking gfx using precalculated gfx... it is just a labyrinth game with 45 degrees gfx added...
https://youtu.be/2co9wxoBA_E
Now with more elaborate ceil5and floor