As I was toying around with 3D algorithms on older computers at school, I ended up sticking with RayCasting. If you’re not to sure what raycasting is, here is a great write up on it.
I also came by some sample code for RayCasting, however it worked with an applet. After some basic changes, I added hit detection and smoothed it out to be a bit better looking (it now draws 5x as many vertical lines, meaning walls are a lot smoother than they were). Hit detection is still somewhat flawed as you can be standing in some spots close enough to see through walls.
You can try the demo:
OR
download a copy of the source code.
I plan to add a maze drawing algorithm further down the road and automatically generate mazes, I may try my hand with textures later on as well.

















