Some years ago I wrote a simple raycaster. You know, that technique Wolfenstein3D, Doom and DukeNukem3D were using to display graphics. It looked like this:

It is written in java, and funnily, I named that thing Irrlicht, too. I've just found it again, and uploaded it to this website.
Try it out and be impressed by its incorrect texture mapping on the floor and ceiling, the frame dependent movement and rotation, the missing billboard sorting and collision detection etc.. But at least it has a cool Doom style map. :)