Gemini uses the separate two rays-approach as well, but there's a problem: rays with shallow angles against grid edges can jump and in the worst case mark grid cells as visible when they are in fact not, leading to unnecessary processing of objects that are thought of as visible (recall an earlier post in this thread?). The best way to solve this is to hop between the two rays all the time and only do the grid-processing for the ray that has traveled the shortest path (Wolfenstein 3D does this, of course). Won't give as tight a loop as "akimbo-rays", but there will be less processing steps.
And no, z80 is not that helpful when it comes to "understanding". I generally refer to "seeing solutions" in two different categories: "understanding" (deep, you could even bet your life on it) and "feeling" (shallow, you're pretty sure it'll work
). Playing with a raycaster will give you feeling (you know the algos, how they can be built together, great), digging deeper theoretically will give you understanding (you see through the algos and develop new tech from the old). Feeling will only help you when you approach similar problems, understanding will help you design new solutions. Feeling will help develop understanding, hence my statement that it's a good idea to read through the proper theory while developing a raycaster.
Alright, I'll leave this off-topic crap