El misterio de las grandes estadísticas en el OVNI: Enemigo desconocido (1994)

estadísticas de xcom


La mayoría de nosotros, que hemos jugado durante mucho tiempo el viejo ovni: Enemy Unknown, nos hemos encontrado (o al menos sabemos) casos en que las estadísticas de un soldado vuela por 160 y se apresura a valores que se desbordan a través de 255, van a cero.

Quería aclarar la situación, por qué sucedió esto y dónde sucedió exactamente esto. Para poner fin a esta historia.

Durante el estudio, se verificaron las versiones de DOS 1.0, 1.2, 1.4, ruso (traducido) y Gold Edition. Es decir, literalmente todo disponible.

Este error se observó solo en la versión 1.0. Pero, vale la pena señalar que la versión rusificada se basó precisamente en la versión 1.0, por lo que resultó que nuestros muchos compatriotas enfrentaron esta situación con mucha más frecuencia que en el resto del mundo, porque se deslizó solo brevemente (el parche 1.2 salió lo suficientemente rápido, solo un mes después), y nadie hizo la rusificación de versiones nuevas.

Un fragmento del código desmontado geoscape.exe, que es responsable del aumento de las estadísticas sobre el resultado de la misión (aumento en las unidades de tiempo): las

versión 1.0

compensaciones 2Ah y 35h se relacionan con las TU base y la mejora de TU, respectivamente

En la versión 1.2, el código ya se veía ligeramente diferente:

versión 1.2

tenga en cuenta que la clave aquí es JZ / JLE.
JZ: transición si el resultado es cero (equivalente).
JLE: salta si el resultado es menor o equivalente.

Resulta que inicialmente los desarrolladores cometieron un error de novato: verificaron un límite sin margen, a pesar de que el valor puede saltar más de 1.

Es decir, en el caso de las "TU", el crecimiento fue limitado solo si definitivamente llegaba a 80.

Todos los que jugaron en las versiones actualizadas o no rusificadas no encontraron este problema técnico.

PD: Después de profundizar, resultó que la versión rusificada era un híbrido en el que GEOSCAPE.EXE se tomó de la versión 1.0, y BATTLESCAPE.EXE era de 1.2. Es solo que la ojiva de 1.0 se estrelló cuando aparecieron los Crissalids, y con esta versión el juego sería inviable. Gollops dividió deliberadamente el juego en dos EXE diferentes (dos modos de juego diferentes) que interactúan a través de archivos para que el juego encaje en 640 kilobytes de memoria convencional, bueno, por razones históricas: originalmente fue concebido como una táctica simple basada en turnos, Laser Squad 2. Por lo tanto, tal híbrido era posible.

Source: https://habr.com/ru/post/es381703/


All Articles