Hey nice shots . How do you render the ceiling and floors? Do you support different ceiling/floor texture per cell or its the same everywhere? In Beg3D i had no texturing in floor/ceiling because i wanted it to run in older phones (i had it running in one of the first Series 40 models ever made! Although the screen had a lot of lag so turning the camera was blurry ).In what phones does this run?For maps you might want to check out my Mapas tool. It is what i used for RayFaster 1.Sprites are easy to do, just bring them to camera space (just rotate them to be in view and scale them according to their distance) and to clip them use a horizontal 1D depth buffer which you fill with the distances from the wall slices when rendering the walls. You might want to use a "maximum distance" value (i used one in Beg3D) to avoid even considering sprites which are farthest than the most distant wall slice. Another optimization you might want to do is split the map cells in clusters like:XXXXYYYYZZZZXXXXYYYYZZZZAAAABBBBCCCCAAAABBBBCCCCOOOOVVVVPPPPOOOOVVVVPPPP(O, X, Z, etc are cells)Put a list with the sprites in each cluster and when you render a cell/wall to that cluster, mark it as visible (basically add it to another list if it is not marked yet as visible). Then when all walls are drawn, follow the list of clusters marked as visible and render the sprites in them while marking them back as invisible (for the next frame). This way you can ignore most of the sprites in the map .Update us with your developments