Way back when, a guy who called himself John "UNIX God" Coker created a shell script called 'advsh' that behaved like a cross between a text adventure and a login shell. That's all very nice, but for it to be a true login shell it ought to be implemented in C.
NOTE: that's not true. Any executable file may be a login shell. But philosophically it's correct.
So that's what I've done. Currently, I've created a fairly small subset of the commands that the original advsh implemented, but it's enough for it to be used as a login shell. Other minor and major fixes are currently in the pipeline.
Download advsh.c, and compile it on any POSIX-compliant system.
Of course, you may be asking what the point of advsh is. It's just used to confuse newbies/junior sysadmins/etc, when they wonder wtf their login shell has turned into a text-only adventure game. Hmmm...I wonder if anyone has implemented a roguelike shell?