v0.60.3 — 1 julio 2026
El mundo se divide en una malla hexagonal H3 de resolución 8 (distancia del centro del hexágono al centro de la arista ~461 m). Cada hexágono puede estar vacío o poseído por un jugador con una puntuación. En el mapa, los hexágonos que han recibido alguna lectura GPS (visitados) se muestran con borde marrón.
Para capturar un hexágono, un jugador debe recorrer al menos 200 metros dentro de él. La distancia se calcula sumando los tramos entre lecturas GPS consecutivas dentro del mismo hexágono (distancia acumulada, no en línea recta). Una lectura GPS solo cuenta si está a más de 50 metros de la anterior. Esta aplicación está pensada para andar y correr a velocidad moderada. Como regla aproximada, velocidades por debajo de 20 km/h son correctas. Velocidades superiores o si la app detecta el uso de un vehículo implican la interrupción de la sesión. El uso en bicicleta no ha sido verificado.
Cada captura otorga +1 punto al hexágono capturado. Al capturar un hexágono propio o libre, se suma un punto a ese hexágono. Si pertenece a un enemigo, se resta un punto al dueño (ver Combate).
Si un jugador captura un hexágono que pertenece a otro jugador, resta exactamente 1 punto al dueño por cada ataque (captura o re-captura válida). La bola de nieve no añade daño: los hexágonos enemigos quedan fuera del reparto de la cadena (ver Bola de nieve). Si la puntuación del hexágono enemigo llega a cero, el hexágono se pierde y queda vacío.
Un hexágono con puntuación truncada menor que 1 no confiere propiedad: se captura directamente sin combate y pasa al nuevo jugador.
Existe un límite de capturas por día local (maxDailyCaptures, corte 04:00 según la longitud de la base del jugador). Cuenta eventos de captura del día (incluye re-capturas válidas; el snowball no cuenta), sumando los paseos previos del mismo día. Al superar el cupo, cada captura se registra (recorrido + hexágono visitado) pero no da puntos, no dispara snowball y no resta al dueño enemigo (evento capped). El contador se reinicia tras el corte de las 04:00 locales.
> Valor actual: 12 (maxDailyCaptures en config.js, sobreescribible con MAX_DAILY_CAPTURES).
La primera vez que se captura cada hexágono en una sesión, todos los hexágonos ya capturados anteriormente en esa misma sesión reciben también +1 punto — salvo los que pertenecían a un enemigo al capturarlos: esos quedan fuera del reparto (su punto se pierde) y el daño que infligen al dueño es siempre 1 por ataque, no amplificado por la cadena. La cadena de hexágonos capturados solo crece durante la sesión.
La cadena de snowball (sessionCaptures) nunca se reinicia durante el paseo: solo crece. Las re-capturas (válidas o inválidas) no rompen la cadena; el snowball simplemente se interrumpe (no se dispara en re-capturas) y vuelve a dispararse cuando se captura por primera vez un hexágono nuevo.
Se permite re-capturar un mismo hexágono dentro del mismo paseo, pero una re-captura solo es válida si entre ella y la captura anterior del mismo hexágono se han capturado al menos DOS hexágonos distintos (≠ el que se re-captura). El sistema recuerda los dos últimos hexágonos distintos capturados; mientras un hexágono esté entre esos dos, no es re-capturable.
La validez se comprueba al alcanzar los 200 metros acumulados, no antes: el jugador acumula distancia normalmente y, al llegar al umbral, se decide si la (re)captura cuenta.
Los paseos pendientes se procesan 3 veces al día, a las 08:00, 16:00 y 00:00 (medianoche) hora local del jugador. En cada slot se aplican los puntos de captura de los paseos terminados.
La influencia se evalúa una vez al día por jugador: en el primer slot de los tres que encuentre paseos pendientes. Tras evaluarse, no se repite hasta el día siguiente (siguiente 04:00 local).
#### Base
La base es el hexágono propio con más puntos (truncados). Se fija en el primer paseo y no cambia. La base siempre puede transmitir influencia si tiene ≥10 puntos truncados.
#### Transmisores
Un hexágono puede transmitir influencia si cumple alguna de estas condiciones:
1. Base: score truncado ≥ 10 (siempre, sin requerir visita reciente).
2. Hex propio cualquiera: score truncado ≥ 10 y visitado por el jugador desde la última evaluación de influencia.
3. Hex reforzado en esta oleada: si durante la propagación un hexágono alcanza score truncado ≥ 10, puede transmitir al anillo siguiente cuando la onda llegue a su anillo.
Cualquier hexágono con ≥ 10 puntos puede transmitir; lo que puede hacer con esa transmisión depende del receptor (ver abajo).
#### Receptores
Un hexágono puede recibir influencia si:
El umbral mínimo del transmisor depende de quién sea el receptor:
Así, un territorio modesto (≥ 10) consolida lo que ya posee, pero solo un territorio fuerte (≥ 50) conquista terreno nuevo.
#### Puntuación recibida
| Condición del receptor | Puntos recibidos |
|---|---|
| Visitado por este jugador desde la última evaluación | +1 |
| Visitado por cualquier jugador alguna vez, pero no recientemente por este jugador | +0.25 |
Varias fuentes pueden contribuir al mismo receptor en la misma oleada, acumulando sus contribuciones.
#### Hexágonos enemigos
La influencia no afecta a hexágonos de otros jugadores. Se ignoran completamente.
#### Corolarios (consecuencias emergentes)
Estas reglas, al combinarse, producen efectos que no son evidentes mirando cada regla por
separado. Se documentan aquí para no re-descubrirlos a mano cada vez que un hexágono "no recibe
lo que parece que debería".
La idea rectora: **la influencia nace en la base y se extiende hacia afuera en círculos
concéntricos (anillos)**. Lejos de la base esto deja de ser intuitivo, pero sigue siendo la clave
de todo lo demás.
1. Solo fluye hacia afuera, nunca hacia adentro ni lateralmente. Un anillo solo alimenta al
inmediatamente exterior. Un hexágono del anillo N+1 jamás refuerza a uno del anillo N, por
muchos puntos que tenga; y dos hexágonos del mismo anillo no se influyen entre sí. Que un
vecino tenga más puntos no basta: tiene que estar además un anillo más cerca de la base que tú.
2. El crecimiento pasivo se agota a pocos anillos de la base. Solo la base supera el tope de
55 puntos (llega a 110), así que solo ella puede "reactivar" en cada ciclo a un anillo que ya
esté a tope. Dos hexágonos a 55 no pueden reforzarse mutuamente (el gradiente exige
transmisor estrictamente mayor), de modo que un anillo que alcanza 55 deja de recibir
refuerzo y, por tanto, deja de retransmitir la onda. Resultado: sin caminar, la onda de la base
llena los primeros anillos hasta 55 y se detiene; lo de más afuera se congela. **Para seguir
creciendo hacia afuera hay que caminar allí**: una visita reciente enciende ese hexágono como
transmisor directamente, saltándose la meseta.
3. Las islas desconectadas no reciben nada de la base. Un hexágono solo recibe si tiene un
transmisor activo en su anillo inmediatamente interior. Si un grupo de hexágonos está
separado del dominio principal por un hueco de celdas sin dueño/sin visitar, la onda no cruza el
hueco (no "salta" anillos vacíos). Esos territorios lejanos solo crecen caminándolos.
4. La influencia no coloniza terreno virgen. Solo entra en hexágonos que **alguien ha pisado
alguna vez** (≥ 1 fix en toda la historia). Un vecino en el anillo correcto y con score elegible
pero que nadie ha visitado nunca se ignora por completo — no recibe ni 0.25. La expansión avanza
sobre terreno ya explorado, no sobre el mapa en blanco.
5. Colonias muy lejanas (otro continente) quedan fuera del sistema de anillos. El número de
anillo se calcula con una distancia H3 que solo es válida dentro de una región acotada de la
malla; a partir de ~1500 km de la base, H3 ya no sabe calcularla. Un hexágono así es **propiedad
válida (una colonia de un viaje), pero ni recibe ni genera influencia** (no tiene anillo).
Para el decaimiento se trata como "muy lejos": decae a la probabilidad máxima (30 %).
El decaimiento se evalúa una vez al día a las 04:00 hora local del jugador (determinada por la longitud de su hexágono base, offset solar). Solo afecta a jugadores que no hayan andado ese día local. Caminar protege todos los hexágonos propios del decaimiento.
La probabilidad de decaimiento depende de la distancia (anillo) desde la base:
| Anillo | Probabilidad |
|---|---|
| 0 (base) | 1 % |
| 3 | 9.7 % |
| 5 | 15.5 % |
| 7 | 21.3 % |
| 10 o más | 30 % |
La fórmula exacta es min(0.30, 0.01 + anillo × 0.029). Si un hexágono decae, pierde 2 puntos, con un mínimo de 1 punto — el decaimiento nunca destruye un hexágono. La única forma de perder un hexágono es que un rival lo capture en combate.
Cada hexágono lleva su propio contador de distancia, que mide los tramos entre lecturas consecutivas de ese mismo hexágono (cuerda entre el último fix en el hex y el siguiente fix en el hex, ignorando los fixes intermedios que cayeran en otros hexágonos). Esto premia correctamente los recorridos sinuosos dentro de un hexágono (callejear en ciudad, subir una ladera).
Cuando se está moviendo en la frontera entre dos hexágonos, el primero en ser atacado (captura o reataque fallido) resetea el avance en el segundo. Eso implica que hay que volver a entrar en él y recorrer 200 metros para que pueda ser atacado con éxito.
El hexágono recién resuelto queda en cooldown: mientras las siguientes lecturas sigan cayendo dentro de él no se re-arma su primer fix ni se reintenta la (re)captura (no se anuncia "nuevo hexágono" ni se emiten reataques). El cooldown se levanta en cuanto una lectura cae en un hexágono distinto: hay que salir y volver para intentar de nuevo (y entonces la regla de re-captura decide la validez).
Cuando una re-captura inválida se produce sobre un hexágono con dueño enemigo, se emite la locución: *"Reataque a hexágono enemigo fallido por no haber capturado otros dos hexágonos entre reataques"*. Sobre hexágonos propios o libres, la re-captura inválida es silenciosa.
Las puntuaciones pueden ser decimales (p. ej. 5.25). En todos los cálculos de umbral y comparación se usa el valor truncado (Math.trunc). El valor decimal completo se muestra en el popup del hexágono.
El servidor ejecuta un procesamiento cada hora UTC y solo evalúa a los usuarios cuya banda solar coincide con la hora actual, distribuyendo la carga uniformemente (~12.5% de usuarios por ejecución). El decaimiento se evalúa a las 04:00 hora local del jugador, usando la longitud de su hexágono base para determinar el offset solar.
Al reconectar, el jugador puede consultar el resumen del último recálculo tocando cualquier hexágono propio en el mapa. El popup muestra el desglose de ese hexágono:
Si varios jugadores atacaron el mismo hexágono, aparecen en líneas separadas con el nombre de cada atacante.
← Volver al juego