the cutting room mirror

Empire Earth

Empire Earth is an RTS game like Age of Empires. The game is full of references to unused items.

Sub-Page#

Graphics#

Empireearth_unknownunit.png

A placeholder texture, called unknownunit.sst which says no graphic for unit.

Unused Units#

This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: determine which assets are unused

Watch on YouTube

There is a large number of units in the game which are inaccessible outside the Scenario Editor Tool. The novelty of such units lead to players including them in their own custom scenarios.

EmpireEarth_men_chinesepike_04t.pngEmpireEarth_but_chineseinfantry_00.png Chinese Spearman - the only unit that impales itself as the death animation, as shown in the video at 22 seconds

Name

Samurai sound

Notes

dv0sam1

Grunt!

dv0sam2

Shogun!

dv0sam3

Holy Shogan!

dv0sam4

We don't sleep!

EmpireEarth_men_samurai_06t.pngEmpireEarth_but_samurai_00t.png Samurai - a unit that violently commits suicide (seppuku)

Watch on YouTube

Source Code Comments#

In the stationary target tracking.tai file, there is a bug, both in EE & AOC:

//  Stationary Target Tracking AI file
//
//  Behaviors:
//
//      If idle, look periodically for enemy units to target.
//      Track enemy units and attack while in weapon range.
//      Continue tracking while in LOS.
//      When target leaves LOS, return to idle.
//
//  Notes:
//
//      This behavior is mainly used for stationary units like guard towers.
//
//  Common modifications:
//
//  Known Problems:
//
//      Units will track an enemy unit outside weapon range even if there
//          are other enemy units *within* weapon range.  MUST FIX THIS!

As this bug was never fixed, it was regularly abused in multiplayer. The opponent would lure opponent units with something faster, then use other units to attack it as it continues to track the initial, out of range target. The player would need to intervene to pull back units.

Unused references#

Graphics#

GfxEffect[200] = z NOT IN USE BattleCry Spell (unit)
GfxEffect[240] = NOT IN USE HoolaHoop

Calamaties#

Both dbcalamaties.dat and language.dll reference unused ones:

  • IceAge or Ice Age
  • Flood
  • Asteroid
  • Global Warming
  • Slave Revolt
  • Rebellion
  • Leprosy

Language.dll also references further unused ones:

  • 9155, "Poison Grain"
  • 9156, "Nuclear Meltdown"
  • 9170, "Nano TC Tech Y"
  • 9171, "Democracy (+Range)"
  • 9175, "Info TC Tech X"
  • 9176, "Info TC tech Y"
  • 9178, "Nano TC Tech X"
  • 9179, "Movies (+Morale)"
  • 9180, "Nano TC Tech Z"
  • 9506, "Prophet Durer's Rebellion"
  • 9513, "Pope's Rebellion"
  • 9520, "Homer's Rebellion"
  • 9527, "Statue's Rebellion"

From game setup options, Citizens were originally called Slaves.

  • 20516, "Build List"
  • 20526, "Life Exp"
  • 20527, "Slaves"

Wonders#

Most likely Stadium is a placeholder for the Coliseum.

  • 1075, "Ark of the Covenant"
  • 1076, "Assyrian Winged Lion"
  • 1087, "Stadium"

Other Buildings#

Government Center is likely an old name for the Capitol building, and maybe runway was a separate building.

  • 1043, "Government Center"
  • 1055, "Runway"

Lord of the Rings#

Strangely, language.dll contains many references to Lord of the Rings names, despite no fantasy scenarios existing in the game.

  • 1039, "Hearth"
  • 2092, "Dragon"
  • 2093, "Orc"
  • 2094, "Ogre"
  • 2095, "Dwarven Warrior"
  • 2096, "Elven Bowman"
  • 2097, "Elven Noble"
  • 2098, "Elvish Ram"
  • 2099, "Orcish Catapult"
  • 2100, "Orcish Fortress"
  • 2101, "Wight"

dbgraphics.dat also references it.

  • Dragon
  • Dragon Red
  • Elvin Archer
  • Elvin Archer Green
  • Orc Javelin
  • Orc Swordsman
  • Siege Ram - ME
  • Wraith

Other Unused Units#

Cyber Frogger is likely a temporary name for one of the future cyber units. B1b may refer to the Rockwell B-1 Lancer bomber.

  • 1226, "Cyber Frogger"
  • 1263, "Test Swordsman for Epoch 5"
  • 1304, "B1b"
  • 2110, "Test Unit"
  • 4072, "Icarus"
  • 4078, "Shakespeare"
  • 4080, "Diplomat 12"
  • 4081, "Lincoln"
  • 4082, "Inventor 6"
  • 4083, "Archimedes"
  • 4084, "Einstein"
  • 4085, "Isaac Newton"
  • 4086, "Leonardo da Vinci"
  • 4087, "Lucy"
  • 4088, "Ptolemy"
  • 4089, "Inventor 11"
  • 4090, "Prophet 2"
  • 4091, "Gandhi"
  • 4093, "Martin Luther"
  • 4094, "St. Paul the Apostle"
  • 4095, "Prophet 11"

Alternate Epoch Names#

By looking at default.dll, the following Epoch's an alternate names:

  • Digital or Nano Age = Information Epoch
  • Preshistoric Age = Paleo Epoch
  • Iron Age = Steel

Other#

EERandomMap contains the message "SHAWN WAS HERE" which was likely left by Shawn Shoemaker, a programmer that worked on the game.

Leftover Source Code Paths#

Various files show the names of C++ code files.

Language.dll#

  • C:\SSSI Development\Empire Earth\Language\Demo\Language.pdb
  • C:\SSSI Development\Empire Earth\Random Map\Random Map Generators\Default\Demo\Default.pdb

DX7HRDisplay.dll#

  • C:\SSSI Development\Low-Level Engine\Graphics Engine\DX7 Display Plug-ins\DX7HRDisplay\Demo\DX7HRDisplay.pdb

DX7HRTnLDisplay.dll#

  • C:\SSSI Development\Low-Level Engine\Graphics Engine\DX7 Display Plug-ins\DX7HRTnLDisplay\Demo\DX7HRTnLDisplay.pdb

Empire Earth.exe#

TitanRoutingServerG2 TitanServers/Firewall TitanServers/DBProxy TitanSevers/Auth

  • C:\SSSI Development\Empire Earth\AI Thread\EEAIFunctionObjects.h
  • C:\SSSI Development\Empire Earth\Calamities\EECalamityManager.cpp
  • C:\SSSI Development\Empire Earth\Calamities\EECCAEExtraDamage.cpp
  • C:\SSSI Development\Empire Earth\Calamities\EECCAreaEffect.cpp
  • C:\SSSI Development\Empire Earth\Calamities\EECCFire.cpp
  • C:\SSSI Development\Empire Earth\Calamities\EECCLeprosy.cpp
  • C:\SSSI Development\Empire Earth\Communications\EEClient.cpp
  • C:\SSSI Development\Empire Earth\Communications\EEMessage.cpp
  • C:\SSSI Development\Empire Earth\Communications\EEServer.cpp
  • C:\SSSI Development\Empire Earth\Communications\EEWonNet.cpp
  • C:\SSSI Development\Empire Earth\Data Pre-Loading Thread\EEDataPreLoading.cpp
  • C:\SSSI Development\Empire Earth\Database\EEDatabase.h
  • C:\SSSI Development\Empire Earth\Database\EETerrainColorTable.cpp
  • C:\SSSI Development\Empire Earth\Graphics Thread\EEE3DVolcano.cpp
  • C:\SSSI Development\Empire Earth\Graphics Thread\EEGraphics.cpp
  • C:\SSSI Development\Empire Earth\Graphics Thread\EEROTerrain.cpp
  • C:\SSSI Development\Empire Earth\Graphics Thread\EEROUnits.cpp
  • C:\SSSI Development\Empire Earth\Graphics Thread\EEUnitPicker.cpp
  • C:\SSSI Development\RTS Engine\Graphics\RTSGraphics.cpp
  • C:\SSSI Development\RTS Engine\Graphics\RTSMouse.cpp
  • C:\SSSI Development\RTS Engine\Graphics\RTSMousePointer.cpp
  • C:\SSSI Development\RTS Engine\Map\RTSMap.cpp
  • C:\SSSI Development\RTS Engine\Map\RTSMiniMap.cpp
  • C:\SSSI Development\Empire Earth\Empire Earth\EEGameState.cpp
  • C:\SSSI Development\Empire Earth\Empire Earth\EEMusicManager.cpp
  • C:\SSSI Development\Empire Earth\Empire Earth\Empire Earth.cpp
  • C:\SSSI Development\RTS Engine\RTS Engine\RTSWorld.cpp
  • C:\SSSI Development\Empire Earth\Persistent\EEPCalamityHelper.cpp
  • C:\SSSI Development\Empire Earth\Persistent\EEPPlayerHelper.cpp
  • C:\SSSI Development\Empire Earth\Persistent\EESaveLoad.cpp
  • C:\SSSI Development\Empire Earth\Physics Thread\EEPhysics.cpp
  • C:\SSSI Development\RTS Engine\Physics\RTSPhysics.cpp
  • C:\SSSI Development\Empire Earth\Player\EEPlayer.cpp
  • C:\SSSI Development\Empire Earth\Scenario Editor\EESELoadThread.cpp
  • C:\SSSI Development\Empire Earth\Scenario Manager\EESMMediaStrings.cpp
  • C:\SSSI Development\Empire Earth\Tech Tree\EETechTree.cpp
  • C:\SSSI Development\Empire Earth\UI Events\EEUIEFormationChange.cpp
  • C:\SSSI Development\Empire Earth\UI Events\EEUIEPostGameSummaryEvents.cpp
  • C:\SSSI Development\Empire Earth\Units\EEUCBuilding.cpp
  • C:\SSSI Development\Empire Earth\Units\EEUGAttackUnit.cpp
  • C:\SSSI Development\Empire Earth\UI Events\EEUIEMainGameEvents.cpp
  • C:\SSSI Development\Empire Earth\User Interface Thread\EEUIFError.cpp
  • C:\SSSI Development\Empire Earth\User Interface Thread\EEUIFMainGame.cpp
  • C:\SSSI Development\Empire Earth\User Interface Thread\EEUIFMGMainGroup.cpp
  • C:\SSSI Development\Empire Earth\User Interface Thread\EEUIFMGStatusBar.cpp
  • C:\SSSI Development\Empire Earth\User Interface Thread\EEUIFMGStatusBox.cpp
  • C:\SSSI Development\Empire Earth\User Interface Thread\EEUIFMGStatusButton.cpp
  • C:\SSSI Development\Empire Earth\User Interface Thread\EEUserInterface.cpp
  • C:\SSSI Development\Empire Earth\Civilization Builder\EECBUIListBox.cpp
  • C:\SSSI Development\Empire Earth\Random Map\EERandomMap.cpp
  • C:\SSSI Development\Empire Earth\Empire Earth\Demo\Empire Earth.pdb
  • C:\SSSI Development\Low-Level Engine\User Interface\UIManager.cpp
  • C:\SSSI Development\Low-Level Engine\Main\Demo\Low-Level Engine.pdb

Low-Level Engine.dll#

  • C:\SSSI Development\Low-Level Engine\Error System\Error System.cpp
  • C:\SSSI Development\Low-Level Engine\File System\FSArchive.cpp
  • C:\SSSI Development\Low-Level Engine\Graphics Engine\GEFontBitmap.cpp
  • C:\SSSI Development\Low-Level Engine\Graphics Engine\GERasterizer.cpp
  • C:\SSSI Development\Low-Level Engine\Graphics Engine\GEVector.cpp
  • C:\SSSI Development\Low-Level Engine\Graphics Engine\GEWindow.
  • C:\SSSI Development\Low-Level Engine\Network Engine\NELagLossSimulator.cpp
  • C:\SSSI Development\Low-Level Engine\Network Engine\NEMessage.cpp
  • C:\SSSI Development\Low-Level Engine\Network Engine\NEMessageManager.cpp
  • C:\SSSI Development\Low-Level Engine\Network Engine\NERecordPlayback.cpp
  • C:\SSSI Development\Low-Level Engine\Network Engine\NESynchronousCommunications.cpp
  • C:\SSSI Development\Low-Level Engine\Network Engine\NETimestampedMessage.cpp
  • C:\SSSI Development\Low-Level Engine\Sound Engine\SEConductor.cpp
  • C:\SSSI Development\Low-Level Engine\Utilities\UDataCompression.cpp
  • C:\SSSI Development\Low-Level Engine\User Interface\UIForm.cpp
  • C:\SSSI Development\Low-Level Engine\User Interface\UIManager.cpp
  • C:\SSSI Development\Low-Level Engine\Main\Demo\Low-Level Engine.pdb

Miles Sound System Mixer.dll#

  • C:\SSSI Development\Low-Level Engine\Sound Engine\Miles Sound System Mixer\Demo\Miles Sound System Mixer.pdb

TCP Protocol.dll#

  • C:\SSSI Development\Low-Level Engine\Network Engine\TCP Protocol\TCP Protocol.cpp
  • C:\SSSI Development\Low-Level Engine\Network Engine\TCP Protocol\Demo\TCP Protocol.pdb