A measured description of one folder: 90 files, 14,957,416 bytes, as one
ZIP delivered them, holding POLANIE (MS-DOS, ver. 1.1 marzec 1996,
printed by its own program; no company named anywhere in it; nine people
credited in a text file) — a Polish build-and-raid strategy set among the
Slavic tribes, sold here as Slavs, "the DOS base version in English".
Three quarters of the bytes are one animation; a tenth is music that is
94 % hidden copies of the program; the game is under 8 %, and its English
is a memory-resident patch of 59 strings. The object is not published.
What is published is what could be counted, unpacked, decoded, rendered
and checked — all of it read out of the object's own bytes, none of it
from outside.
| what it is | a top-down strategy of villages, cows and raids across tenth-century Poland: six building types, nine unit types a side, one resource (milk, capped per level), an enemy with four algorithms, 28 maps of 66 × 66 tiles with English briefings — the designers' own legend at the end of the level file says so; delivered as one 15 MB folder of which 74 % is a 26-second title animation and 8.8 % is eighteen keyed copies of the engine hidden in the music |
| title | POLANIE — the banner P O L A N I E in the unpacked engine, polanie.exe ×3, the word carved in stone in the animation's last ninety frames and under the menu's spears; Slavs is what the English TSR writes over the banner and the release's file name |
| studio | (none named) — the credits in LEVEL.INI, in the Mazovia code page: coders Mirosław Dymek, Artur Bidziński, Lidia Dutkiewicz; music Marcin "Red" Adamowicz; history Andrzej Kwaśniewski, Maciej Janiec; graphics Paweł Chwaleba, Beata Brzuchacz, M. Dymek; levels L. Dutkiewicz, Bartłomiej Piwek, M. Dymek; the project folder !POLANIE on a drive C:\GRAFIKA inside the animation |
| year | 1996 — marzec 1996 (March) printed by the engine; the animation's own stamp 1996-02-26; the modules 1996-02-26, the levels 02-29, the engine 03-05; the translation TSR says 1996 and rewrites the month to sept., the batch is 1996-09-09 |
| language | Polish end to end — the engine's every string, the font (ą ę ó ź ś ć ł on # $ % & * + \``), the menu, the difficulty selector, the map; English only in CRACK.COM`'s 59 same-length replacements and in 24 of 25 written briefings (level 3 is still Polish); nothing German |
| platform | IBM PC, 386, VGA 320 × 200 × 256, mouse, EMS 4.0, 586 KB low memory; AdLib/OPL2 music (Scream Tracker 3.20, 100 FM patches, 0 samples), 55 PCM 8-bit 22 kHz sounds; Borland C++ 1991 |
| files | 90 in 2 directories: 1 FLC, 19 GRAF.0xx (18 S3M + 1 not), 55 WAV, 6 pictures + 2 palettes, 1 level file + 1 text file, 3 packed programs + 1 FLC player, 1 TSR, 1 batch, 7 bytes of settings |
| bytes | 14,957,416 — animation 11,090,932 (74.1501 %), "music" 1,388,657 (9.2841 %, of which modules 78,329 and engine copies 1,309,824), sounds 999,758 (6.6840 %), pictures 1,086,658 (7.2650 %), levels + text 141,003, programs 172,496, the rest 77,912 (GRAF.019, palettes, the TSR, the batch, the settings) |
| distinct sha1 | 85 — four groups of identical WAVs |
| the clocks | seven: 1996 on 23 files and in three printed places; 2096-02-28 01:00:00 on 66 (one event, year field 116); 2009-12-25 on the repackager's four; 1993 in the FLC player; 1991 and 1990 in the compilers' banners |
| coverage | specified 92.2144 %, derived 7.2788 % (the pictures, the TSR), opaque 0.5068 % (GRAF.019, two palettes, 7 bytes), residue 0 — from 91.2838 % opaque before this session |
| the program | SLAVS.EXE 72,768 B behind a packer no table names: a 1,415-byte stub read whole (626 instructions, 100 % decoded), dataarea.py written from it, 180,712 B unpacked with the original header verbatim, 3,002 relocations all inside; SETUP.EXE and PLAYER.EXE the same stub, the same closure |
| the animation | SWIAT.DAT, Animator Pro FLC, 372 frames walked to the byte, one palette, one shot: a 3D camera around the four-faced stone idol (Światowid) ending on POLANIE carved in stone; 1 frame damaged in the file (85) |
| the pictures | 34 images with a 6-byte head whose second word is the stride, 319, not 320 (the first render was skewed and the owner said so); GRAF.DAT 30 slots → 15 screens of 319 × 201: menu, campaign map of Poland, idol at night, the offering, sprite sheets; 14 palettes at 8 bits, 11 distinct |
| the levels | 28 text maps with the designers' Polish legend; 122,034 cells, 91.12 % in the legend; 230 of our units, 734 of theirs; 30 briefings, 30 victories, 30 defeats, the start, the ending, the credits |
| the hidden program | every .S3M = 1–12 KB of module + SLAVS.EXE under a 20-byte additive key (0 mismatches ×18); GRAF.012 holds the 18-record index |
| the "crack" | CRACK.COM, JdA/RLX 1996, a packed TSR unpacked by comunpack.py from its own stub: the English edition — 59 Polish→English pairs, P O L A N I E → S L A V S, marzec → sept. |
| crossings | 0 of 85 over 115 repositories |
| tools | 598 Python files: 592 inherited (1 changed), 6 written |
The work this time was three readers and an unpacker, and the object
kept answering with more than was asked. The packer's stub was
disassembled to the last of 1,415 bytes and dataarea.py written from the
listing; out came the title, the month, the Polish interface and the four
tribes. The animation's 128-byte header got the one branch it needed and
372 frames walked to residue 0; out came a stone god and the title carved
under it. The pictures' six-byte head was read, rendered, corrected by the
owner's eye from 320 to 319, and rendered again; out came the menu, the
map of Poland and the offering table. The level file was split into 28 and
its own legend — milk, cows, four enemy algorithms — read at the end of the
file; the text file gave up the credits in a code page nobody had named.
And then the two files nobody expected anything of: eighteen music modules
each carrying the whole program under a key, and a "crack" that, unpacked,
is the English translation, string for string, same length each.
The pre-briefing was wrong fourteen times, each caught by a byte, from 27 levels that are 28 to a crack that is the edition. Its five hunches score one true and four halves.
Eight, and the count is the content's. One for the program, because the packer is the gate to the words; one for the animation, because it is 74 %; one for the pictures, because their stride was wrong until a person looked; one for the levels, because the game is legible there without a disassembler; one for the music, the sounds, the hidden program and the translation together, because they are one story about integrity and a TSR; and one for the clocks, the crossings and the scoring.
| chapter | the sentence |
|---|---|
| 01 — What this is | a 15 MB strategy of which three quarters is one animation and the game is under 8 %: the object, the split, what it says about itself, the denominators, the coverage, the two cells |
| 02 — The technical sheet | every figure with the command that re-derives it |
| 03 — The program | a packer with no name, read from its stub and removed; the banner, the month, the Polish words, the tribes, the two other programs |
| 04 — The animation | 372 frames of a stone idol and the title, one palette, one shot, one damaged frame, and the developer's drive inside the prefix |
| 05 — The pictures | thirty-four images at stride 319, fifteen screens, fourteen palettes ranked by fit, and a font with Polish on the punctuation |
| 06 — The levels | twenty-eight maps, the designers' legend, milk, the briefings in two languages, the credits in Mazovia, the genre measured |
| 07 — The music, the sounds, the hidden program and the translation | eighteen AdLib modules each carrying the engine under a key, the index, fifty-five GoldWave samples, and the crack that is the English |
| 08 — Clocks, crossings, predictions and calibration | seven clocks, zero crossings, fourteen corrections, five hunches scored, one term, rule 0 as a program, what is left |
The object is not run, not installed, not emulated. Unpacking three programs and a TSR by reading their stubs, decoding an FLC, rendering raw pictures, splitting a text file and reading module headers are reading bytes as data; FLC, S3M, RIFF WAVE, MZ and ZIP are public formats used as such. No outside source was opened to fill a cell — not the owner's "Polish or German", not any studio anyone half-remembers, not a wiki; what the object does not print is declared not printed. Every figure names its denominator and the command that re-derives it; every reader written here refuses a directory, prints a non-Latin-1 name safely, selects by magic and passes its selftest in a repository that does not hold the object. The documents are in English; the session was in Italian.