This is a sub-page of Target: Terror (Arcade).
|
|
This page is rather stubbly and could use some expansion. |
There is a lot of data stored in plain text in the game's files, most likely because reading data from an external text file makes it easier to work with than hardcoding. Full scripts from which excerpts came from will be found in the Notes page when added.
Level Scripts#
Level scripts are the lifeblood of the game, as they are used to dictate enemy patterns and timings for each scene. Alongside the 10 used scripts are various unused and test scripts.
Test Scripts#
ray-sit-wscript.txt (named after the enemy actor and lead art designer Ray Rosario) is a good place to start, since this appears to be the main test script and shows how these files work
; Sitting Ray Test
; Commented lines begin with semicolons
[000.00] LOOPBEGIN 0
;[999.00] LOOPEND
; Camera controls
; In / Out Times
; Time Stamp Cam # | Play Speed
; | | | |
; V V V V
;[000.00] CAMERA 0 [000.00 - 012.00] x 2.0
[000.00] MACRO macro\ray-sit.txt (-5.64, -5.10, -10.02) (0.0, 1.57, 0.0)
[006.00] LOOPEND
; Macro Activator
; Macro Filename Starting Euler Rotation
; Time Stamp | Starting Position |
; | | | |
; V V V V
;[001.00] MACRO geo_static.txt (-27.98, -6.00, -12.12) (0.0, 0.0, 0.0)
;[002.00] MACRO geo_signal.txt (-22.83, -6.00, -14.36) (0.0, 0.0, 0.0)
;[003.00] LOOPBEGIN 0
;[004.00] SETFLAG 9
;[005.00] CLEARFLAG 8
;[006.00] LOOPEND
;[007.00] JUMPTO 0.0
Macros are the files that store the actual behavior for enemies and innocents. However, there is actually no "ray-sit" macro. This is likely referring to an earlier version of either "ray-sit-front" or one of the two "ray-sit-side" macros, which are used for some of the enemies in the cars during sequences like in Scene 5. It is worth noting that this script uses hard-coded time stamps, but most scripts in the files use relative ones instead. The final wavescript iteration implies that this was a change made relatively early in development
testscript.txt is a script that used the below "wavescript" scripts as a template to test various iterations of the "choker" enemy, whose macro file shows that there were apparently problems with this specific enemy.
; Commented lines begin with semicolons
; This warehouse script created with improper camera perspective
;[000.00] JUMPTO 49.0
; *** POSITION 1 ***
[+0.00] CAMERA 0 [0 - 0.0] x 1.0
[+0.00] MACRO macro\jeff-testold.txt (45, -4.8, -6.00) (0.0, 1.57, 0.0) ; Pillar Dodger
[+0.00] MACRO macro\jeff-testchoke.txt (46, -4.8, -5.00) (0.0, 1.57, 0.0) ; Pillar Dodger
[+0.00] MACRO macro\jeff-testnew.txt (47, -4.8, -4.00) (0.0, 1.57, 0.0) ; Pillar Dodger
[+5.00] JUMPTO 0.00
; *** POSITION 5 ***
tiletest.txt just plays about 30 seconds of background FMV. Since the video file is defined in an external file, there is no indication what video file was meant to be used for this.
; Commented lines begin with semicolons
; AIRPORT SCRIPT, WAVE 1 SEGMENT 1
; *** POSITION 1 ***
[+0.00] CAMERA 0 [35.0 - 64.0] x 1.0
Wavescript iterations#
wavescript.txt contains an early, possibly test, version of the warehouse sequence that takes place in the latter half of Scene 1. This file had three different iterations as well, 020815script.txt, 020823script.txt and 020823scriptrel.txt.
020815script.txt is identical to wavescript.txt except for an additional line saying the camera is wrong.
020823script.txt is the second and final version for all practical purposes. Lines that were changed were commented out, likely for A/B testing, as shown in excerpt
; *** POSITION 1 ***
[000.00] CAMERA 0 [0 - 0] x 1.0
[001.00] MACRO macro\jeff-fakeout_s.txt (-23.00, -6.15, -14.00) (0.0, 1.57, 0.0) ; doorway
;[001.00] MACRO macro\ray-stand2_s.txt (-23.00, -6.15, -13.00) (0,1.57,0) ; doorway
[001.50] MACRO macro\ray-climb2_s.txt (-22.30, -2.35, -10.90) (0.0, 1.57, 0.0) ; 2st level
;[001.75] MACRO macro\jeff-stand.txt (-23.8, -6.35, -14.81) (0.0, 1.57, 0.0) ;
[002.00] MACRO macro\ray-climb4_s.txt (-21.50, -4.50, -8.68) (0.0, 1.57, 0.0) ; 1st level crate L
[002.50] IF ENEMYCOUNT != 0 JUMPTO 2.01
020823scriptrel.txt is functionally identical to the prior version, but now many commented out lines have been removed and the time stamps have changed from absolute to relative. The lines from 0815 that remain now have five semicolons for some reason.
; Commented lines begin with semicolons
; This warehouse script created with improper camera perspective
;[000.00] JUMPTO 49.0
; *** POSITION 1 ***
[000.00] CAMERA 0 [0 - 0] x 1.0
[+1.00] MACRO macro\jeff-fakeout_s.txt (-23.00, -6.15, -14.00) (0.0, 1.57, 0.0) ; doorway
;;;;;;[001.00] MACRO macro\ray-stand2_s.txt (-23.00, -6.15, -13.00) (0,1.57,0) ; doorway
[+0.50] MACRO macro\ray-climb2_s.txt (-22.30, -2.35, -10.90) (0.0, 1.57, 0.0) ; 2st level
;;;;;;[001.75] MACRO macro\jeff-stand.txt (-23.8, -6.35, -14.81) (0.0, 1.57, 0.0) ;
[+0.50] MACRO macro\ray-climb4_s.txt (-21.50, -4.50, -8.68) (0.0, 1.57, 0.0) ; 1st level crate L
[+0.50] IF ENEMYCOUNT != 0 JUMPTO -0.49
TODO: Use diff on various unused level scripts to figure out exactly what is changed, and figure out how best to present the 0208 files outside of just copy-pasting their entire contents if possible.
Macros#
Scripts rely on macros to function, as these define the actual actor behavior of the various entities. In order for an enemy or innocent to appear in a level, the scripts must invoke the corresponding macro file. Macros define attributes and hitboxes as well as scripting sounds and animations.
Choker comments#
The "choker" enemy's macro file has a few comments in it, likely to explain how it works because it requires two hits to kill, unlike most other enemies.
<SCRIPT 1>
<HITZONE 2>
<INSTR>
[000.00] PLAYSOUND 1 60 ; This call mapped to enemy_multihit...
[+0.00] PLAYAVI 3
[+1.84] FIRE 100
[+0.4] LOOPBEGIN 10
[+0.0] PLAYAVI 2
[+0.0] FIRE 100
[+0.44] LOOPEND
[+0.0] PLAYAVI 2
[+0.0] MOVEABSI (0,0,0)
[+0.44] MOVEABS (0,-0.9,0)
[+0.0] DEACTIVATE ; Deactivate function indicates all actions will execute