Armageddon: Difference between revisions

From 3DO World
Jump to navigation Jump to search
No edit summary
 
(One intermediate revision by the same user not shown)
Line 21: Line 21:


The game is a pseudo-3d space shooter like Wing Commander, though its production values are nowhere near Origin's series.
The game is a pseudo-3d space shooter like Wing Commander, though its production values are nowhere near Origin's series.
<!-- ================================================================= -->
<!-- Disc Archaeology — Armageddon (1996, LG, KR)                      -->
<!-- Paste into the Armageddon (아마게돈) game page                    -->
<!-- ================================================================= -->
== Disc Archaeology ==
''Findings from a byte-level analysis of the Korean retail disc image (608,485,376 bytes / 296,960 blocks).''
=== The developers' working directory, pressed to disc ===
The disc was mastered directly from the team's working asset folder, backups and all — roughly 40 development files that were never meant to ship, preserving a snapshot of the studio's build environment and even the revision history of individual assets:
* '''Nine MS-DOS batch files''' containing the complete asset build pipeline, using the 3DO SDK's command-line tools: <code>bgm.bat</code> and <code>sound.bat</code> run <code>SFtoStream</code> and <code>weaver</code> to build every music/voice stream on the disc; <code>bgm1.bat</code> preserves a debugging session (<code>MovieToStream</code>, <code>DumpStream -stats</code>); and <code>map.bat</code>, <code>map2.bat</code> and <code>temp.bat</code> show every stage's sprite bundle being assembled with <code>catenate</code>, weapon by weapon. Also present: a Finder-style duplicate <code>map.bat copy</code> and a zero-byte <code>map2.bat</code> in the graphics folder.
* '''Four different backup naming conventions''' — files suffixed <code>&nbsp;bak</code>, <code>&nbsp;copy</code>, <code>&nbsp;ori</code> and <code>&nbsp;old</code> — plus an entire backup directory, <code>/Resource/table/table back/</code>, holding superseded slideshow timing tables.
* '''Asset revision history''': the cockpit art exists in ''three'' versions (<code>cockpit.shape</code> 273,268 bytes, <code>cockpit.shape ori</code> 260,916, <code>cockpit.shape copy</code> 256,420); five stage backgrounds keep their <code>&nbsp;old</code> predecessors; three map ground files and several weapon sprites keep <code>&nbsp;bak</code> versions that differ from the shipping files.
* '''~16 MB of superseded narration audio''': <code>slide1.snd bak</code> (9,443,334 bytes) and <code>slide7.snd bak</code> (6,530,530 bytes) are earlier takes of the story-slideshow soundtracks — each almost exactly half the size of its final version, consistent with a mono-to-stereo re-render.
* '''<code>BannerScreen bak</code>''' is not a backup of the game's banner at all: its checksum matches the stock sample BannerScreen from the 3DO SDK. The team saved the SDK's placeholder before overwriting it with their own — and shipped both.
=== Developer voices in the code ===
The executable (<code>launchme</code>, 367,768 bytes) carries its development scaffolding and some personality:
* Among the boss AI state names (<code>CATCHHERO</code>, <code>STOPATTACK</code>, <code>ZIGZAG1</code>–<code>ZIGZAG4</code>, <code>NEARHERO</code>) sits the string ''"CHOI IL HOON MANSE!"'' — Korean for "Long live Choi Il-hoon!", a programmer cheering themselves (or a colleague) inside the AI table. A math table named <code>ijh-tan.tab</code> carries another developer's initials.
* AI and debug quips in English: ''"I'm dying"'', ''"Hope!"'', ''"Back Hope!"'', ''"Too close!!"'', ''"Give me another shot, man!"'', ''"Get a life"''.
* The NVRAM save file is named <code>amargeddon</code> — a misspelling of the game's own title, shipped in the retail build.
* Verbose debug logging remains compiled in: ''"Avail Memory : DRAM = %d, VRAM = %d"'', per-stage resource-loading traces, and memory accounting (''"********* Total Stage Memory *********"'').
* The game's UI font is literally the 3DO SDK's <code>example.font</code>, shipped under that name.
=== How the Korean text is stored ===
No plain-text Korean exists anywhere on the disc — every piece of in-game Hangul text is pre-rendered into CEL/shape graphics. The only readable text files are the <code>slide''N''.txt</code> cue sheets in <code>/Resource/table/</code>, which hold timecode lists synchronizing the story-slideshow narration to its images.
=== Mastering desynchronization in the filesystem itself ===
The Opera filesystem stores every directory as multiple redundant copies ("avatars") at different disc locations. On this disc, the copies '''disagree with each other''' — proof the disc image was rebuilt in multiple passes without regenerating all the redundant structures:
* For five system directories (<code>Devices</code>, <code>Drivers</code>, <code>Folios</code>, <code>Programs</code>, <code>Scripts</code>), the first copy is a stale, older generation while the second and third copies agree with each other. The clearest example: the first copy of <code>/System/Devices</code> lists <code>FMVVIDEODEVICE.PRIVDEVICE</code> in uppercase, while the other two copies list <code>fmvvideodevice.privdevice</code> in lowercase — a filename-casing change frozen mid-transition in the pressing.
* The two copies of <code>rom_tags</code> (the boot metadata table) are likewise different generations, disagreeing in several structured 32-bit fields.
These mismatches are coherent alternate versions, not read errors, so they are pressed into every copy of the disc. Everything else verifies clean: the root directory copies are hash-identical, all 660 file extents fall inside the disc, and nothing is truncated.
=== Unallocated space ===
36,954 blocks (~72 MB, 12% of the disc) belong to no file. Every byte was checked: the region is 100% the standard <code>iamaduck</code> mastering filler, with nothing hidden inside. One small oddity: the disc's volume label is lowercase <code>cd-rom</code>, where pressings normally use <code>CD-ROM</code>.
=== Speculation ===
''The following connects on-disc evidence across LG's two 1996 Korean releases, Armageddon and Battle Blues. It is informed guesswork, not established fact, and would need confirmation from Korean development-scene sources.''
* '''A shared engine programmer?''' Battle Blues' embedded credits list '''Lee Jihong''' as "Game Engine Developer" — initials L.J.H. Armageddon's disc contains a math lookup table named <code>ijh-tan.tab</code>, its filename carrying the initials of whoever built it. If "ijh" is Lee Jihong (이지홍 — Korean surnames are romanized inconsistently, and the same person could initial themselves either way), the same engine programmer may have worked on both games, or engine/math code from one was reused in the other. Armageddon offers no text credits to check against, which is exactly why this stays speculation.
* '''A shared production pipeline.''' The two discs are near-twins below the game data: identical image sizes (608,485,376 bytes), and an identical "mastering desynchronization" fingerprint — the same five system directories carrying one stale older copy (down to the same uppercase <code>FMVVIDEODEVICE.PRIVDEVICE</code> in the stale generation) and mismatched <code>rom_tags</code> copies. Whatever workstation and disc-layout template LG's production chain used, both titles clearly went through it, and its system-folder image had been rebuilt at some point without regenerating the redundant copies.
* '''Different hands on the games themselves.''' The two teams don't look identical: Armageddon's code cheers for a "Choi Il Hoon", who appears nowhere in Battle Blues' credits, and the two games' asset pipelines differ sharply (Armageddon mastered straight from a messy working directory with DOS batch files and backups; Battle Blues mastered clean, with Macintosh-sourced movie conversion). A plausible reading: separate development teams — possibly separate studios — feeding one shared LG publishing/mastering operation, with at least one engine programmer or code library in common.


== Media ==
== Media ==

Latest revision as of 05:44, 14 August 2026

Overview

  • Full Name: Armageddon
  • Code: GDT-GA401
  • Type: Action
  • Developer: Goldstar(LG)
  • Publisher: Goldstar(LG)
  • Language: Korean
  • Release Date: 1996
  • Region: KR
  • Barcode:
  • Local Title: 아마게돈
  • Rarity: 1
  • Notes:

Summary

This was a Korean exclusive (One of the so called "Muskteers" - Battle Blues and Eye of the Typhoon).

The game is a pseudo-3d space shooter like Wing Commander, though its production values are nowhere near Origin's series.

Disc Archaeology

Findings from a byte-level analysis of the Korean retail disc image (608,485,376 bytes / 296,960 blocks).

The developers' working directory, pressed to disc

The disc was mastered directly from the team's working asset folder, backups and all — roughly 40 development files that were never meant to ship, preserving a snapshot of the studio's build environment and even the revision history of individual assets:

  • Nine MS-DOS batch files containing the complete asset build pipeline, using the 3DO SDK's command-line tools: bgm.bat and sound.bat run SFtoStream and weaver to build every music/voice stream on the disc; bgm1.bat preserves a debugging session (MovieToStream, DumpStream -stats); and map.bat, map2.bat and temp.bat show every stage's sprite bundle being assembled with catenate, weapon by weapon. Also present: a Finder-style duplicate map.bat copy and a zero-byte map2.bat in the graphics folder.
  • Four different backup naming conventions — files suffixed  bak,  copy,  ori and  old — plus an entire backup directory, /Resource/table/table back/, holding superseded slideshow timing tables.
  • Asset revision history: the cockpit art exists in three versions (cockpit.shape 273,268 bytes, cockpit.shape ori 260,916, cockpit.shape copy 256,420); five stage backgrounds keep their  old predecessors; three map ground files and several weapon sprites keep  bak versions that differ from the shipping files.
  • ~16 MB of superseded narration audio: slide1.snd bak (9,443,334 bytes) and slide7.snd bak (6,530,530 bytes) are earlier takes of the story-slideshow soundtracks — each almost exactly half the size of its final version, consistent with a mono-to-stereo re-render.
  • BannerScreen bak is not a backup of the game's banner at all: its checksum matches the stock sample BannerScreen from the 3DO SDK. The team saved the SDK's placeholder before overwriting it with their own — and shipped both.

Developer voices in the code

The executable (launchme, 367,768 bytes) carries its development scaffolding and some personality:

  • Among the boss AI state names (CATCHHERO, STOPATTACK, ZIGZAG1ZIGZAG4, NEARHERO) sits the string "CHOI IL HOON MANSE!" — Korean for "Long live Choi Il-hoon!", a programmer cheering themselves (or a colleague) inside the AI table. A math table named ijh-tan.tab carries another developer's initials.
  • AI and debug quips in English: "I'm dying", "Hope!", "Back Hope!", "Too close!!", "Give me another shot, man!", "Get a life".
  • The NVRAM save file is named amargeddon — a misspelling of the game's own title, shipped in the retail build.
  • Verbose debug logging remains compiled in: "Avail Memory : DRAM = %d, VRAM = %d", per-stage resource-loading traces, and memory accounting ("********* Total Stage Memory *********").
  • The game's UI font is literally the 3DO SDK's example.font, shipped under that name.

How the Korean text is stored

No plain-text Korean exists anywhere on the disc — every piece of in-game Hangul text is pre-rendered into CEL/shape graphics. The only readable text files are the slideN.txt cue sheets in /Resource/table/, which hold timecode lists synchronizing the story-slideshow narration to its images.

Mastering desynchronization in the filesystem itself

The Opera filesystem stores every directory as multiple redundant copies ("avatars") at different disc locations. On this disc, the copies disagree with each other — proof the disc image was rebuilt in multiple passes without regenerating all the redundant structures:

  • For five system directories (Devices, Drivers, Folios, Programs, Scripts), the first copy is a stale, older generation while the second and third copies agree with each other. The clearest example: the first copy of /System/Devices lists FMVVIDEODEVICE.PRIVDEVICE in uppercase, while the other two copies list fmvvideodevice.privdevice in lowercase — a filename-casing change frozen mid-transition in the pressing.
  • The two copies of rom_tags (the boot metadata table) are likewise different generations, disagreeing in several structured 32-bit fields.

These mismatches are coherent alternate versions, not read errors, so they are pressed into every copy of the disc. Everything else verifies clean: the root directory copies are hash-identical, all 660 file extents fall inside the disc, and nothing is truncated.

Unallocated space

36,954 blocks (~72 MB, 12% of the disc) belong to no file. Every byte was checked: the region is 100% the standard iamaduck mastering filler, with nothing hidden inside. One small oddity: the disc's volume label is lowercase cd-rom, where pressings normally use CD-ROM.

Speculation

The following connects on-disc evidence across LG's two 1996 Korean releases, Armageddon and Battle Blues. It is informed guesswork, not established fact, and would need confirmation from Korean development-scene sources.

  • A shared engine programmer? Battle Blues' embedded credits list Lee Jihong as "Game Engine Developer" — initials L.J.H. Armageddon's disc contains a math lookup table named ijh-tan.tab, its filename carrying the initials of whoever built it. If "ijh" is Lee Jihong (이지홍 — Korean surnames are romanized inconsistently, and the same person could initial themselves either way), the same engine programmer may have worked on both games, or engine/math code from one was reused in the other. Armageddon offers no text credits to check against, which is exactly why this stays speculation.
  • A shared production pipeline. The two discs are near-twins below the game data: identical image sizes (608,485,376 bytes), and an identical "mastering desynchronization" fingerprint — the same five system directories carrying one stale older copy (down to the same uppercase FMVVIDEODEVICE.PRIVDEVICE in the stale generation) and mismatched rom_tags copies. Whatever workstation and disc-layout template LG's production chain used, both titles clearly went through it, and its system-folder image had been rebuilt at some point without regenerating the redundant copies.
  • Different hands on the games themselves. The two teams don't look identical: Armageddon's code cheers for a "Choi Il Hoon", who appears nowhere in Battle Blues' credits, and the two games' asset pipelines differ sharply (Armageddon mastered straight from a messy working directory with DOS batch files and backups; Battle Blues mastered clean, with Macintosh-sourced movie conversion). A plausible reading: separate development teams — possibly separate studios — feeding one shared LG publishing/mastering operation, with at least one engine programmer or code library in common.

Media