So, after reading through http://www.extentofthejam.com/pseudo/
I thought it would be nice to create a pseudo 3d racer in Ruby/Gosu. I'm especially interested in the "True 3d-Projected Segments" section since Road Rash is one of my all-time favorites and it looks great.
I managed to create an early version of the engine and it runs very fast (60fps with up to 900 polygon calculations made in pure Ruby per frame in my use case...increasing the drawing distance so we have 1500 polygons didn't impact fps, but that's not even needed).
Here is how it looks:
The problem is #Image.draw_as_quad is not behaving as I would like. It displays the correct shape but the image is distorted in the wrong way. In case it is not so noticeable in the previous picture, here is another one with a straight line in the road texture. Shouldn't it follow the road? It "zig-zags" in the middle. I've played with the vertex order but it didn't help. Is there anything I'm missing (maybe that's the intented behavior?)? In case you wonder, the strips at the center of the road look better because I'm using 2 side by side textures for the road, as a way to minimize this "bug". Apparently, this won't happen if I use a perfectly rectangular shape (it can be done that way with the "pure raster" approach on the pseudo 3d tutorial, but it would limit the engine a lot).