Índice
Introducción
El Juego
Tips
Otras Utilidades
Apéndices
Problemas?...

Opciones
 

Además de todo esto, NetHack también permite ser configurado de una manera muy versátil, de forma que se encuentre casi siempre una forma de jugar NetHack adecuado a los gustos de cada quien.

Hay dos tipos de opciones en NetHack: las que se pueden configurar todas las veces que se quiera jugar y las que solo pueden cambiarse al compilar el juego (ver más adelante en código fuente).

Mientras se está ejecutando el juego, se puede ver el estado en el que se encuentran actualmente las opciones con los comandos opciones (O) y opciones de compilación (#version; Alt + v). Este último muestra tanto las opciones de compilación del juego como las interfaces gráficas en que este puede ser ejecutado.

En cuanto a las opciones que se pueden cambiar siempre, estas se clasifican en dos tipos de acuerdo a los valores que pueden tomar: las booleanas solo pueden tomar dos valores (verdadero o falso) y las compuestas, que son cadenas de texto.

Las opciones también se pueden clasificar de acuerdo al tipo de cosas que afectan: hay opciones del juego, del despliegue, propias de la plataforma, otras y de compilación. Además, en NetHack en español hay opciones de idioma.

Así mismo hay tres formas de establecer estas opciones: directamente desde el juego (no todas las opciones pueden cambiarse así), a través de la variable de entorno NETHACKOPTIONS del sistema operativo o através de un archivo de configuración. Estas dos últimas permiten establecer las opciones desde antes de ejecutar el juego. En este manual no se explica la variable de entorno NETHACKOPTIONS para establecer las opciones ya que el mismo resultado, y de forma más sencilla y práctica, se obtiene con el archivo de configuración (salvo en las opciones de despliegue de caracteres, únicas del archivo de configuración). Unas cuantas de las opciones también pueden llegar a establecerse con parámetros al ejecutar el programa. Y por supuesto, las opciones de compilación vienen dadas por defecto en el juego, al momento de haber sido hecho y no pueden cambiarse, a menos que se consiga otra construcción del juego con las opciones deseadas o se construya el juego uno mismo con lo que se desee.

Para modificar una opción booleana desde el juego (cuando este lo permita), simplemente se selecciona la opción que se desea cambiar y al salir del menú esta opción quedará cambiada al nuevo valor (si estaba en true quedará en false y viceversa). Para modificar una opción compuesta desde el juego (cuando este lo permita), se selecciona la opción, y al salir del menú el programa pide que se de la nueva cadena que le corresponderá a esa opción o da un menú de opciones posibles para que automáticamente se le establezcan los valores deseados.

Para establecer una opción booleana desde afuera del juego se debe poner el nombre de la opción si se quiere establecer como true, o poner el nombre antecedido del prefijo 'no' o '!' para que quede como false; por ejemplo: autopickup, noautopickup y !autopickup. Para establecer una opción compuesta desde afuera del juego se debe poner el nombre de la opción seguida de dos puntos (:) y luego la cadena que se le quiera asignar. En caso de no establecer alguna opción dentro del archivo de configuración o variable de entorno, esta queda establecida con su valor por defecto.

Las siguientes listas muestran la mayoría de las opciones de NetHack con una descripción, indicando el tipo de opción del que se trata (booleana o compuesta), así como el valor por defecto que tiene (en las opciones compuestas este valor se encuentra encerrado entre ' '). En caso de que la opción no pueda ser modificada desde el juego, esta información también se indica. Para más opciones e información, consulta la ayuda interna de NetHack o el archivo 'Guidebook.txt', que acompaña al juego.

Opciones del juego

Estas opciones controlan varios aspectos del juego y de la forma en que puede ser jugado. Se subclasifican en aquellas que definen alguna característica de tu personaje y en otras.

    Tu personaje

  • align (compuesta, por defecto se elige al azar una entre justa, neutral o caótica, de acuerdo al rol y la raza): indica la alineación inicial de tu personaje. No se puede modificar con el comando opciones (O). En algunos casos, también puede ser especificada con parámetros al iniciar el juego.
  • catname (compuesta, por defecto ninguno o uno propio por cada rol): es el nombre inicial del gato que aparezca como tu mascota. Ver también las opciones dogname y horsename. No puede modificarse con el comando opciones (O).
  • character (compuesta, por defecto 'random'): establece el rol que tendrá tu personaje al iniciar. La cadena 'random' permite que se elija un rol aleatorio. Para el nombre del rol, basta con poner solamente las primeras 2 o 3 letras del nombre, excepto si se trata de la cadena 'random'. Es equivalente a la opción role; ver también la opción name. No puede modificarse con el comando opciones (O). También puede ser especificada con parámetros al iniciar el juego.
  • dogname (compuesta, por defecto ninguno o uno propio por cada rol): es el nombre inicial del perro que aparezca como tu mascota. Ver también las opciones catname y horsename. No puede modificarse con el comando opciones (O).
  • gender (compuesta, por defecto se elige uno al azar de ' female ' y ' male '): es el sexo inicial del personaje. Esta opción también puede establecerse si se usa simplemente una de las opciones booleanas (ya obsoletas) male o female (o también !female o !male) pero si aparece también esta opción, tiene precedencia. No puede modificarse con el comando opciones (O). En la mayoría de los casos, también puede ser especificada con parámetros al iniciar el juego.
  • horsename (compuesta, por defecto ninguno o uno propio por cada rol): es el nombre inicial del caballo que aparezca como tu mascota. Ver también las opciones catname y dogname. No puede modificarse con el comando opciones (O).
  • name (compuesta, en algunos sistemas es por defecto el username, en otros lo pide al inicio de cada juego): permite establecer el nombre del personaje. Através de esta opción también se puede establecer el rol del personaje separándolo del nombre por un guión ('-') y luego un sufijo que indica cada rol disponible (-A -B -C -S -Cab -M -Sac -G -R -Sam -T -V -Ma). Si el sufijo es -@ se elige un rol aleatorio. Ver también las opciones role y character. No puede modificarse con el comando opciones (O). También puede ser especificada con parámetros al iniciar el juego.
  • pettype (compuesta, por defecto ' random '): es el tipo inicial de tu mascota, en aquellos roles donde pueda haber varios tipos de mascotas. Las opciones son: cat, dog, random o none para no tener mascota. No puede modificarse con el comando opciones (O).
  • race (compuesta, por defecto ' random '): permite seleccionar la raza de tu personaje. Las opciones son: humano, orco, enano, elfo, gnomo y random. No puede modificarse con el comando opciones (O). La mayoría de las veces, también puede ser especificada con parámetros al iniciar el juego.
  • role (compuesta, por defecto ' random '): especifica el rol de tu personaje. Es sinónimo de la opción character. También puede usarse la opción name para esto mismo, pero role tiene más precedencia. Las opciones son: arqueólogo, bárbaro, cavernícola, sanador, caballero, monje, sacerdote, guardabosque, rufián, samurái, turista, valquiria, mago y random. Basta con poner las primeras 2 o 3 letras del nombre, para evitar confusiones con las otras opciones que empiecen con las mismas letras. No puede modificarse con el comando opciones (O). También puede ser especificada con parámetros al iniciar el juego.

    Otras opciones de juego

  • autodig (booleana, por defecto false): en caso de ser cierta, esta opción establece que si tu personaje se mueve hacia cualquier cosa que sea excavable y está empuñando en ese momento un ítem que permita excavar, se excave automáticamente.
  • autopickup (booleana, por defecto true): en caso de ser cierta, establece que tu personaje recoja automáticamente cualquier ítem al moverse sobre una casilla. Depende de la opción pickup_types y pickup_burden (ver más adelante). Ve también más adelante la opción autopickup_exception.
  • autopickup_exception (compuesta): establece una excepción a la opción pickup_types, útil con la opción autopickup. Solo existe si se compiló el juego con la opción autopickup_exceptions. Establece patrones que el juego checa cuando se está a punto de autorecoger algún objeto, de acuerdo a la descripción actual que tenga el ítem. La opción debe estar entre comillas y ser seguida por una cadena de entre 1 y 80 caracteres que será el patrón a encajar con la descripción en singular de un ítem. Se pueden usar los comodines * para hacer coincidir 0 o más caracteres y ? para hacer coincidir un solo caracter. Además, si los siguientes caracteres están al inicio de la cadena, se tratan de forma especial: < para recoger siempre los objetos con la descripción que sigue y > para nunca recoger los objetos con la descripción que sigue. Como es una opción que apenas se está probando, las configuraciones no se guardan entre juego y juego, por lo que es recomendable usar el archivo de configuración para establecerla. Tiene su propia sintaxis, no con OPTIONS, como las otras opciones compuestas. Por ejemplo, se puede establecer autopickup_exception="<*flecha" para siempre recoger cualquier tipo flecha, autopickup_exception=">*cadáver" para nunca recoger un cadáver, autopickup_exception=">*maldit*" para nunca recoger objetos malditos, autopickup_exception="<* RECOGE" para siempre recoger un objeto que haya sido etiquetado como ' RECOGE' y autopickup_exception=">*NO_RECOGE" para nunca recoger un objeto que haya sido etiquetado como 'NO_RECOGE'. Una opción de nunca recoger ('>') tiene precedencia sobre una de siempre recoger ('<') si acaso ambas coinciden.
  • autoquiver (booleana, por defecto false): al ser cierta establece que, si se termina la munición que se tenía cargada, el programa elija automáticamente algún ítem apropiado que sirva como nueva munición.
  • confirm (booleana, por defecto true): si es verdadera, esta opción permite que, al momento en que tu personaje intente atacar a algún monstruo que sea pacífico para con él, el juego te pida primero una confirmación. En caso contrario, tu personaje siempre ataca a dicho monstruo, con las consecuencias que esa acción pueda llegar a tener.
  • fixinv (booleana, por defecto true): si un ítem del inventario es tirado al piso, el ítem permanece con su letra, de manera que al recogerlo vuelve a tener la misma letra (a menos que antes de recogerlo el inventario se hubiera llenado, con lo que su letra tuvo que haber sido tomada por otro ítem). En caso de ser falsa, al dejar un ítem el resto de las letras del inventario se mueven.
  • fruit (compuesta, por defecto ' moho mucoso '): representa el nombre de un alimento que te guste comer (cualquier cosa). Es solo una cosa nostálgica que NetHack llega a usar de vez en cuando en el juego. Es mejor si se establece a algo más apetitoso que moho mucoso. Ya existen en el juego las manzanas, plátanos, naranjas, peras y melones, así que es preferible ponerle otro nombre.
  • packorder (compuesta, por defecto ' ")[%?+!=/(*`0_ '): establece el orden en el que se mostrarán los distintos ítems de acuerdo a su tipo dentro del inventario. Los valores de cada caracter de esta cadena deben de ser símbolos que se encuentren dentro de los tipos de objetos establecidos con la opción de despliegue objects.
  • pickup_burden (compuesta, por defecto ' S '): si se intenta recoger un ítem cuyo peso sobrepase el nivel establecido por esta opción, el juego pregunta si se desea continuar. Las opciones son: U para normal, B para cargado, S para recalcado, N para forzado, T para oprimido y L para sobrecargado. Ver también las opciones autopickup, autopickup_exception y pickup_types.
  • pickup_types (compuesta, por defecto ' all '): establece los tipos de objetos que se recogen automáticamente si la opción autopickup es true. Puede ser una cadena con símbolos válidos de la opción de despliegue objects o la cadena all para todos los tipos de ítems. Ver también las opciones pickup_burden y autopickup_exception.
  • prayconfirm (booleana, por defecto true): pide una confirmación antes de usar el comando rezar (#rezar; Alt + p).
  • pushweapon (booleana, por defecto false): al usar el comando blandir (w) cuando ya se tiene actualmente algún arma blandida, mueve esta otra arma al espacio del arma secundaria, que se puede volver a blandir con el comando intercambiar armas (x).
  • safe_pet (booleana, por defecto true): previene que tu personaje ataque a tu mascota, si estás plenamente consciente.
  • travel (booleana, por defecto true): permite el uso del comando viajar (_).

Opciones del despliegue

Con estas opciones se controlan aspectos de la forma en que se despliega la información en el juego, ya sea los símbolos que se usen (en el modo texto de caracteres ASCII) o algunas otras opciones relativas al despliegue en general. Se subclasifican en cuatro tipos: las de caracteres a utilizar, las de menús, las del inicio y final del juego y otras.

Caracteres a utilizar

Las cadenas utilizan códigos de escape al estilo lenguaje C, por lo que para establecer un símbolo de, por ejemplo, '\', se usaría en realidad '\\'.

  • boulder (compuesta, por defecto ' ' '): establece el caracter que será utilizado para representar a las rocas y estatuas en el modo texto de caracteres ASCII. Esta es la única opción de este tipo que solo tiene un caracter en su cadena, así que puede ser establecida de forma igual a como lo son el resto de las opciones. Esta misma opción queda establecida dentro de los caracteres de la opción objects.
  • dungeon (compuesta, por defecto ' |--------||.-|++##.##<><>_\\#{}.}..##\ #} '): establece los caracteres a ser utilizados para representar los símbolos de los niveles del juego en el modo de caracteres ASCII. Los símbolos son: roca sólida, muro vertical, muro horizontal, esquina superior izquierda, esquina superior derecha, esquina inferior izquierda, esquina inferior derecha, cruce de muros, muro en T hacia arriba, muro en T hacia abajo, muro en T a la izquierda, muro en T a la derecha, sin puerta, puerta abierta vertical, puerta abierta horizontal, puerta cerrada vertical, puerta cerrada horizontal, barras de hierro, árbol, piso de un cuarto, piso no 'iluminado', piso 'iluminado', escaleras de mano arriba, escaleras de mano abajo, escaleras arriba, escaleras abajo, altar, tumba, trono, lavabo, fuente, agua, hielo, lava, puente vertical bajado, puente horizontal bajado, puente vertical subido, puente horizontal subido, aire, nube y bajo el agua. No puede cambiarse con el comando opciones (O).
  • effects (compuesta, por defecto ' |-\\/*!)(0#@*/-\\||\\-//-\\|\|\\-/ '): establece los caracteres a ser usados para representar los efectos especiales del juego en el modo de caracteres ASCII. Los símbolos son: rayo vertical, rayo horizontal, rayo diagonal a la izquierda, rayo diagonal a la derecha, rayo de excavación, rayo de cámara, bumerán izquierdo, bumerán derecho, 4 glifos para la secuencia de resistencia mágica, 8 glifos para el despliegue alrededor de un personaje tragado (en medio no va ningún glifo, sino el personaje) y 9 glifos para explosiones. Una explosión consiste de 3 filas (arriba, en medio y abajo) de 3 caracteres y está centrada en el personaje con este arreglo de 3x3. No puede cambiarse con el comando opciones (O).
  • monsters (compuesta, por defecto ' abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@\ \\&;:~] '): establece los caracteres para representar a los distintos tipos de monstruos del juego en el modo texto de caracteres ASCII. Los símbolos son: insecto, ser globular, ave fantástica, canino, esfera, felino, gremlin, humanoide, demonio menor, ser gelatinoso, kóbold, leprechaun, mímico, ninfa, orco, perforador, cuadrúpedo, roedor, arácnido, acechador o trampero, equino, vórtice, gusano, insecto mítico/fantástico, luz, zruty, ser angelical, ave o murciélago, centauro, dragón, ser elemental, hongo, gnomo, humanoide gigante, monstruo invisible, jabberwock, polizonte, liche, momia, naga, ogro, budín, mecánico cuántico, monstruo de la corrosión, serpiente, trol, gigante oscuro, vampiro, espectro, xorn, primate, zombi, ser humano, fantasma, gólem, demonio, monstruo marino, reptil, cola de gusano y mímico escondido. No puede cambiarse con el comando opciones (O).
  • objects (compuesta, por defecto ' ])[="(%!?+/$*`0_. '): establece los símbolos a ser usados por el juego en el modo de texto de caracteres ASCII para los objetos. Los símbolos son: objeto ilegal (no debe ser usado), arma, armadura, anillo, amuleto, herramienta, alimento, poción, pergamino, libro, varita, oro, gema o piedra, roca o estatua, bola de hierro, cadena de hierro y veneno. No puede cambiarse con el comando opciones (O).
  • traps (compuesta, por defecto ' ^^^^^^^^^^^^^^^^^"^^^^ '): establece los símbolos a ser usados por el juego en el modo de texto de caracteres ASCII para las trampas. Los símbolos son: flecha, dardo, piedra, tabla suelta, trampa de osos, mina, roca rodante, gas adormecedor, oxidante, fuego, foso, foso con picos, hoyo, trampilla, teleportador, teleportador de nivel, portal mágico, telaraña, estatua, mágica, anti-mágica y polimorfar. No puede cambiarse con el comando opciones (O).

    Menús

  • menustyle (compuesta, por defecto ' full '): controla la interfaz de menús. Puede valer: traditional, combination, partial o full (con poner la primer letra de alguna opción basta). La opción traditional es la original de NetHack, no era un menú sino un prompt que pedía primero la letra del tipo de ítem y luego la letra del ítem que se iba a usar para algún comando. La opción combination coloca un prompt para el tipo de ítem y luego un menú para los ítems a seleccionar. La opción partial despliega directamente un menú pero con todos los ítems del inventario. La opción full despliega todo en menús, tanto para pedir el tipo de ítem como para pedir el o los ítems a utilizar.
  • menu_deselect_all (compuesta, por defecto ' - '): es el caracter utilizado para deseleccionar todos los ítems que estuvieran seleccionados en algún menú. No puede cambiarse con el comando opciones (O).
  • menu_deselect_page (compuesta, por defecto ' \ '): es el caracter utilizado para deseleccionar todos los ítems que estuvieran seleccionados solamente en la página actual de un menú. No puede cambiarse con el comando opciones (O).
  • menu_first_page (compuesta, por defecto ' ^ '): es el caracter utilizado para irse hasta la primer página de un menú. No puede cambiarse con el comando opciones (O).
  • menu_invert_all (compuesta, por defecto ' @ '): es el caracter utilizado para invertir la selección de las opciones de un menú. No puede cambiarse con el comando opciones (O).
  • menu_invert_page (compuesta, por defecto ' ~ '): es el caracter utilizado para invertir la selección de las opciones de la página actual de un menú. No puede cambiarse con el comando opciones (O).
  • menu_last_page (compuesta, por defecto ' | '): es el caracter utilizado para irse hasta la última página de un menú. No puede cambiarse con el comando opciones (O).
  • menu_next_page (compuesta, por defecto ' > '): es el caracter utilizado para avanzar a la siguiente página de un menú. No puede cambiarse con el comando opciones (O).
  • menu_previous_page (compuesta, por defecto ' < '): es el caracter utilizado para regresar a la página anterior de un menú. No puede cambiarse con el comando opciones (O).
  • menu_search (compuesta, por defecto ' : '): es el caracter utilizado para buscar algún elemento dentro de un menú. En plataformas para PC, solo la de Windows la tiene. No puede cambiarse con el comando opciones (O).
  • menu_select_all (compuesta, por defecto ' . '): es el caracter utilizado para seleccionar todos los elementos de un menú. No puede cambiarse con el comando opciones (O).
  • menu_select_page (compuesta, por defecto ' , '): es el caracter utilizado para seleccionar todos los elementos de la página actual de un menú. No puede cambiarse con el comando opciones (O).

    Inicio y final del juego

  • disclose (compuesta, por defecto ' ni na nv ng nc '): permite configurar el tipo de información que se muestra al final de un juego y la forma en que el programa pide la confirmación del usuario para mostrar esta información. La información se refiere al inventario (i), atributos mágicos (a), monstruos muertos (v), monstruos que fueron genocidados (g) y los desafíos personales cumplidos (c). Se usan los prefijos n, y, +, - para que la confirmación pedida sea: pedir confirmación con la opción 'n' por defecto, pedir confirmación con la opción 's' por defecto, no pedir confirmación y sí mostrar, no pedir confirmación y no mostrar.
  • fullscreen (booleana, por defecto true): NetHack intenta ejecutarse en pantalla completa, y no en una ventana. No puede modificarse con el comando opciones (O).
  • legacy (booleana, por defecto true): muestra un mensaje de introducción al iniciar un juego. No puede modificarse con el comando opciones (O).
  • news (booleana, por defecto true): permite leer el archivo de noticias de NetHack al inicio de cada juego, si es que existe. En algunos sistemas este archivo se actualiza cuando hay noticias nuevas, si se está inscrito al foro rec.games.roguelike.nethack en Usenet o por el administrador del sistema. Solo existe si el juego fue compilado con la opción news. No puede modificarse con el comando opciones (O).
  • player_selection (compuesta, por defecto ' dialogs '): especifica si se desea que NetHack pida el nombre y datos (alineación, rol, raza y sexo) del personaje en un prompt o a través de cuadros de diálogo. Puede valer dialogs o prompts. No puede modificarse con el comando opciones (O). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • scores (compuesta): controla que partes de la tabla de récords se mostrarán al final de cada juego, dependiendo de la puntuación que hayas obtenido en el presente juego que terminas. Por ejemplo: "scores:5 top scores/4 around my score/own scores" provoca que se muestren los 5 primeros lugares de la tabla, y mi propio lugar, con los 4 lugares más arriba y los 4 más abajo de mi propio lugar. Otro ejemplo: "scores:!own/3 top/2 around" provoca que no se muestre mi propio lugar, pero si los 3 primeros, los 2 de abajo y los 2 de arriba de mi propio lugar. No es necesario escribir todas las palabras, con las letras 't', 'a' y 'o' basta.
  • splashscreen (booleana, por defecto true): en la interfaz de Windows, NetHack despliega una pantalla splash inicial. No puede modificarse con el comando opciones (O). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • tombstone (booleana, por defecto true): dibuja una tumba cuando terminas el juego por haber muerto tu personaje.
  • toptenwin (booleana, por defecto false): coloca el marcador al final del juego en una ventana aparte que el resto del juego, cuando la plataforma lo permita (las de PC no lo permiten, aunque la de Windows lo hace en un cuadro de diálogo siempre).

    Otras opciones de despliegue

  • align_message (compuesta, por defecto ' top '): en que parte de la ventana colocar la línea de información y comandos (puede valer top, bottom, left o right). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • align_status (compuesta, por defecto ' bottom '): en que parte de la ventana colocar la barra de estado (puede valer top, bottom, left o right). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • ascii_map (booleana, por defecto true en el puerto para MS-DOS): intenta desplegar la interfaz del juego con caracteres ASCII. No puede modificarse con el comando opciones (O). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • cmdassist (booleana, por defecto true): si vale true, cuando el jugador se equivoca al teclear una dirección inválida en algún comando que requiera de una dirección, NetHack proporciona una pequeña ayuda con las teclas de las direcciones válidas.
  • font_map (compuesta): es el nombre de la fuente a usar por NetHack para el área de juego. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • font_menu (compuesta): es el nombre de la fuente a usar por NetHack para los menús. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • font_message (compuesta): es el nombre de la fuente a usar por NetHack para la línea de información y comandos. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • font_size_map (compuesta): es el tamaño de la fuente que usa NetHack en el área de juego. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • font_size_menu (compuesta): es el tamaño de la fuente que usa NetHack en los menús. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • font_size_message (compuesta): es el tamaño de la fuente que usa NetHack en la línea de información y comandos. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • font_size_status (compuesta): es el tamaño de la fuente que usa NetHack en la barra de estado. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • font_size_text (compuesta): es el tamaño de la fuente que usa NetHack en los mensajes. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • font_status (compuesta): es el nombre de la fuente a usar por NetHack para la barra de estado. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • font_text (compuesta): es el nombre de la fuente a usar por NetHack para los mensajes. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • help (booleana, por defecto true): estando en verdadero, esta opción permite que al usar el comando que es (/), el programa pregunte si se desea más información del símbolo especificado. Si está en falso ni se pide confirmación ni se muestra información, ahorrando tiempo pero posiblemente perdiendo valiosa o al menos interesante información.
  • hilite_pet (booleana, por defecto false): permite distinguir visualmente a tu mascota del resto de monstruos que sean similares. No todas las interfaces de despliegue permiten que esta opción funcione. En las interfaces de modo texto, generalmente la mascota queda resaltada o en video inverso. En las interfaces de modo gráfico generalmente se despliega un pequeño corazón junto a la mascota. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • large_font (booleana): NetHack utiliza fuentes grandes. No puede modificarse con el comando opciones (O). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • lit_corridor (booleana, por defecto false): permite visualizar el piso como iluminado si tu personaje se encuentra en una casilla vecina.
  • lootabc (booleana, por defecto false): utiliza las opciones de menú 'a', 'b' y 'c' con el comando saquear (#saquear; Alt+l), en vez de las opciones mnemónicas ahora por defecto 's' (sacar), 'm' (meter) y 'a' (ambas).
  • mail (booleana, por defecto false): en algunas plataformas, permite que al llegar un nuevo correo electrónico, aparezca un mensaje en el juego avisando de esto, y con la posibilidad de leerlo. En las plataformas para PC, esta opción solo emula un mail daemon (demonio o proceso de correo electrónico). Solo existe si el juego fue compilado con la opción mail. No puede modificarse con el comando opciones (O).
  • map_mode (compuesta, por defecto tiles): NetHack desplegará el área de juego en el modo especificado. (Puede valer tiles, ascii4x6, ascii6x8, ascii8x8, ascii16x8, ascii7x12, ascii8x12, ascii16x12, ascii12x16, ascii10x18). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • msghistory (compuesta, por defecto ' 20 '): es el número de mensajes de la línea de información a guardar para el comando ver mensajes anteriores (^P; ^ Num-Pad+). No puede modificarse con el comando opciones (O).
  • msg_window (booleana, por defecto false): permite que los mensajes anteriores se muestren en una ventana, en lugar de sobre la misma línea de información. Ver también la opción msghistory. Solo está implementada para la opción de compilación de la interfaz de terminales tty.
  • perm_invent (booleana, por defecto false): permite que el inventario se despliegue siempre en una ventana aparte. Solo tiene sentido en aquellas plataformas donde esté implementada esta característica (en las plataformas para PC no lo está).
  • popup_dialog (booleana, por defecto false): especifica que NetHack debe usar cajas de diálogo para pedir información del usuario. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • runmode (compuesta, por defecto ' run '): Especifica la forma en que se actualiza el despliegue de la pantalla al usar comandos de movimiento que usen varios turnos (viajar, correr con shift+dirección, ^+dirección, etc.). Puede valer teleport, run, walk, crawl. En teleport se actualiza la pantalla hasta que el movimiento finaliza. En run se actualiza la pantalla cada aproximadamente siete pasos. En walk se actualiza la pantalla a cada paso. En crawl funciona como con walk, pero luego de cada actualización se hace una breve pausa. Esta opción solo afecta la forma en que despliega la información en pantalla, no el resultado de moverse. El efecto puede o no notarse dependiendo del puerto y terminal de pantalla. Antes de la versión 3.4.1. solo se usaba el modo teleport.
  • scroll_amount (compuesta, por defecto ' 1 '): NetHack recorre el despliegue este número de casillas cuando el personaje alcanza el valor dado por scroll_margin (ver adelante) de casillas de algún extremo de la ventana. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • scroll_margin (compuesta, por defecto ' 5 '): NetHack recorre el despliegue el número de casillas dado por scroll_amount (ver atrás) cuando el personaje alcanza este número de casillas de algún extremo de la ventana. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • showexp (booleana, por defecto false): muestra los puntos de experiencia de tu personaje en la barra de estado.
  • showrace (booleana): despliega a tu personaje con un glifo de tu raza, en vez de tu rol (en el modo de mosaicos) o una '@' (en el modo texto). En el modo texto puede ser @ para humano, o para orco, h para enano, g para gnomo y @ para elfo. En el modo de mosaicos se usa un mosaico especial de cada raza. Esto solo afecta la forma en que aparece tu personaje en pantalla, no la forma en que el juego te trata.
  • showscore (booleana, por defecto false): muestra la puntuación actual aproximada que tienes hasta el momento en el juego en la barra de estado.
  • sortpack (booleana, por defecto true): ordena tus ítems por tipo al que pertenezcan al momento de desplegar el inventario.
  • sparkle (booleana, por defecto true): despliega un efecto cuando un monstruo u otro ser de NetHack es golpeado con algún ataque (mágico o de otro tipo) al que es resistente. Ver la opción effects.
  • standout (booleana, por defecto false): provoca que, en el modo texto de caracteres ASCII, las letras de los monstruos y el mensaje '-- Más --' se vean en letras remarcadas.
  • suppress_alert (compuesta, por defecto nada): suprime los mensajes que llegan a aparecer en el juego para dar advertencias cuando hay cambios entre las versiones nuevas que aparecen del juego. Por ejemplo, "suppress_alert:3.3.1" evitaría los mensajes relativos a los cambios respecto a la versión 3.3.1 y anteriores.
  • tile_file (compuesta, por defecto nada): establece el nombre y ruta del archivo BMP en el que se encuentren los mosaicos para el modo gráfico de Windows, de manera que se usen otros mosaicos distintos a los que se usan por defecto (que son de 16x16 pixeles). En el sitio oficial de nethack, se puede encontrar por ejemplo un archivo BMP que usa mosaicos de 32x32 pixeles (tiles32.bmp), en lugar de los mosaicos comunes que se usan; los mosaicos de este archivo fueron los usados para las imágenes que se utilizaron en este manual. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • tile_height (compuesta, por defecto nada): establece la altura de cada mosaico que se encuentre en el archivo BMP de la opción tile_file, en el modo gráfico de Windows. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • tiled_map (booleana, por defecto false en el puerto para MS-DOS): intenta desplegar la interfaz del juego con mosaicos de mapas de bits. No puede modificarse con el comando opciones (O). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • tile_width (compuesta, por defecto nada): establece el ancho de cada mosaico que se encuentre en el archivo BMP de la opción tile_file, en el modo gráfico de Windows. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • time (booleana, por defecto false): muestra el número de tus turnos transcurridos desde que empezaste el juego en la barra de estado.
  • use_inverse (booleana): establece que NetHack debe usar el inverso cuando el juego lo especifique. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • verbose (booleana, por defecto true): provee de más comentarios durante el juego, para hacerlo más narrativo.
  • windowcolors (compuesta, por defecto los valores configurados de colores para las ventanas y sus componentes): NetHack despliega las ventanas con los colores de frente/fondo especificados aquí, si puede. Esta opción debe llevar el siguiente formato: tipo_ventana frente/fondo. Tanto los colores de frente y fondo son requeridos y deben separarse por una diagonal. tipo_ventana es 'message' o 'status' (o abreviando 'msg' o 'sts'). Se pueden especificar los dos tipos de ventana, poniendo el formato de un tipo separado por un espacio del formato del otro tipo. Los colores (frente y fondo) pueden especificarse con un nombre de color en inglés (black, red, green, brown, blue, magenta, cyan, gray (o grey), orange, brightgreen, yellow, brightblue, brightmagenta, brightcyan, white, trueblack, purple, silver, maroon, fuchsia, lime, olive, navy, teal, aqua), con un nombre de un componente de ventana para tomar ese color del componente dado (activeborder, activecaption, appworkspace, background, btnface, btnshadow, btntext, captiontext, graytext, highlight, highlighttext, inactiveborder, inactivecaption, menu, menutext, scrollbar, window, windowframe, windowtext) o con 6 dígitos hexadecimales de un color RGB (#8F8F8F). No puede modificarse con el comando opciones (O). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • windowtype (compuesta, por defecto depende del sistema y la compilación hecha): selecciona el tipo de terminal gráfica a utilizar. Hay varias opciones de terminales gráficas como tty, x11, gnome, mswin, entre otras dependiendo de las opciones compiladas en el juego. No puede modificarse con el comando opciones (O).
  • wraptext (booleana): NetHack corta y mueve a la siguiente línea las líneas de texto que no quepan en un área visible de la ventana.

Opciones propias de cada plataforma

Estas opciones solo son propias de la plataforma en la que se ejecute el juego. Las siguientes opciones están disponibles para la plataforma para PC: MS-DOS, Windows o ambas según se indique, también se presentan opciones únicas de otras plataformas. Algunas puede ser que estén disponibles también para otras plataformas.

  • altkeyhandler (compuesta, por defecto ' nhdefkey '): permite seleccionar una dll de manejo de teclado alterna, no debe escribirse ni la extensión .dll ni ninguna ruta de acceso al archivo. No puede modificarse con el comando opciones (O). Es propia de la versión para Windows, terminal tty de NetHack. Otras opciones pueden ser nh340key (manejador de teclado para NH 3.4.0.) y nhraykey (manejador de teclado de Ray Chason).
  • altmeta (booleana, por defecto true): permite que se usen las teclas Alt como las teclas meta para los comandos extendidos. Es propia de la versión de NetHack para Amiga.
  • background (compuesta): elige el color de fondo, entre black o white. Es propia de la versión de NetHack para Macintosh.
  • BIOS (booleana, por defecto false): al ser cierta permite que se hagan llamadas a la BIOS del sistema para permitir un despliegue rápido y también para permitir usar las teclas de dirección (flechas) para el movimiento. Es propia de la versión de NetHack para PC (MS-DOS y Windows), OS/2 y ST NetHack. No puede cambiarse con el comando opciones (O).
  • color (booleana): en el modo texto de caracteres ASCII permite que NetHack despliegue estos caracteres con colores. En caso de que no se vea muy bien el área de juego, puede intentar ponerse en false. Ver también la opción videoshades. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • DECgraphics (booleana, por defecto false): permite el uso de símbolos para las terminales de despliegue DEC VT-xxx / DEC Rainbow / juego de caracteres ANSI de líneas, para los distintos símbolos del juego. Igualmente permite que se usen esas terminales, por lo que, aunque no se deseen dichos símbolos y se establezcan los propios, debe activarse en esos casos. Es propia de la versión de NetHack para MS-DOS.
  • flush (booleana, por defecto false): limpia el búfer del teclado. Es propia de la versión de NetHack para Amiga.
  • IBMgraphics (booleana, por defecto false): permite el uso de símbolos del código ASCII extendido en las terminales IBM. Igualmente permite que se usen dichas terminales, por lo que, aunque no se deseen dichos símbolos y se establezcan los propios, debe activarse en esos casos. Es propia de las versiones de NetHack para MS-DOS y Windows. (Ver más adelante en opciones de idioma para una aclaración sobre la versión en español de NetHack respecto a esta opción).
  • MACgraphics (booleana, por defecto true): permite el uso de símbolos para las terminales de Macintosh para los distintos símbolos del juego. Igualmente permite que se usen dichas terminales, por lo que, aunque no se deseen dichos símbolos y se establezcan los propios, debe activarse en esos casos. Es propia de las versiones de NetHack para Macintosh.
  • menu_tab_sep (booleana, por defecto false): permite que en los menús se usen separadores con el caracter tabulador en vez de con espacios. Es propia de la versión de NetHack para MS-DOS.
  • page_wait (booleana, por defecto true): permite que se desplieguen los mensajes '-- Más --' en la línea de información y comandos. Es propia de la versión de NetHack para Macintosh.
  • preload_tiles (booleana, por defecto true): en el modo gráfico de íconos de mapas de bits, provoca que estos íconos sean cargados previamente en memoria, acelerando la velocidad de ejecución del juego, pero ocupando más memoria RAM. (Propia de la versión de NetHack para MSDOS). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • rawio (booleana, por defecto false): forza a usar el modo crudo (sin cbreaks) para una salida más rápida y una entrada más eficiente. (Es propia de la versión de NetHack para MS-DOS, la cual trata generalmente al comando ver mensajes anteriores (^P; ^ NumPad+) como una salida a impresora si no se activa esta opción). Las interfaces DEC-Rainbow pueden bloquearse con esta opción, y es mejor apagarla en estos casos.
  • softkeyboard (booleana, por defecto true): despliega un teclado en pantalla para seleccionar los comandos. Cuando se juega NetHack en handhelds (Palms, PocketPC's, etc.) esta opción es útil.
  • soundcard (compuesta): activa y especifica la tarjeta de sonido para usarse. Propia de la versión de NetHack para MS-DOS. No puede cambiarse con el comando opciones (O).
  • subkeyvalue (compuesta): altera el valor de los teclazos que el sistema operativo retorna a NetHack para ayudar a compensar cuando se usan teclados internacionales. Por ejemplo OPTIONS=subkeyvalue:171/92 retornara a NetHack un 92 cuando lo que se iba a retornar era 171. Se pueden usar tantas opciones subkeyvalue como sea necesario. Es propia de la versión de NetHack para Windows en la terminal tty. No puede cambiarse con el comando opciones (O).
  • vary_msgcount (compuesta, por defecto ' 4 '): es el número de mensajes previos que aparecen simultáneamente en la línea de información de NetHack para la plataforma de Windows. Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • video (compuesta): Establece el modo de video a usar en la versión para MS-DOS de NetHack. Puede valer autodetect, vga o default. Estableciendo vga o autodetect teniendo hardware vga presente, provoca que se puedan usar mosaicos para los símbolos del juego. No puede cambiarse con el comando opciones (O).
  • videocolors (compuesta, por defecto ' 4-2-6-1-5-3-15-12-10-14-9-13-11 '): establece la paleta de colores para las plataformas de PC que utilicen la opción de compilación no_terms. El orden de los colores es: rojo, verde, café, azul, magenta, cian, blanco brillante, rojo brillante, verde brillante, amarillo, azul brillante, magenta brillante y cian brillante. No puede cambiarse con el comando opciones (O).
  • videoshades (compuesta, por defecto ' normal '): permite establecer la intensidad de los tres niveles de gris en NetHack para las plataformas de PC. Sirve cuando la interfaz es difícil de leer. Las opciones son: dark, normal y light. Ver la opción color. No puede cambiarse con el comando opciones (O).
Otras opciones

Son más opciones de NetHack.

  • checkpoint (booleana, por defecto true): esta opción solo está activa si el juego fue compilado con la opción insurance. Permite que NetHack guarde automáticamente los archivos temporales que utiliza para cada juego en los momentos en que tu personaje suba o baje de nivel. Esto permitiría una recuperación de la información en caso de que el juego o la computadora se bloquearan.
  • checkspace (booleana, por defecto true): con esta opción, NetHack verifica que haya suficiente espacio en disco antes de escribir cualquier archivo. Solo existe si el juego fue compilado con la opción mfloppy. En caso de estar jugando desde un disco duro de más de 2Gb, es preferible dejarla en false.
  • eight_bit_tty (booleana, por defecto false): hace que NetHack pase valores de caracteres de 8 bits directo a la terminal (por ejemplo para valores especificados en la opción traps). Si no aplica porque el puerto no la reconozca (no aparece en el menú del comando opciones (O)), simplemente se ignora.
  • extmenu (booleana, por defecto false): sirve para que al ejecutar un comando extendido, al teclear '#' aparezca un menú con los comandos extendidos, en lugar de tener que teclear el comando. Solo existe si el juego fue compilado para la terminal de despliegue tty.
  • ignintr (booleana, por defecto false): ignora todas las interrupciones, inclusive la de break.
  • mouse_support (booleana, por defecto true): permite el uso de un mouse para hacer entradas y para el comando viajar (_).
  • null (booleana, por defecto true): permite que los nulls sean mandados a la terminal. Si mover objetos parece que provoca que haya teleportaciones entre cuartos, se recomienda dejar esta opción en false para que NetHack utilice sus propio código de retardo.
  • number_pad (booleana, por defecto false): permite el uso del teclado numérico (NumPad) para las teclas de movimiento y dirección en el juego. De lo contrario, se utilizarían las teclas [yuhjklbn] como en los juegos de rol 'estilo rogue' por computadora originales.
  • rest_on_space (booleana, por defecto false): hace que la barra espaciadora sea un equivalente al '.' en el comando descansar (.).
  • silent (booleana, por defecto true): deshabilita los bips de la bocina interna de la PC.
  • sounddir (compuesta): establece la ruta al directorio que aloja los archivos en formato WAV a usar con las opciones sound (ver más adelante). No usa la sintaxis OPTIONS, sino que debe especificarse como sounddir=ruta_de_acceso_a_arcivos_wav
  • sound (compuesta): permite mapear un archivo de sonido en formato WAV con algún mensaje que da NetHack en la línea de información y comandos. No usa la sintaxis OPTIONS, sino que debe especificarse con el siguiente formato: sound=MESG "patrón_a_mapear" "archivo_wav" vol. MESG se refiere a que se mapeará un mensaje de la línea de información (actualmente es la única opción soportada). patron_a_mapear está en un formato que puede ser el interno de NetHack o con expresiones regulares. Este último es algo complicado de usar, mientras que el otro es más sencillo, ve mas adelante para la opción de compilación necesaria para saber si se puede usar el formato interno de NetHack (pmatch) o no. El formato interno de NetHack usa los siguientes caracteres especiales: * para hacer coincidir 0 o más caracteres del mensaje, y ? para hacer coincidir un solo caracter del mensaje. archivo_wav se refiere al nombre del archivo en formato WAV que contiene el sonido a reproducir, se toman los archivos de formato WAV del directorio especificado en la opción sounddir (ver más atrás). vol es el volumen deseado para reproducir el sonido. Por ejemplo se puede usar sound=MESG "*campaneo de una caja registradora*" "gong.wav" 50 para que se reproduzca el archivo gong.wav a volumen del 50% cada vez que aparezca un mensaje que contenga la cadena 'campaneo de una caja registradora' en la línea de información.
  • timed_delay (booleana, por defecto true): permite que se utilice un temporizador en lugar de mandar caracteres a la pantalla cuando se hacen pausas para efectos de despliegue, como en los efectos de explosiones y al mover objetos. Solo está disponible si se compiló el juego con la opción timed_delay.

Opciones de compilación

Son las opciones que solo pueden modificarse al compilar (construir) el juego.

  • autopickup_exceptions: permite el uso de la opción autopickup_exception.
  • debug_mode: permite entrar al modo de depuración de NetHack.
  • DLB: data librarian, permite que todos los archivos de datos del juego queden almacenados en uno solo, reduciendo el número de archivos del juego, aunque el tamaño siga siendo el mismo.
  • Elbereth: permite usar la característica Elbereth.
  • experience_points: permite desplegar los puntos de experiencia en la barra de estado.
  • insurance: permite que haya más seguridad cuando el juego o la computadora se bloqueen. Ver en otras opciones, la opción checkpoint y más adelante en recuperación de juegos perdidos.
  • Keystone_Kops: permite la existencia de los monstruos 'polizontes' (símbolo por defecto: K).
  • log: provoca que siempre que se ejecute el juego se cree un archivo llamado 'Logfile' que almacena toda la información del juego, como si se almacenara un récord, aún cuando no se haya obtenido en realidad uno.
  • mail: para las plataformas de PC, esta opción permite la emulación de un demonio de correo electrónico que ocasionalmente "entrega" correos a tu personaje. En otras plataformas permite que al recibir un correo electrónico, el sistema avise através del mismo demonio de correo. Ver en opciones de despliegue, la opción mail.
  • mfloppy: permite jugar NetHack desde disquetes. Esto, aunque poco común, también puede llegar a lograrse si al compilar se eliminan varias opciones para que el juego, sin comprimir, quepa en un disquete de 1.44 Mb (se necesitarían más disquetes para los archivos bones y para los archivos de juegos salvados.) Ver en otras opciones, la opción checkspace.
  • mswin: permite que NetHack se despliegue en la terminal de Windows, teniendo como opciones tanto el despliegue en modo texto como el de modo gráfico.
  • news: en algunas plataformas (como Unix y otras), esta opción permite obtener noticias del foro de Usenet rec.games.roguelike.nethack o del administrador del sistema. Ver en las opciones de despliegue, la opción news.
  • no_terms: permite que NetHack corra sin la necesidad de un archivo cargado en memoria previamente llamado ANSI.SYS que permite el uso de varios caracteres ASCII entre otras rutinas de despliegue, en las plataformas para PC, ya que con esto el programa liga sus propias rutinas de pantalla en el archivo ejecutable. Ver en opciones de plataforma, la opción videocolors.
  • pmatch: permite el mapeo de formatos con el formato pmatch (el interno de NetHack).
  • redo_command: permite usar el comando repetir comando.
  • rogue_level: permite la existencia del nivel 'estilo rogue' como homenaje al juego Rogue, origen de NetHack y otros juegos.
  • saddles_and_riding: permite la existencia del ítem silla de montar y poder cabalgar sobre algunos monstruos.
  • seduction: permite la existencia de los monstruos súcubos e íncubos.
  • show_score: permite desplegar el marcador aproximado en la barra de estado.
  • sinks: permite la existencia de lavabos dentro de las características del calabozo.
  • timed_delay: permite que se habilite la opción timed_delay para algunos efectos especiales del juego.
  • tourists: permite la existencia del rol turista.
  • tty: permite que NetHack se despliegue en este tipo de terminal (propia de MS-DOS y otras plataformas), con lo que se puede tener un despliegue en modo texto (ASCII) y opcionalmente uno en modo gráfico. Ver en otras opciones la opción extmenu y en opciones de despliegue la opción msg_window.
  • walled_mazes: permite la existencia de laberintos en los calabozos.
  • x11: permite que NetHack se despliegue en este tipo de terminal (propia de UNIX), para tener un despliegue con mosaicos en terminales X-Window.

Opciones de idioma

  • accents (compuesta, por defecto ' 0 '): en la versión en español, esta opción establece los juegos de caracteres para los caracteres acentuados, y depende del juego de caracteres que se esté utilizando. CodePage 437: ' 1 '; CodePage 850: ' 2 '; Windows NT, 2000 y XP, con la fuente Lucida Console: ' 2 '.
  • IBMgraphics (compuesta, por defecto ' 0 '): en la versión en español, esta opción no es booleana sino compuesta, y es una cadena con un número que indica el juego de caracteres a utilizar, para desplegar correctamente algunos caracteres como son acentos, entre otros. CodePage 437: ' 3 '; CodePage 850: ' 2 '; Windows NT, 2000 y XP, con la fuente Lucida Console: ' 3 '. También se puede usar el valor ' 0 '.

Archivo Defaults.nh
 

NetHack también permite establecer prácticamente todas sus opciones a través de un archivo especial llamado 'Defaults.nh' en las plataformas para PC (puede ser que en otras plataformas el nombre del archivo cambie). Esta manera de establecer las opciones es mucho más práctica y sencilla ya que con esto se logra tener las opciones del juego desde antes de ejecutarlo y solo basta hacerlo una sola vez, sin tener que modificar las opciones cada vez que se juegue (a menos claro que en algún momento se deseen cambiar las opciones, ya sea dentro del juego o dentro del mismo archivo mencionado).

El uso de este archivo es bastante sencillo. Es un archivo en formato de texto ASCII, por lo que puede ser modificado prácticamente con cualquier editor de texto o procesador de textos (teniendo cuidado siempre de guardarlo en formato de texto ASCII o comúnmente llamado texto sin formato o texto plano).

Incluso se tiene la ventaja de poder poner comentarios dentro de este archivo para poder tener referencias de las opciones que se van estableciendo. Una línea de comentarios en el archivo 'Defaults.nh' siempre inicia con el caracter '#', y el resto de la línea será obviamente el comentario.

Para establecer la mayoría de las opciones se usa la cadena 'OPTIONS=' para dar inicio a una cadena que contenga varias de las opciones a establecer, separadas cada una por comas (,). Por ejemplo:

OPTIONS=autopickup,!autodig,noautoquiver,catname:Boris

Esta línea dice que al iniciar el juego se establezca la opción autopickup como verdadera, la opción autodig como falsa, la opción autoquiver también como falsa ('!' y 'no' son equivalentes) y la opción catname con la cadena Boris.

Hay que recordar que si no se establece un valor para una opción del juego, entonces esta queda establecida con su valor por defecto. (Ve más arriba en opciones para ver los distintos valores por defecto de la mayoría de las opciones de NetHack.)

Puede haber tantas líneas OPTIONS como se requiera, pero nunca repetir una opción en el archivo.

Hay algunas otras cadenas para establecer de forma especial las opciones de despliegue de caracteres de NetHack. Para establecerlas se utilizan las siguientes cadenas seguidas por los códigos ASCII (no los símbolos) de los caracteres que se desean utilizar, separados entre sí por espacios o entre renglones de la misma opción con el código de escape '\'.

BOULDER= para establecer el caracter de la opción boulder.

DUNGEON= para establecer los caracteres de la opción dungeon.

EFFECTS= para establecer los caracteres de la opción effects.

MONSTERS= para establecer los caracteres de la opción monsters.

OBJECTS= para establecer los caracteres de la opción objects.

TRAPS= para establecer los caracteres de la opción traps.

Igualmente existen otras cadenas especiales para unas variables de entorno necesarias del juego (estas también pueden ser establecidas con variables de entorno del sistema operativo, así como el resto de las opciones (excepto las de despliegue) pueden ser establecidas con la variable de entorno NETHACKOPTIONS):

HACKDIR= para establecer la unidad y directorio (path) de los archivos de NetHack. Si no se establece, al menos en las plataformas para PC esta variable queda por defecto en el directorio donde se encuentre el archivo Nethack.exe o Nethackw.exe

LEVELS= para establecer el path para guardar los archivos temporales que se van generando en el juego conforme se va avanzando en sus distintos niveles. Ve más adelante en recuperación de juegos perdidos. Por defecto queda en donde se encuentre HACKDIR.

BONES= para establecer el path para guardar los archivos de huesos de juegos anteriores. Por defecto queda en donde se encuentre HACKDIR, y si no comúnmente no se usa sino que queda en el mismo path de LEVELS.

SAVE= para establecer el path para guardar los archivos de juegos salvados al salir del juego. Si la opción de compilación mfloppy está activa y se está jugando NetHack desde disquetes, poner una cadena ';n' al final de esta opción provoca que no se pidan cambios de discos al guardar los juegos. Por defecto queda en donde se encuentre HACKDIR.

RAMDISK= para establecer el path para guardar los archivos temporales del juego (ver las variables LEVELS y BONES) cuando NetHack se ejecuta desde disquetes (ver la opción de compilación mfloppy). No debe ser el mismo que HACKDIR, sino de preferencia un directorio en un disco duro (o en un disco RAM si se puede para mayor velocidad).

TROUBLEDIR= para establecer el path para guardar los archivos de log cuando hay problemas con el juego. Por defecto queda en donde se encuentre HACKDIR.

Por último, las opciones autopickup_exception, sounddir y sound se establecen con las cadenas:

AUTOPICKUP_EXCEPTION="excepción de autopickup"

SOUNDDIR=ruta_a_directorio_de_archivos_de_sonido_wav

SOUND=MESG "formato de evento" "archivo de sonido .wav" VOLUMEN


¡NetHack para ciegos!
 

El hecho de que NetHack pueda ser configurado para desplegar solamente caracteres ASCII estándar hace posible, al menos en la versión para MS-DOS del juego, que este pueda ser completamente accesible para jugadores ciegos que usen tecnologías de sintetizadores de voz y/o accesos Braile. Los jugadores deben conocer muy bien el uso y funcionamiento de su interfaz y también saber como navegar horizontal y verticalmente caracter por caracter. La capacidad de búsqueda de sus interfaces puede resultar también muy útil aquí.

Es importante examinar bien la interfaz del juego (a través de este manual o del archivo 'Guidebook.txt' que acompaña al juego) para conocer bien los símbolos y caracteres que se presentan. También es importante saber como localizar el cursor de la PC dentro de la interfaz, ya que es siempre el lugar donde se encuentra colocado tu personaje (no basta buscar por un símbolo de '@', ya que también hay otros monstruos representados con este mismo caracter). Tu lector de pantalla también debe contar con una función para indicar el renglón y columna en el que se encuentra el cursor de lectura y el cursor de la PC; estas coordenadas son muy útiles para dar a los jugadores una mejor descripción de la localización general de los ítems y otros símbolos en la pantalla.

Aunque el editar el archivo 'Defaults.nh' no es difícil en realidad, en todas las distribuciones oficiales de NetHack viene incluido otro archivo llamado 'NHAccess.nh' que permite reemplazar al archivo 'Defaults.nh' y ejecutar el juego con opciones accesibles para los ciegos. Conforme se adquiera más experiencia en el juego y en la edición de este archivo, se podrán establecer las opciones para tener un juego más al gusto del jugador. El archivo 'NHAccess.nh' también contiene instrucciones para esto mismo.

Las opciones más cruciales para hacer el juego accesible a jugadores ciegos son:

IBMGraphics.- es necesario deshabilitar esta opción (por ejemplo, dejando en comentarios con el caracter '#' al inicio de la línea en el archivo que haga referencia a esta opción).

menustyle:traditional.- permite un uso más fácil de la interfaz de menús con sintetizadores de voz.

number_pad.- muchos programas de voz usan el teclado numérico para checar la pantalla. En estos casos deberá deshabilitarse esta opción y utilizar en su lugar las teclas [yuhjklbn] para el movimiento, como en los juegos de rol 'estilo rogue' originales.

Deben deshabilitarse (con comentarios, con el caracter '#' al inicio de cada línea) todas las líneas que hagan referencia a las opciones de despliegue boulder, dungeon, effects, monsters, objects y traps (para que el juego tome entonces sus valores por defecto) ya que normalmente estas opciones sustituyen a los caracteres por defecto de la interfaz del juego con otros caracteres del código ASCII no estándar y esto puede interferir con los lectores de pantalla.


Recuperar un juego perdido
 

Ocasionalmente llega a suceder que mientras estás jugando NetHack sucede alguna de las siguientes situaciones:

  • se va la luz,
  • tu computadora se bloquea por cualquier motivo no aparente,
  • tu computadora se reinicia por cualquier motivo menos aparente aún,
  • alguien por maldad apaga tu computadora,
  • si estás jugando en red, alguien te desconecta,
  • llega tu jefe y en la desesperación cierras tu juego o apagas tu computadora para que no te vea jugando o
  • el juego simplemente deja de responder

y para entonces ya estabas por ascender a tu personaje (es decir, ganar el juego). ¿Qué hacer entonces? Para eso fue creado el programa Recover (anteriormente era un módulo aparte de NetHack a ejecutarse de manera independiente, ahora desde la versión 3.4.1 la opción recover viene integrada dentro del mismo NetHack, al menos en los puertos para PC). Si tienes activa la opción checkpoint (y si el juego fue compilado con la opción insurance), entonces cada vez que tu personaje cambie de niveles (para arriba o para abajo), NetHack guardará automáticamente un archivo temporal que corresponde con el nivel que acabas de dejar y un archivo base con la información básica de tu personaje (el nivel en el que se encuentra actualmente, sus atributos, inventario, etc.). Esto permite al programa-módulo Recover funcionar, ya que te permitirá en cualquiera de aquellas situaciones críticas (o en alguna nueva, extraña y también crítica situación) recuperar a partir de estos archivos temporales un archivo único como si hubieras guardado el juego al momento de cambiar de nivel.

El funcionamiento de este programa es sencillo, simplemente debe teclearse lo siguiente:

nethack [-d directorio] nombre_base1 nombre_base2 ...

(o nethackw para Windows)

donde directorio indica el path donde se encuentran los archivos temporales que crea NetHack conforme cambias de niveles, y nombre_baseX indica el nombre base de los archivos de los juegos que quieras recuperar.

Digamos que en cierto momento estaban jugando Juan y Guadalupe (obviamente cada uno en sus respectivas máquinas y con juegos distintos), con sus personajes llamados 'Juanito' y 'Lupita' (un rufián con nivel de experiencia 22 y una turista de nivel de experiencia 20) y que de pronto el servidor (la máquina que tiene el juego de NetHack) se apaga. Cuando se restaure la situación, el administrador del juego (quien tenga acceso al servidor y a modificar los archivos al menos del juego de NetHack) podrá recuperar los juegos de Juan y Guadalupe con este sencillo programa, tecleando:

nethack -d nethack/levels Juanito Lupita

(Suponiendo que el juego guarda sus archivos temporales en el directorio nethack/levels). Esto hará que en lugar del montón de archivos temporales llamados Juanito.0, Juanito.1, Juanito.2, Juanito.3, Lupita.0, Lupita.1, Lupita.2, Lupita.3, etc. aparezcan solamente dos archivos: Juanito.sav y Lupita.sav, que podrán ser restaurados en un juego normal de NetHack cuando los respectivos jugadores así lo deseen, y sin haber perdido prácticamente todo su juego (solo se perderá aquello que jugaron desde el último cambio de nivel hasta el momento en que se apagó el servidor de NetHack).


El código fuente
 

Como ya se mencionó, NetHack es un juego abierto, por lo que cualquiera tiene acceso tanto al juego como al código fuente del programa para modificarlo a su gusto. (Ve la Licencia de NetHack para más aclaraciones.)

NetHack es un juego programado en lenguaje estándar C (ANSI C) y su código fuente consta de una cantidad considerable de archivos, entre los que se encuentran archivos fuente, librerías, código fuente de utilerías, código particular para las distintas plataformas e interfaces de despliegue del juego y varios archivos de datos.

Para conseguir el código fuente del programa, puede accederse a numerosos lugares en la red, páginas web y servidores FTP. El sitio oficial de NetHack cuenta también con un link para poder bajar el código fuente. El sitio oficial de NetHack en español también proporciona el código para esta versión del juego.

NOTA IMPORTANTE: si no se tienen conocimientos de lenguaje C al menos, seguramente será muy difícil entender el código fuente. Porfavor, no consigan el código fuente si su único afán es aprender a programar C a través del código fuente de NetHack. La complejidad del mismo es tal que aprender C de esta forma resultaría una tarea imposible. Sin embargo, aún sin tener grandes conocimientos de programación (o tal vez ningunos), es factible conseguir y compilar el juego para modificar algunas cosas y tener un juego a gusto del usuario.

Puesto que el código fuente es bastante grande, no es recomendable aventarse a entenderlo todo de un jalón ni mucho menos pretender entenderlo todo alguna vez, sino a lo mejor solo partes de el: en especial aquellas partes que permitan modificar cosas interesantes del juego, como agregar nuevos niveles, nuevos tipos de monstruos o ítems, nuevos tipos de tiendas, etc. Es importante leer también los archivos 'Readme.txt' y otros archivos de texto que se incluyan en el código fuente para saber los requisitos necesarios para compilar el juego y entender el proceso que debe seguirse para esto mismo. Para más información, hay numerosos sitios en la red que también proporcionan estos tipos de ayuda, o también se puede consultar en rec.games.roguelike.nethack.

Otra opción por la que tal vez se desea conseguir el código fuente puede ser simplemente para establecer algunas opciones de compilación que se quieran tener y que no vengan compiladas en la distribución oficial del juego (la palabra 'Elbereth', la existencia de lavabos, la existencia del rol turista, el nombre del administrador del juego para el modo wizard, etc.). Estas modificaciones son mucho más sencillas: el archivo include/config.h contiene, sobre todo al final (las del inicio es recomendable no modificarlas, a menos que se intente compilar el juego para otras plataformas y sobre todo si se tienen conocimientos para poder hacer esto) varias de las opciones que ya se han mencionado y que pueden servir para tener un mejor juego; igualmente el archivo src/topten.c contiene al inicio unas definiciones que pueden modificarse para alterar el comportamiento del juego al almacenar puntajes en el archivo 'Records'.

El directorio src contiene los archivos fuente del juego, y el directorio include las librerías.

El directorio doc contiene los archivos de la documentación oficial del juego. El directorio dat contiene varios archivos de texto con información y datos que se usan en el juego, como los niveles y otros.

El directorio sys contiene varios archivos de código especial para las distintas plataformas donde puede ser compilado el juego y la carpeta sys/share código común a todas las plataformas (incluyendo la función main()). El directorio win contiene el código propio para las distintas interfaces en las que puede desplegarse NetHack. (Igualmente win/share contiene código común a todas las interfaces).

Por último, el directorio util contiene el código para las distintas utilerías de NetHack, como los programas utilizados solamente al compilar el juego (que son: el compilador de niveles, el compilador del calabozo, la utilería DLB para almacenar todos los archivos de datos en un solo archivo, etc.).

Algunas otras opciones de compilación y demás cambios al código también pueden hacerse en varios otros archivos del código fuente, pero es importante solo modificarlos si se cuenta con los conocimientos necesarios para hacerlo, recordando que todo ello es bajo el riesgo del propio usuario, los desarrolladores no se hacen responsables.


Modo de Depuración o 'Wizard'
 

Si ya eres un experto en NetHack y además ya has hecho modificaciones al juego, de forma que te gustaría probarlas y ver su funcionamiento o su dificultad o si simplemente quieres probar teorías con descubrimientos que has hecho en el juego, para esto existe el modo Wizard de NetHack. Es algo muy parecido al modo de eXploración, solo que este último es usado por los jugadores que quieran una experiencia más sencilla del juego, mientras que el modo Wizard es usado por aquellos expertos programadores que necesiten probar sus cambios directamente en el juego (o por aquellos jugadores curiosos de probar teorías).

Para ilustrarlo mejor, digamos que acabas de crear un nuevo monstruo, pero que solamente aparece en un nivel especial que también creaste que además de todo aparece prácticamente al final del juego. ¿Te aventarías a recorrer TODOS los Laberintos de la Amenaza hasta llegar a este nivel y luego enfrentarte a tu monstruo para probarlo? Para hacer más sencillo esto es que existe el modo Wizard.

Para entrar a él, se usa un nuevo parámetro al ejecutar el programa:

nethack -D

Sin embargo, y para hacerlo de más emoción, no cualquiera puede entrar a este modo (y no diré aquí quién o como), solo alguien especial: para citar a J. R. R. Tolkien, habla 'wizard' y entra... Si no eres ese alguien, entrarás al modo de eXploración (y por cierto, dependiendo la compilación hecha del juego, ese alguien puede cambiar...).

El modo de depuración de NetHack es, como ya mencioné, muy útil para probar las nuevas características que se le puedan ir cambiando al código fuente del juego. Dentro del modo de depuración existen, además de los ya citados, varios comandos nuevos muy útiles para poder hacer las pruebas necesarias. Si lo necesitas, dentro de la ayuda en línea del juego, se incluye una nueva sección con estos comandos. Son los siguientes:

  • Detectar puertas secretas y trampas (^E).- permite detectar todas las puertas ocultas y trampas dentro del mismo cuarto en que se encuentre tu personaje.
  • Mapa mágico (^F).- despliega todo el mapa del nivel en el que te encuentres actualmente, sin que tengas que recorrerlo para descubrirlo.
  • Génesis (^G).- te permite crear el monstruo que tu le indiques junto a tu personaje.
  • Identificar ítems en el inventario (^I).- te permite que todos los ítems que lleves cargando en tu inventario sean completamente identificados (con atributos mágicos, nombre y demás).
  • Niveles especiales (^O).- muestra el número en el que se encuentran todos los niveles especiales del juego y el nivel en el que se encuentran las bifurcaciones hacia las distintas ramas de los Calabozos de la Perdición y los Laberintos de la Amenaza, así como otra información útil sobre los calabozos.
  • Teleportación intra-nivel (^T).- igual que el hechizo de teleportar, pero en este caso siempre te permite mover a tu personaje a cualquier punto válido dentro del nivel en que se encuentra y sin gastar energía.
  • Teleportación trans-nivel (^V).- te permite mover a tu personaje a cualquier nivel del juego.
  • Desear (^W).- te permite desear por cualquier objeto (con cualquier tipo de atributos mágicos) que quieras tener en ese momento.
  • Mostrar atributos (^X).- igual que el comando para el modo de eXploración, con alguna información adicional útil.
  • Cambiar nivel de experiencia (#cambiarnivel).- permite a tu personaje volverse automáticamente del nivel de experiencia que le indiques.
  • Mostrar fuentes móviles de luz (#fuentesdeluz).- muestra información respecto a todas aquellas cosas (objetos, monstruos, etc.) que estén proporcionando luz dentro del nivel de tu personaje.
  • Controlar polimorfismo de monstruos (#monpolicontrol).- cuando está activa, permite controlar en qué tipo de monstruo se convierte algún monstruo que sea transformado en otro.
  • Hacer polimorfismo (#autopoli).- permite a tu personaje cambiar de forma a la de un monstruo que elijas.
  • Mostrar vectores vistos (#vvistos).- muestra los vectores de vista.
  • Mostrar estadísticas de memoria (#estadisticas).- muestra las estadísticas de memoria ocupada por los objetos y monstruos del nivel en el que te encuentras.
  • Mostrar la cola de tiempos (#termin).- muestra la cola de los temporizadores internos del juego.
  • Mostrar arreglo de visión (#vision).- muestra el arreglo de como son vistas las cosas en ese momento por tu personaje.
  • Modos de los muros (#modop).- muestra en un mapa del nivel los estados a los que pertenece cada muro y casilla del nivel.
  • Pánico (#panico).- prueba de la rutina de pánico del juego (hace que el juego termine).

También antes de entrar al juego puedes utilizar otras dos características especiales del modo de depuración para probar otras cosas que le modifiques al juego:

  • La variable de entorno SHOPTYPE te permite establecer qué tipo de cuarto especial quieres que se genere automáticamente en el primer nivel del juego. Esta variable puede ser uno de los siguientes valores:
    • Z.- crea un zoológico
    • M.- crea un panteón
    • B.- crea un panal de abejas
    • T.- crea una corte real
    • S.- crea un cuartel
    • A.- crea un nido de hormigas
    • C.- crea un nido de basiliscos
    • L.- crea un salón de leprechauns
    • _.- crea un templo
    • }.- crea un pantano
    • G.- crea una tienda miscelánea
    • ).- crea una tienda de armas
    • [.- crea una tienda de armaduras
    • %.- crea una tienda de comida
    • ?.- crea una tienda de pergaminos
    • +.- crea una tienda de libros
    • !.- crea una tienda de pociones
    • /.- crea una tienda de varitas mágicas
    • (.- crea una tienda de herramientas
    • =.- crea una tienda de anillos (¿?)
  • El archivo de texto 'Wizkit' te permite establecer todos los ítems que quieras tener en tu inventario inicial al entrar en el modo de depuración.

Un manual en español para NetHack, por Javier Novoa Cataño
Dudas, correcciones, quejas, sugerencias a: