Rogue (también conocido como Rogue: Exploring the Dungeons of Doom ) es un videojuego de exploración de mazmorras creado por Michael Toy y Glenn Wichman con contribuciones posteriores de Ken Arnold . Rogue se desarrolló originalmente alrededor de 1980 para sistemas de minicomputadoras basados en Unix como un ejecutable de distribución libre. Más tarde se incluyó en el sistema operativo Berkeley Software Distribution 4.2 (4.2BSD). Toy, Wichman y Jon Lane realizaron ports comerciales del juego para una variedad de computadoras personales bajo la compañía AI Design y con el apoyo financiero de los editores de software Epyx . Desde entonces, otras partes han realizado ports adicionales para sistemas modernos utilizando el código fuente ahora abierto del juego .
En Rogue , los jugadores controlan un personaje mientras exploran varios niveles de una mazmorra en busca del Amuleto de Yendor ubicado en el nivel más bajo de la mazmorra. El personaje del jugador debe defenderse de una serie de monstruos que deambulan por las mazmorras. En el camino, los jugadores pueden recolectar tesoros que pueden ayudarlos ofensiva o defensivamente, como armas, armaduras, pociones, pergaminos y otros elementos mágicos. Rogue se basa en turnos y se desarrolla en una cuadrícula representada en ASCII u otro conjunto de caracteres fijos, lo que permite a los jugadores tener tiempo para determinar el mejor movimiento para sobrevivir. Rogue implementa la muerte permanente como una opción de diseño para que cada acción del jugador sea significativa: si el personaje del jugador pierde toda su salud a través del combate u otros medios, ese personaje del jugador está muerto. El jugador debe reiniciar con un personaje nuevo, ya que el personaje muerto no puede reaparecer ni volver a aparecer al recargar desde un estado guardado. Además, ningún juego es igual a los anteriores, ya que los niveles de mazmorra, los encuentros con monstruos y los tesoros se generan de forma procedimental para cada partida.
Rogue se inspiró en juegos de computadora basados en texto, como el juego Star Trek de 1971 y Colossal Cave Adventure lanzado en 1976, junto con el entorno de alta fantasía de Dungeons & Dragons . Toy y Wichman, ambos estudiantes de la Universidad de California, Santa Cruz , trabajaron juntos para crear su propio juego basado en texto, pero buscaron incorporar elementos de generación procedimental para crear una nueva experiencia cada vez que el usuario jugara el juego. Toy trabajó más tarde en la Universidad de California, Berkeley , donde conoció a Arnold, el desarrollador principal de la biblioteca de programación de maldiciones de la que dependía Rogue para imitar una pantalla gráfica. Arnold ayudó a Toy a optimizar el código e incorporar características adicionales al juego. Los puertos comerciales se inspiraron cuando Toy conoció a Lane mientras trabajaba para la empresa Olivetti , y Toy se comprometió nuevamente con Wichman para ayudar con el diseño de gráficos y varios puertos.
Rogue se hizo popular en la década de 1980 entre los estudiantes universitarios y otros usuarios expertos en computadoras en parte debido a su inclusión en 4.2BSD. Inspiró a los programadores a desarrollar una serie de títulos similares como Hack (1982/1984) y Moria (1983), aunque como Toy, Wichman y Arnold no habían publicado el código fuente en ese momento, estos nuevos juegos introdujeron diferentes variaciones sobre Rogue . Un largo linaje de juegos surgió de estos títulos. Si bien Rogue no fue el primer juego de exploración de mazmorras con características de generación procedimental, introdujo el subgénero de roguelike , juegos de rol, mazmorras generadas por procedimientos con elementos similares a Dungeons & Dragons (armaduras, armas, pociones y pergaminos mágicos) que también tenían permadeath (muerte permanente) y una vista gráfica superior, aunque a través de dibujos ASCII, a diferencia de las descripciones de texto en lenguaje natural como en Colossal Cave Adventure y los juegos originales de Zork .
El personaje del jugador es un aventurero. El juego comienza en el nivel más alto de una mazmorra sin mapear con una miríada de monstruos y tesoros. El objetivo es luchar para llegar al nivel inferior, recuperar el Amuleto de Yendor ("Rodney" escrito al revés) y luego ascender a la superficie. [1] Los monstruos en los niveles se vuelven progresivamente más difíciles de derrotar. Hasta que se recupere el Amuleto, el jugador no puede regresar a los niveles anteriores.
En las versiones originales basadas en texto, todos los aspectos del juego, incluyendo la mazmorra, el personaje del jugador y los monstruos, están representados por letras y símbolos dentro del conjunto de caracteres ASCII . Los monstruos están representados por letras mayúsculas (como Z,
para zombies), y en consecuencia hay veintiséis variedades. Este tipo de visualización lo hace apropiado para una terminal no gráfica . Los puertos posteriores de Rogue aplican conjuntos de caracteres extendidos a la interfaz de usuario de texto o lo reemplazan con mosaicos gráficos .
Las teclas de movimiento básicas ( h , izquierda; j , abajo; k , arriba; y l , derecha) son las mismas que las teclas de control del cursor en el editor vi . Otras acciones del juego también utilizan pulsaciones de teclas simples: q para beber una poción , w para empuñar un arma, e para comer algo, etc. En la versión DOS , las teclas del cursor especifican el movimiento y las teclas de movimiento rápido ( H , J , K y L ) se sustituyen por el uso de la tecla de bloqueo de desplazamiento .
Cada nivel de mazmorra consta de una cuadrícula de tres habitaciones por tres habitaciones (potencialmente); a veces aparecen pasillos sin salida donde se esperaría que hubiera habitaciones. Los niveles inferiores pueden incluir un laberinto en lugar de una habitación. A diferencia de la mayoría de los juegos de aventuras de la época del diseño original, el diseño de la mazmorra y la colocación de los objetos en su interior se generan aleatoriamente .
El concepto de Rogue se originó con Michael Toy y Glenn Wichman . [2] Toy creció en Livermore, California , donde su padre era un científico nuclear. Una vez al año, el lugar de trabajo de su padre permitía que las familias de los empleados lo visitaran, lo que incluía permitirles usar el sistema mainframe de la instalación para jugar. Toy se interesó en el juego basado en texto Star Trek (1971), que representaba el combate espacial a través de personajes en pantalla y requería que los jugadores tomaran decisiones estratégicas en cada turno. Toy se dedicó a aprender programación y recrear este juego en otros sistemas informáticos a los que podía acceder, incluido el Processor Technology Sol-20 y el Atari 400. [ 3]
Toy se matriculó posteriormente en informática en la Universidad de California, Santa Cruz (UCSC) a finales de los años 1970. Trabajando primero en el PDP-11 de la UCSC y luego en su VAX-11 , Toy empezó a explorar qué juegos estaban disponibles en ARPANET , el predecesor de la actual Internet. Un juego que le intrigó fue Colossal Cave Adventure (también conocido como Adventure ) (1976) de William Crowther y Don Woods . Adventure , considerado el primer juego de aventuras basado en texto , desafiaba al jugador a explorar un sistema de cuevas a través de descripciones dadas por la computadora y comandos emitidos por el jugador. Toy quedó impresionado por el juego y empezó a escribir el suyo propio. [3]
Toy conoció a Wichman, otro estudiante de la UCSC que también estaba escribiendo su propio juego de aventuras. Wichman había creado sus propias variaciones de juegos de rol tradicionales como Dungeons & Dragons mientras crecía. Wichman eligió la UCSC específicamente para estudiar diseño de juegos y convertirse en desarrollador de juegos de mesa, y esto lo llevó a las ciencias de la computación para tener la oportunidad de jugar y desarrollar juegos. Los dos se hicieron amigos, compartieron un apartamento y se desafiaron mutuamente con sus propias creaciones de juegos de aventuras. De los dos, Toy era más competente en codificación, mientras que Wichman tenía un mejor sentido del diseño de estos juegos. Toy y Wichman pronto descubrieron que la mayoría de los juegos de aventuras adolecía de una falta de rejugabilidad, en el sentido de que el juego no cambiaba en partidas separadas. [3] [4]
En esa época, alrededor de 1980, BSD Unix había comenzado a ganar terreno como sistema operativo para muchos de los campus de la Universidad de California. Un elemento de la distribución BSD en ese momento incluía la biblioteca de programación curses de Ken Arnold . curses permitía a un programador colocar personajes en cualquier punto de una terminal, lo que permitía efectivamente interfaces "gráficas". [3] Cuando Toy vio esta biblioteca, él y Wichman rápidamente se dieron cuenta del potencial que tenía. Después de crear algunos juegos usando curses para aprender la biblioteca, se les ocurrió la idea de un juego de aventuras al estilo de Dungeons & Dragons , pero, para abordar sus preocupaciones con la naturaleza estática de los juegos de aventuras, querían incluir elementos que cambiaran cada vez que se jugara el juego. Los dos idearon una narrativa, la de un aventurero que se propone explorar y encontrar tesoros en las Mazmorras de la Perdición, específicamente el Amuleto de Yendor (un mago reconocido en el juego cuyo nombre se deriva de "Rodney" escrito al revés). [3] Wichman ideó el nombre Rogue , basándose en la idea de que, a diferencia de los sistemas basados en grupos de Dungeons & Dragons , el personaje del jugador iba a jugar solo. También querían asegurarse de que el nombre fuera corto para que fuera fácil de escribir en las líneas de comando. [3] [4]
Como Toy era más competente en programación, dirigió el desarrollo del juego en lenguaje C , que generalmente producía código rápido y efectivo. Wichman aprendió el lenguaje de Toy a medida que avanzaban mientras proporcionaba una importante contribución al diseño del juego. [3] [4] Los dos primeros aspectos principales del juego desarrollados fueron el método de mostrar la mazmorra en pantalla al jugador y cómo generar la mazmorra de manera aleatoria. Limitados por las opciones de lo que una terminal podía mostrar, se quedaron con caracteres ASCII , como .
para el espacio vacío en el piso, +
para las puertas y |
y -
para las paredes de la mazmorra. También usaron el símbolo "arroba" ( @
) para representar al jugador, considerando que esto mostraba al jugador "dónde está". [3] Para la mazmorra, encontraron que los intentos iniciales de generación puramente aleatoria eran débiles, en algunos casos tenían una escalera que terminaba en una habitación inaccesible para los jugadores. Encontraron una solución a través de la generación procedimental , donde cada nivel comenzaría con la idea de una cuadrícula de tres en raya de 3x3, con cada habitación de varios tamaños ocupando un espacio en esta cuadrícula, y luego creando los pasillos para conectar las habitaciones. [3] Una vez que pudieron hacer que su personaje se moviera por estas mazmorras creadas aleatoriamente, agregaron equipo, objetos mágicos y monstruos. Con los objetos mágicos, querían que los efectos de estos elementos fueran un misterio en cada recorrido, y por lo tanto, inicialmente presentarían los elementos al jugador solo por un descriptor como el color, y solo más tarde en el juego darían el nombre verdadero del elemento una vez que el jugador experimentara o usara otro medio para identificar el elemento. [3] Para los monstruos, querían tener rutinas de inteligencia más avanzadas a medida que el jugador se adentraba más en las mazmorras, pero habían comenzado a encontrarse con límites de memoria en el VAX-11, y simplemente hicieron que los monstruos fueran más fuertes con más salud para plantear un mayor desafío. [3] [1]
Los dos comenzaron a probar el juego con otros estudiantes en la UCSC, y descubrieron que a pesar de los gráficos limitados, los jugadores estaban llenando los espacios vacíos con su propia imaginación. Los comentarios de los evaluadores los ayudaron a mejorar las rutinas de generación procedimental para equilibrar el desafío del juego. [3] [1] Un elemento que se desprendió de las pruebas de juego fue el uso de la muerte permanente . Toy quería alejarse de la noción de simplemente aprender la secuencia correcta de pasos para completar dentro de los juegos de aventuras y, en cambio, hacer que el jugador se concentre en encontrar los movimientos correctos para evitar la muerte del personaje en ese momento; [3] Wichman luego llamó a esta idea "persistencia de consecuencia". [5] Inicialmente, un juego de Rogue tenía que completarse en una sesión, pero por demanda de los evaluadores, Toy y Wichman agregaron la capacidad de guardar el estado del juego, para que los jugadores pudieran continuar un juego en varias sesiones. Pronto descubrieron que los jugadores estaban "guardando el estado", recargando el juego desde el archivo guardado, un enfoque contrario a sus objetivos de diseño. Cambiaron esto para que el archivo guardado se borrara al recargar el juego, haciendo así que la muerte de un personaje fuera efectivamente permanente. [3] Posteriormente agregaron una función de marcador que permitía a los jugadores clasificar su progreso con otros, recompensando a los jugadores con más puntos por sobrevivir lo más profundo posible en las mazmorras y haciendo del Amuleto de Yendor un objetivo lucrativo. [3]
Alrededor de 1982, la atención de Toy hacia Rogue y los juegos de computadora le hicieron sufrir un bajo rendimiento académico y fue expulsado de la escuela, encontrando poco tiempo después empleo en la Universidad de California, Berkeley (UCB) en su laboratorio de computación. Toy se llevó el código de Rogue con él para continuar su desarrollo. [3] Wichman, todavía inscrito en la UCSC, continuó ayudando a desarrollar Rogue por un tiempo, por ejemplo agregando elementos de armadura, pero la logística de trabajar a distancia le hizo difícil mantenerse al día, y dejó que Toy se hiciera cargo completamente del desarrollo. [3] [4]
Antes de la llegada de Toy a la UCB, Ken Arnold había jugado a Rogue , que se había distribuido como ejecutable en muchos de los campus de la UC. Aunque estaba impresionado con el juego, expresó su frustración por los medios ineficientes con los que el juego actualizaba la pantalla a través de su biblioteca de maldiciones a través de una línea de módem . [6] Tenía ideas sobre cómo solucionarlo, pero en este punto Toy y Wichman habían optado por no publicar el código. [6]
Cuando Toy llegó a UCB en 1982, buscó a Arnold para obtener información sobre la naturaleza de cómo funcionaba la biblioteca de maldiciones . Después de que ambos se conocieran, Toy le permitió acceder al código fuente de Rogue . [6] Además de ayudar a mejorar la interfaz y la representación del juego, Arnold ayudó a mejorar los aspectos de generación procedimental del juego. [6]
Con su popularidad en los servidores de UCB, Rogue fue seleccionado como uno de los títulos de juego incluidos en la distribución de 1983 de 4.2 BSD , que se extendió a través de ARPANET y rápidamente ganó popularidad entre las universidades e instalaciones con acceso a este hardware. Entre sus fanáticos se encontraba el codesarrollador de UNIX Ken Thompson , que trabajaba en Bell Labs ; Dennis Ritchie había bromeado en ese momento diciendo que Rogue era "el mayor desperdicio de ciclos de CPU de la historia". [6] La distribución de Rogue en 4.2 BSD no incluía su código fuente, por lo que después de que Toy y Arnold abandonaran UCB por separado, se llevaron el código con ellos, lo que dificultó que alguien pudiera construir a partir de él. El código fuente de Rogue finalmente se agregó bajo una licencia de software BSD dentro de 4.3 BSD en 1986, poniéndolo en código abierto . [7]
Toy dejó UCB en algún momento antes de 1984 y aceptó un puesto de consultor en Olivetti , una empresa italiana de máquinas de escribir que en ese momento estaba comenzando a desarrollar su propia computadora basada en el sistema operativo IBM Personal Computer (IBM PC). [6] Allí, conoció a uno de los administradores de sistemas informáticos de Olivetti, Jon Lane. Lane había visto previamente la popularidad de Rogue entre la ubicación de los Estados Unidos que administraba y había jugado el juego él mismo junto con las observaciones de Ritchie sobre Rogue . [1] Al conocer a Toy, Lane propuso la idea de portar Rogue a IBM PC como un producto comercial, a lo que Toy estuvo de acuerdo. Fundaron la empresa AI Design para portar y comercializar el juego. Aunque el código fuente de Toy era necesario para la portabilidad, Lane tuvo que volver a desarrollar muchas de las rutinas para la interfaz del juego. Lane aprovechó el conjunto de caracteres más gráfico de la página de código 437 en PC para expandir la cantidad de símbolos para representar la mazmorra, como usar una cara feliz ☺
para el personaje del jugador. También tomaron medidas para evitar posibles problemas de derechos de autor con TSR , la compañía que poseía Dungeons & Dragons en ese momento, al cambiar los nombres de monstruos como los kobolds que eran exclusivos de ese juego. [6] [1]
Toy y Lane financiaron inicialmente la publicación, distribución y promoción de la versión para IBM PC ellos mismos, y aunque continuaron ganando ventas, sólo pudieron alcanzar el punto de equilibrio porque carecían del poder de un distribuidor más grande. Alrededor de 1984, Robert Borch, el vicepresidente de publicaciones de Epyx, descubrió que Rogue se había vuelto popular entre varios de los empleados de Epyx y que sugirieron que Epyx debería ayudar a financiar los ports a otros sistemas. Aunque Borch sintió que el juego tenía un atractivo de nicho, siguió este consejo y contrató a AI Design para que lo portara a Macintosh y Amiga , donde Epyx se haría cargo de la distribución y el marketing. [6]
Toy obtuvo una Macintosh y tomó la iniciativa de adaptar el juego a ese sistema. Tanto Toy como Lane reconocieron que podían implementar gráficos mejorados con la versión para Macintosh, pero ninguno tenía habilidades artísticas para hacer los íconos. Toy se acercó a Wichman para que lo ayudara con estos gráficos. Wichman inicialmente se mostró cauteloso debido al hecho de que su crédito por Rogue en la versión para PC había sido presentado como una "contribución" igual a la de los probadores de juego de UCSC en lugar de igual a la de Toy, Arnold o Lane, [6] pero finalmente aceptó ayudar y se unió a AI Design . Gran parte de la versión para Macintosh fue desarrollada en conjunto por Toy, Wichman y Lane en una cabaña en el Squaw Valley Ski Resort . [6] Después de esto, Epyx solicitó que Wichman liderara el desarrollo de la versión para Atari ST , y la compañía le proporcionó a Wichman un sistema en el que trabajar. Este trabajo se realizó junto con el trabajo de Toy en la versión para Amiga. Wichman solicitó la ayuda de un artista interno de Epyx, Michael Kosaka, para crear el arte en la versión para Atari ST. [6] Epyx también financiaría AI Design para portar el juego a otros sistemas, incluida la computadora en color TRS-80 . [4]
Borch reconoció la dificultad de comercializar Rogue a través de métodos tradicionales en comparación con otros juegos en el mercado en ese momento, y optó por impulsar el título a través de catálogos de software en lugar de canales minoristas. Aunque se vendió bien inicialmente, las ventas de Rogue disminuyeron rápidamente y se consideró un fracaso comercial. Además de la competencia de juegos gráficamente más interesantes, Wichman atribuyó el fracaso al hecho de que la versión comercial de Rogue era esencialmente el mismo juego ofrecido anteriormente de forma gratuita a través de BSD y no planteaba un nuevo desafío. [6] Epyx finalmente se declaró en quiebra en 1989 y AI Design se disolvió. Ninguno de Toy, Wichman, Arnold o Lane se beneficiaron mucho de Rogue , aunque se hicieron famosos en la industria por su participación en el juego. [6]
En 1988, el editor de software económico Mastertronic lanzó un puerto comercial de Rogue para Amstrad CPC , Commodore 64 , computadoras Atari de 8 bits , [8] y ZX Spectrum . [9]
Existen numerosos clones de sistemas operativos modernos como Microsoft Windows , [10] Mac OS X , [11] Palm OS , [12] Linux , [13] BSD OSs , [13] e iOS . [14] Incluso está incluido en la distribución base de NetBSD y DragonFly BSD .
En julio de 2024, se relanzó la versión Amiga del juego para Nintendo Switch . Esta versión incluye características modernas, como filtros de visualización, tablas de clasificación, una selección de bandas sonoras, nuevos logros y una función de guardado. [15]
Como la entrada y la salida del juego original se realizan a través de una interfaz de terminal, en Unix es relativamente fácil redirigir la salida a otro programa. Uno de esos programas, Rog-O-Matic , fue desarrollado en 1981 para jugar y ganar el juego, por cuatro estudiantes de posgrado del Departamento de Ciencias de la Computación de la Universidad Carnegie-Mellon en Pittsburgh: Andrew Appel , Leonard Harney, Guy Jacobson y Michael Loren Mauldin . [16]
En una prueba durante un período de tres semanas en 1983, Rog-O-Matic tuvo una puntuación media más alta que cualquiera de los 15 mejores jugadores de Rogue en la Universidad Carnegie-Mellon y, en la Universidad de Texas en Austin, encontró el Amuleto de Yendor en un pasaje en el nivel 26, continuó hacia la superficie y emergió a la luz del día.
Ken Arnold dijo que le gustaba asegurarse de que "cada versión posterior de Rogue tuviera una nueva característica que rompiera Rogue-O-Matic". [17] Sin embargo, sigue siendo un estudio destacado en el diseño de sistemas expertos y condujo al desarrollo de otros programas de juegos, generalmente llamados "bots". Algunos de estos bots apuntan a otros roguelikes, en particular Angband . [18]
En marzo de 1984, Jerry Pournelle nombró a la versión de Rogue para IBM PC su "juego del mes", describiéndolo como "una trampa en tiempo real. Me encontré pensando 'solo un intento más' con demasiada frecuencia". [19] El juego fue revisado en 1986 en Dragon # 112 por Hartley y Pattie Lesser en la columna "Role of Computers". [20] En una columna posterior, los revisores le dieron a las versiones de IBM y Mac del juego 3½ de 5 estrellas. [21] Compute! revisó favorablemente la versión Amiga de Epyx como una mejora del original basado en texto, afirmando que "el juego te brindará muchas horas de diversión". [22] En 2009, Rogue fue nombrado el número 6 en la lista de los "Diez mejores juegos de PC de la historia" de PC World . [23]
Debido a la popularidad de Rogue en las universidades a principios de la década de 1980, [24] otros usuarios buscaron expandir o crear juegos similares. Sin embargo, como ni Toy, Wichman ni Arnold publicaron el código fuente del juego, estos esfuerzos generalmente requerían que los programadores crearan los elementos básicos del juego desde cero para imitar a Rogue . Aunque hubo varios títulos que intentaron esto, los dos más importantes fueron Moria (1983) y Hack (1982). Ambos juegos generaron una familia de versiones mejoradas y clones durante los siguientes años, lo que llevó a una gran cantidad de juegos con un estilo similar. Estos juegos, que generalmente presentan exploración y combate por turnos en un entorno de alta fantasía en una mazmorra generada por procedimientos y empleando muerte permanente, se denominan juegos roguelike en honor al impacto de Rogue. [ 17 ] La mayoría de las convenciones de interfaz gráfica utilizadas en Rogue se reutilizaron dentro de estos otros roguelikes, como el uso de para representar al personaje del jugador. [17]@
Toy, Wichman y Arnold se reunieron en el escenario por primera vez en 30 años en un evento llamado "Roguelike Celebration" en San Francisco en 2016. [25]