A downloadable game

how to make a 3d racing game without using any 3d library like opengl ?

the answer is by using pseudo 3d road technique.

pseudo 3d road was a very used rendering technique in the golden age  of arcade games (80's and 90's) when  machines  couldn't render true 3d.

arcade hits such outrun (sega)  used this technique.

it is a mixture between raycasting and floorcasting, so I have used my raycasting + floorcasting engine's code to do it, and I have named it "roadcaster".

I have used this tutorials as starting point for developing my own pseudo 3d road engine:




Install instructions

require python and pygame


pseudo_3d_road.rar 23 kB


Log in with itch.io to leave a comment.

Hey, I started creating a outrun style game. I wanted to use your ray casting and floor casting code as base for the game. 

I ran into an issue... I cant seem to figure out how to move left and right. I tried to simply modify the x position of the player, but this does not take effect. 

Looking at your sample code and running it led to the player "rising up in the sky" and crashing the game. Is there any solution for this?

Thanks allot for your example code it did help allot!! 

I really hope you might be able to help me with this issue.

(2 edits)

yes, of course there is a solution. to move the car left and right, first you have to create a variable called: player_car_pos=[240,320], then change the line that is responsible of blitting the car that is: 


to this:


second, comment out the or delete the code under the if statements (conditions):

if keys[K_LEFT]:


elif keys[K_RIGHT]:

and replace it with:

if keys[K_LEFT]:


elif keys[K_RIGHT]:


then the car should move left and right, thank you for enjoying my work!.

I've been playing around with this code. (I'm making an Outrun-style game for my wife.) Thanks for the Python version! Thanks a ton!

My pickle object files got easily corrupted in a computer crash. Maybe CSV or JSON would be hardier? 

thank you!, you're welcome!