Cave fue creado por David I. Bell (probablemente este) en ensamblador MACRO-20 para el sistema operativo TOPS-20 de los mainframe PDP-10 (seguramente en el de alguna universidad estadounidense). Aunque el ejecutable y el fichero con el código fuente que se han encontrado tienen fecha de creación de 1986, existe otro fichero con el texto de ayuda del juego (encontrado en otro sistema distinto) con fecha de 1980. Desgraciadamente, las fechas de los ficheros en sistemas emulados no siempre son fiables, pues las pueden haber cogido del propio sistema al crearse o restaurarse, e incluso este podría tenerla mal configurada (sería diferente si el juego se conservase en la imagen digitalizada de una antigua cinta), lo que hace difícil datar Cave con fiabilidad.
El propio autor en el código fuente indica que Cave destaca frente a otros juegos similares existentes en su época por tres razones: su aspecto multijugador por el que distintos personajes (hasta 100 a la vez) compiten entre ellos consiguiendo tesoros y matando monstruos en la misma mazmorra (esto reforzaría una fecha temprana de desarrollo, pues los MUD aún no estarían muy extendidos), una mazmorra «infinita» que crece de forma aleatoria según los personajes la exploran (manteniendo fijas las partes ya revisadas) de forma que el juego nunca «se termina», y una división por niveles de dificultad con mayores tesoros y monstruos cuanto más profundo se adentran los personajes en la mazmorra (esto realmente era la tónica habitual del Dungeons & Dragons, de donde toma la idea el autor a pesar de reconocer no haberlo jugado nunca, por lo que probablemente lo mencione en contraste con las aventuras de texto tan populares entonces y basadas en el mismo juego, como Adventure o Dungeon, la versión de Zork para los computadores PDP-10, de nuevo apuntando a una fecha de creación en la que los roguelikes tampoco estaban muy extendidos).

La falta de verdadera familiaridad del autor con D&D se nota en su forma de implementar el desarrollo del personaje, ya que si bien en su pequeña introducción dice que necesitará experiencia para poder explorar los niveles de mazmorra más profundos, realmente no existe experiencia en el juego, solo un nivel correspondiente con el máximo nivel de mazmorra alcanzado por el personaje, y que sin embargo influye positivamente en el resultado de los combates. Es decir, que el personaje será más poderoso si se arriesga a bajar a un nivel profundo y sobrevive al camino hasta allí (el camino de vuelta resulta trivial debido a cierta palabra mágica), independientemente de los tesoros o monstruos que encuentre en el proceso, lo que no terminaría de cuadrar a la hora de considerar Cave un verdadero juego de rol (aunque el juego tiene un mecanismo por el que no aparecerán accesos a un nivel inferior hasta haber sido creado cierto número de habitaciones en el actual, esto solo afectaría realmente a los primeros jugadores, y el resto podrían aprovecharse de su «experiencia»).
Cave es un juego de solo texto (aunque incluye un comando que vuelca los mapas revisados de los niveles de mazmorra a un fichero para luego imprimirlos con un plotter, ocupando buena parte del código fuente debido a lo elaborado que resulta) que funciona por turnos, y en el que los personajes no tienen otro objetivo que sobrevivir mientras consiguen sacar de la mazmorra el máximo número de tesoros posible. La mazmorra es potencialmente infinita, ya que se va generando según la exploran los personajes (aunque se mantiene fija), y en sus habitaciones puede haber oro (tanto a la vista como escondido), objetos útiles, monstruos (que a su vez pueden soltar tesoros), puertas secretas (hay que buscar para encontrarlas) y palabras mágicas (teletransportan a otras habitaciones, y derivan de las aventuras de texto de la época, que parecen ser la única inspiración de este juego junto al D&D). Las habitaciones conectarán con puertas a otras habitaciones (como mucho en las direcciones de los 4 puntos cardinales) que pueden estar en el mismo nivel de mazmorra, o en uno inmediatamente superior o inferior, y algunas requieren requisitos para cruzarlas, aunque no parecen estar terminados de implementar (como requisitos de nivel, uso de objetos o palabras mágicas, excepto por la pala, que sí excavaría puertas derrumbadas, pero por la lógica de los derrumbes, que aparecen cuando el juego no puede crear una habitación nueva al intentar cruzar una puerta el personaje por no encontrar un hueco en esa dirección, teóricamente volverían a aparecer al intentar cruzarla de nuevo, haciendo inútil su uso).

Otras características peculiares del juego son por un lado que a diferencia de otros juegos multijugador, no había un programa aparte para el operador, sino que este ejecutaba Cave como cualquier jugador lo haría, pero al ser reconocido su usuario, se activaba una especie de modo dios (en el código es referido así, y también como Dungeon Master) que permitía el uso de comandos especiales tanto para gestionar la mazmorra y a los jugadores como para realizar depuración del programa, por otro que los jugadores pueden almacenar «caminos» (secuencias de movimientos) para llegar de forma automática a zonas más profundas de la mazmorra sin tener que recorrerla a mano, deteniéndose automáticamente (luego se puede reanudar) si se encuentra algún obstáculo o tesoro en el recorrido (esto recuerda a algunas aventuras de texto de la época, que permitían algo similar con sus comandos), también que los jugadores pueden esconder oro en la mazmorra si no pueden cargar con tanto o para evitar que otros personajes se lo roben (esta es la única forma de «competir» entre jugadores más allá de la puntuación, ya que no pueden atacarse entre ellos), y por último que los personajes son únicos para cada usuario del sistema ya que estaban asociados a este y usan su nombre (esto es algo curioso y no visto hasta ahora en otros videojuegos de rol del estilo, diluyendo la distinción entre el jugador y su avatar).
Como conclusión, el juego resulta todo un logro de programación (teniendo en cuenta su código en ensamblador, que está muy bien documentado, aunque no parece una versión realmente terminada), especialmente si nos inclinamos por una fecha de creación más cercana a 1980 que 1986, algo que apoyarían los comentarios del autor (las tres características del juego que lo diferenciarían del resto, ya estaban bien extendidas para 1986 en MUD y roguelikes para mainframes, con características incluso más avanzadas que las de Cave), el hecho de que para 1986 su plataforma ya estaba casi obsoleta, o el que su única inspiración sean D&D y las aventuras de texto (tiene hasta una configuración de descripciones largas o cortas de habitaciones al estilo de estas). En cualquier caso, sigue resultando un juego demasiado simple en lo que a mecánicas de rol se refiere, y sin el aliciente multijugador (que tampoco es para tanto si lo comparamos con los MUD, en los que los jugadores podían hablarse y atacarse), lo único interesante que queda es la mazmorra fija «infinita», y esta acaba por resultar aburrida debido a la limitación de acciones u opciones de desarrollo del personaje.

Análisis
Al inicio del juego directamente se activa la línea de comandos de Cave, debiendo usarse el comando PLAY para empezar la partida, en el exterior de la mazmorra en el caso de una nueva (si ya se había jugado antes, se mantendrán los avances y posición del personaje asociado al usuario del jugador). El personaje empieza la partida con las siguientes estadísticas:
- Fuerza: inicialmente 100 (su máximo). Disminuye al sufrir daño en combate, y aumenta al descansar o aleatoriamente en 1 al mover a otra habitación. Si llega a 0, el personaje morirá.
- Fuerza máxima: inicialmente 100. Indica el máximo que puede alcanzar la fuerza del personaje descansando o moviendo a otra habitación. Se reduce en 1 aleatoriamente cada vez que el personaje sufre daño en combate, y se recupera a 100 al salir de la mazmorra.
- Nivel: inicialmente 1. Aumenta al alcanzar un nivel de mazmorra más profundo que el nivel actual del personaje. Afecta al resultado de los combates.
- Oro cargado: inicialmente 0. Se puede cargar con un máximo de 50 de oro por cada punto de fuerza y por nivel del personaje.
- Oro conseguido: inicialmente 0. Representa el oro que el personaje ha sacado de la mazmorra con éxito y sirve de puntuación junto a los movimientos realizados (para que cuente debe soltarse en el exterior con DROP).
- Objetos: inicialmente ninguno. El personaje podrá llevar un límite de cierto número de cada tipo, pero sus efectos no se acumulan (solo sirve por si te roban).

La mazmorra está dividida en habitaciones con coordenadas, que pueden tener puertas en sus 4 puntos cardinales, y cuya descripción (con un texto aleatorio de ambientación) se mostrará cada vez que se llegue a estas. Las puertas pueden conectar con otras habitaciones del nivel de mazmorra actual, o con habitaciones en el nivel de mazmorra inmediatamente superior o inferior. Además, siempre son de dos direcciones (tomando la dirección contraria a la tomada para moverse a una nueva habitación, siempre se volverá a la habitación de origen), aunque pueden ser secretas (habrá que buscar para encontrarlas), producirse un derrumbe al intentar cruzarlas (habrá que excavar con la pala hasta despejarlas con éxito, y aún así seguramente el derrumbe vuelva a aparecer), o necesitar el uso de una palabra mágica, de un mínimo nivel de personaje, o que este tenga cierto objeto para poder cruzarlas (estas tres últimas opciones no parecen realmente implementadas).

Los comandos disponibles durante el turno del personaje son los siguientes:
- B o BACK-UP: vuelve a la habitación por la que el personaje llegó a la actual (si no fue teletransportado). Funciona incluso con monstruos presentes.
- E o EAST: sale por la puerta en dirección este desde la habitación actual. No podrá hacerse con monstruos presentes, a no ser que el monstruo apareciese mientras se descansaba, o el personaje se teletransportase.
- N o NORTH: sale por la puerta en dirección norte desde la habitación actual. No podrá hacerse con monstruos presentes, a no ser que el monstruo apareciese mientras se descansaba, o el personaje se teletransportase.
- S o SOUTH: sale por la puerta en dirección sur desde la habitación actual. No podrá hacerse con monstruos presentes, a no ser que el monstruo apareciese mientras se descansaba, o el personaje se teletransportase.
- W o WEST: sale por la puerta en dirección oeste desde la habitación actual. No podrá hacerse con monstruos presentes, a no ser que el monstruo apareciese mientras se descansaba, o el personaje se teletransportase.
- F o FIND: busca oro oculto o puertas secretas en la habitación actual. Siempre se encontrará lo que haya (y se recordará en próximas visitas), pero no se podrá buscar si hay monstruos presentes.
- G o GET: coge un objeto u oro de la habitación actual (debe indicarse el qué tras el comando, y la cantidad en el caso del oro, no especificando nada si se quiere coger todo el oro), siempre que pueda cargar con ello. No se podrá coger nada si hay monstruos presentes (de hecho ni se mostrarán los tesoros presentes en la descripción de la habitación en este caso).
- DROP: suelta la cantidad de oro indicada tras el comando (o todo el cargado si no se especifica) en la habitación actual.
- HIDE: esconde la cantidad de oro indicada tras el comando (o todo el cargado si no se especifica) en la habitación actual, de forma que otros personajes solo lo verán si buscan allí.
- FOLLOW: sigue el camino memorizado con el nombre indicado tras el comando. Parará a mitad de camino si el personaje encuentra algo interesante (monstruos, objetos u oro).
- PROCEED: continúa siguiendo el camino memorizado tras haber sido interrumpido por algo (se debe estar en la misma habitación donde se interrumpió).
- K o KILL: ataca a un monstruo en la habitación actual. Tras usar este comando una vez, se puede simplemente pulsar Enter para repetirlo automáticamente. El personaje hará daño al monstruo o sufrirá daño (de 0 a 5 en ambos casos, aunque se expresará con un texto diferente para cada número) dependiendo de la diferencia entre el nivel del personaje y el nivel de mazmorra actual (con cierta aleatoriedad), y de si este tiene espada o armadura (según haga o sufra daño). Si al sufrir daño la fuerza del personaje no permite cargar con todo el oro, soltará el sobrante en la habitación actual.
- ROB: roba algo de oro (o un objeto aleatorio si no tiene oro) al personaje indicado tras el comando en la habitación actual (aunque a veces falla aleatoriamente y no roba nada). Cada personaje solo puede ser robado de forma efectiva una vez hasta que mueva a otra habitación (descansar y robar cuentan como movimientos en este caso), y no se puede robar si hay monstruos presentes, ni en el exterior de la mazmorra.
- REST: descansa los turnos necesarios para recuperar la fuerza del personaje al valor indicado tras el comando (al máximo si no se especifica), igual que si se moviese a otra habitación durante esos turnos (aleatoriamente se recuperará 1 punto de fuerza cada vez). No se podrá hacer con monstruos presentes, y cada turno pasado hay cierta probabilidad de que aparezca uno e interrumpa el descanso a medias.
- SAY: dice la palabra (o frase) mágica indicada tras el comando.
- USE: usa el objeto del inventario del personaje indicado tras el comando (solo funciona realmente con el anillo de teleportación y con la pala).

Los siguientes comandos son solo de información o estado:
- L o LOOK: muestra de nuevo la descripción larga de la habitación actual.
- H o HELP: muestra la lista y descripción de los comandos del juego.
- VERBOSE: activa las descripciones largas de las habitaciones ya visitadas (esta es la opción activada por defecto).
- BRIEF: activa las descripciones cortas de las habitaciones ya visitadas (no mencionará el número de habitación, ni el texto de ambientación aleatorio, ni los monstruos o personajes muertos, ni las salidas, excepto las que cambian de nivel de mazmorra).
- INFORMATION: muestra información general sobre Cave (como últimos cambios, aunque hoy día no existe el fichero con el contenido que se mostraría).
- LIST: lista todos los personajes existentes con algunas de sus estadísticas (habitación y nivel de mazmorra, movimientos, nivel, puntuación, monstruos eliminados, habitaciones visitadas, fecha de creación, fecha última partida, y nombre), así como estadísticas de la propia mazmorra (fecha de creación, número de habitaciones actuales, máximo nivel actual, número de jugadores existentes actualmente, y número de monstruos actuales).
- STATUS: muestra las estadísticas del personaje (nombre, habitación y nivel de mazmorra actuales, fuerza y fuerza máxima actuales, reencarnaciones, nivel, oro cargado y máximo que puede cargar actualmente, oro conseguido y puntuación asociada, y objetos en el inventario).
- DEFINE: memoriza un camino con el nombre indicado tras el comando (máximo 6 caracteres), y los movimientos indicados a continuación (hasta 100).
- TYPE: lista los movimientos del camino memorizado indicado tras el comando (si se usa ALL, listará todos).
- DELETE: elimina el camino memorizado con el nombre indicado tras el comando (si se usa ALL, eliminará todos).
- PLOT: almacena en un fichero el diagrama de las habitaciones visitadas del nivel de mazmorra indicado tras el comando (el actual si no se especifica), para ser impreso con un plotter.
- EXIT: sale del juego.

En las habitaciones se pueden encontrar aleatoriamente los siguientes tipos de objetos útiles (además de oro, ya esté a la vista u oculto), pero solo uno por nivel de mazmorra (aunque siempre se pueden coger los de otros personajes para conseguir más):
- Armadura: llevarla reduce el daño sufrido en combate.
- Espada: llevarla aumenta el daño causado en combate.
- Gafas: llevarlas permite ver automáticamente todas las puertas secretas sin buscarlas, y aleatoriamente también el oro escondido.
- Anillo de curación: al llevarlo el personaje siempre recuperará 1 punto de fuerza con cada movimiento, en lugar de hacerlo de forma aleatoria.
- Anillo de invisibilidad: llevarlo permite mover en cualquier dirección aún habiendo monstruos presentes, aunque aleatoriamente fallará (y no se podrá reintentar hasta cambiar de habitación). También impide ser visto por otros personajes.
- Anillo de teleportación: al usarlo, la habitación actual se fija como nuevo objetivo, y si ya había un objetivo anterior, teletransporta al personaje al antiguo objetivo.
- Pala: usarla permite excavar una puerta con un derrumbe en la habitación actual, pudiendo despejarla aleatoriamente, convirtiéndola en una normal (si hay más de una, excavará una aleatoria).
- Varita de magia negra, verde, naranja o blanca: teóricamente sería necesario llevarlas para poder cruzar ciertas puertas, pero la mecánica no parece completamente implementada.

Hay 47 tipos de monstruos diferentes (con distintas estadísticas) que se pueden encontrar aleatoriamente en las habitaciones (máximo uno a la vez), la mayoría de los cuales pueden soltar aleatoriamente oro si son derrotados (en una cantidad dependiente de su poder y del nivel de mazmorra actual).

Además de tesoros y monstruos, en las habitaciones puede haber palabras mágicas escritas. Existen las siguientes palabras (o frases) mágicas:
- TESER NIGEB: al decir esto el personaje será teletransportado al exterior de la mazmorra, pero soltará todo el oro cargado en la habitación donde estuviera.
- Habitaciones (palabras aleatorias): al decir la palabra (o frase) mágica escrita en una habitación concreta (estando allí), el personaje será teletransportado a otra habitación con la misma palabra escrita, siempre que la haya visitado antes y no quede muy alejada (si hay varias posibles, irá a una aleatoria).
- PLUGH, XYZZY, Y2, ABRACADABRA y OPEN SESAME: solo muestran un comentario sin efectos en el juego que rinde homenaje a las aventuras de texto en las que se inspira Cave.

Si el personaje muere, soltará todo su oro en la habitación donde murió y se reencarnará en el exterior de la mazmorra con una fuerza reducida (aunque la máxima reseteada igualmente a 100), más cuantas más reencarnaciones haya sufrido ya, pero no perderá sus objetos ni su nivel (teniendo en cuenta que en el exterior se puede hacer REST sin peligro alguno, la fuerza reducida no tiene mucho sentido).

Jugar
Se puede jugar a Cave conectando online en la siguiente página:
Para mostrar la lista de equipos hay que escribir menu y pulsar Enter, y luego pulsar c y Enter para seleccionar Twenex. Se puede entrar en el sistema como invitado con LOGIN NEW NEW, pero todos los que entren con dicho usuario compartirán personaje (o eso creo), así que lo ideal si se quiere jugar de verdad sería registrarse aquí. Para jugar basta con escribir CAVE y pulsar Enter en la línea de comandos. Para salir del sistema después de salir del juego hay que escribir LOGOUT y pulsar Enter, y luego pulsar q y Enter.
Otra opción si alguien se anima a montar un emulador propio, es instalar la distribución Panda TOPS-20, que incluye el juego, aunque yo lo intenté con SIMH y una vez instalada, el sistema se cuelga sistemáticamente al poco de empezar a usarlo, así que supongo que es mejor usar el emulador KLH10 que viene con ella aquí.

