Apparently ONE SINGLE block of code was making my game so much slower and lower quality, AND caused the odd-numbered resolution rendering bug. All of it because I forgot to ROUND raycast z location before interpreting it in the step out script Press K to go to the backrooms (It will also change graphics settings to the optimal settings for running the backrooms map) this is possibly the MOST brute force method of 3d you could POSSIBLY conceive still working on optimizations no collisions sorry I dont have the budget for that :( nevermind now I have the budget for collisions CONTROLS: W to move forward S to move backwards A to strafe left D to strafe right left arrow key to turn left right arrow key to turn right Q to move up E to move down V to open debug screen K to go to the backrooms Up & Down arrows to look up and down Space key to go to parkour kinda map (even tho there isn't physics yet, u just kinda fly around) extra yap: I don't think it even counts as raytracing its not quite raycasting its not quite raytracing its definitely something basically its kinda like raycasting but with another axis maybe it is just a type of raycasting idk atp
I fixed one bug and now fps is way better finally got this in working condition run ts on turbowarp twin https://turbowarp.org/1308185047/ DEBUG SETTINGS GUIDE: -Resolution chooses how many rays are cast, plus one for the center. If you set resolution to 40, then the game will cast 1681 rays (40+1 multiplied by 40+1) ( I realized afterward there wasn't a point to this but I ain't gonna change this cuz it really doesn't matter) -Forward tick decides the size of the steps the ray takes every movement; lower values will bring more precise graphics. -Backwards tick decides the size of the steps the ray takes every backwards movement (when inside of an object) lowering it will bring more precise graphics. -ray size mod. decides what size the rays are multiplied by when being shown on screen, lowering it leaves a lot of white space. -The fps counter (from @TestMuffin) Is a bit broken on some devices, I assume due to the strain the rest of the project brings on a device when using good graphics settings. -FOV is how many degrees around you you will see -Vertical FOV the same as fov but vertical. pretty self explanatory. test it out yourself if you somehow don't understand -POV Layer is the layer at which the camera (your POV) resides. that's basically the Y-Level. for those who care how it works: This 3d engine uses something similar to layered raycasting, but different. It isn't bug riddled but It does use layers, but in a different way. Unlike my previous layered raycasting attempts, this is scalable, calculates the y axis instead of just the z and x axis for 2 layers, and It supports height changes in pov and other stuff. This one has 20 layers, although more could be added with minimal modification to the code. In the middle of the screen, it raycasts normally. whatever height layer the POV is on is where the rays are cast. they don't go up or down. The other rays, however are different. depending on how high on the screen the ray starts from, that is how far angled up/down the ray is. a ray in the top left area of the screen will move forward and to the left, but also have its y level go up, and the y level decides what layer it checks for collisions in. I hope I explained that well. -Project was Released on April 16, 2026 (v1) -Project was under maintenance from April 20, 2026 11:56 AM to April 20, 2026 12:46 AM (v1.1) -Project was under maintenance from April 21, 2026 from 8:00 AM to 8:53 AM (v1.2) -Project was under maintenance on April 26, 2026 from 7:30 PM to 7:44 PM