↓
iaen.es Diario de desarrollo Read in English

Gotic · 4 min de lectura

Un bestiario que se completa con fotos: diez criaturas, tres estrellas y su momento

En Gotic las criaturas no se capturan: se fotografían. Cada una tiene su hora, su tiempo, su manera de huir y un momento que vale tres estrellas.

#fotografía#animales#procedural#mods

Quería algo más interesante que ganarse la confianza de los animales. El bestiario de Gotic se rellena haciendo fotos: no se captura nada ni se lleva a nadie. Hay diez entradas. Seis son criaturas nuevas, una por familia: el musgolín del prado, la candelilla del linde del bosque (solo de noche), el caracolito de la orilla, el nubecín (solo sale cuando llueve), el topolín de las laderas y la manta de aire, que planea muy alto. Las otras cuatro son los animales del mod fauna: conejo, ciervo, gaviota y mariposa.

Cada foto da de 0 a 3 estrellas a cada especie que sale: 1 si se la reconoce, 2 si además está bien encuadrada y de cara, 3 si además está en su momento: el musgolín bosteza, la candelilla da una llamarada, el caracolito canta, la manta da una vuelta entera sobre sí misma. Las estrellas no bajan y abren tres notas por especie. Con 3 especies documentadas te dan un sombrero de naturalista; con 4, una lente ×5; con 8, una ×8.

No tiene botón propio: es la pestaña CRIATURAS del álbum de la cámara, con una silueta «???» y una pista vaga hasta la primera foto.

Las cinco criaturas de tierra en una ladera junto a la costa
Las cinco de tierra juntas, de izquierda a derecha: topolín, nubecín, caracolito, candelilla (de día, con la cola apagada) y musgolín

Cómo está hecho

La cámara mide y el bestiario decide. La cámara no sabe qué es una criatura: solo mide el tamaño en el cuadro, el desvío del centro, si está de cara, si hay algo delante y la postura. Las estrellas salen de una función pura con umbrales por especie:

static func stars(subject: Dictionary, species_rule: Dictionary, moment: String) -> int:
	var clear = subject.get("clear", false)
	if not (clear is bool and clear) or _num(subject, "size") < float(species_rule["size1"]):
		return 0
	if _num(subject, "size") < float(species_rule["size2"]) or _num(subject, "off", 99.0) > float(species_rule["off2"]) or _num(subject, "facing", -1.0) < float(species_rule["facing2"]):
		return 1
	return 3 if str(subject.get("pose", "")) == moment and moment != "" else 2

Por defecto, 1 estrella pide ocupar el 10 % del alto de la imagen; 2, el 22 %, a menos de 0,3 del centro y de cara. La mariposa y la manta se reconocen con la mitad, y el conejo y el ciervo valen de perfil.

El bestiario tampoco conoce a la fauna. Pide creatures() a cada mod encendido, igual que la cocina pide ingredientes. Él mismo da así sus seis criaturas, y fauna, las suyas.

Dónde aparecen. La isla se divide en celdas de 48 m con semilla fija: el mismo sitio da siempre las mismas criaturas. Cada segundo se eligen hasta 12 a la vez, entre 25 y 90 m del jugador, nunca cerca y dentro del cuadro de la cámara, y solo en su hora y con su tiempo. No tienen física: se pegan al suelo. Medido sin ventana: 0,23 ms por fotograma con 12 activas.

Ficha del musgolín en el álbum: su modelo, tres estrellas y sus notas
La ficha del musgolín con las tres estrellas: dónde vive, cómo huye y su momento

Lo que salió mal

Lo hizo el mismo subagente de IA (Opus) que la cámara, y lo más gordo lo vio en fotos de verdad:

  • Una manta detrás de la copa de un árbol daba 3 estrellas, porque las copas no tienen colisión.
  • El zoom de la cámara llegaba un fotograma tarde, y el visor no podía mirar por encima de 51°.
  • La manta era un óvalo. Ahora tiene puntas de ala.
  • La pestaña reventaba al dibujar el conejo: el bestiario solo tenía el arte de sus seis, y ninguna prueba abría la pestaña con la fauna instalada. Ahora cada especie puede traer su modelo.
  • Una prueba pasaba en la suite y fallaba sola. Comparaba las criaturas aparecidas en dos partidas, pero cada una había calculado distinto número de celdas (55 y 49). Ahora compara lo determinista: el candidato de cada celda.

Al final, 115 comprobaciones propias y 36 mutaciones vistas fallar.

Lo que falta por comprobar

Nada en el móvil. Las diez especies salieron con 3 estrellas en fotos de verdad, pero la gaviota solo con la lente ×8 puesta a mano y la fauna congelada: con un jugador real no está medido. Si los umbrales y las timideces divierten o frustran lo dirán los jugadores; es una decisión mía. Y la cola de la candelilla, vista por detrás, parece un disco plano.

Más de Gotic →