Mail has been fixed; you should now be able to confirm your e-mail address, watch pages, and the like.
Please report any issues on Discord.

Scooby-Doo! Night of 100 Frights

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Scooby-Doo! Night of 100 Frights

Developer: Heavy Iron Studios
Publisher: THQ
Platforms: PlayStation 2, GameCube, Xbox
Released in US: May 20, 2002 (PlayStation 2), September 16, 2002 (GameCube), August 27, 2003 (Xbox)
Released in EU: August 16, 2002 (PlayStation 2), November 22, 2002 (GameCube)


AnimationsIcon.png This game has unused animations.
AreasIcon.png This game has unused areas.
CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
EnemyIcon.png This game has unused enemies.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
ItemsIcon.png This game has unused items.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.


PrereleaseIcon.png This game has a prerelease article

Scooby-Doo! Night of 100 Frights is a game based on the original 1960s Scooby-Doo! Where Are You TV series. To quote the game's internal description: "Help Scooby-Doo solve the mystery of who kidnapped the Mystery, Inc. Gang!". You play as Scooby as he hopes to defeat the Mastermind and rescue the Scooby gang. While Heavy Iron Studio's next game, Battle for Bikini Bottom, is considered the better game, Night of 100 Frights is appropriately charming, fun and accurate to its source material.

Unused Areas

Boss Cutscene Level

Hmmm...
To do:
Video obsolete. Provide new footage of this level.

S006, existing only in the GameCube version of the game, is accessible through hacking. You have to set s006 as the boot file in sd2.ini and disable the cutscene and its dispatcher. You aren't loaded into the level after you defeat the Mastermind you are loaded into a similar looking but not identical looking video file. Because the level isn't identical (the table is in a different place and the hallway geometry and textures are messed up) this is a dev left over probably from when they were making a real time ending cutscene instead of a video file.

Unused Models

csd_tongue.dff

Scoobyfright csd tongue.PNG

csd_tongue.dff in boot.hip was meant to be associated with Scooby-Doo while he did an animation known in-game as csd_tonguerun_00.anm, which is also unused.

rhtp0002.dff

Rhtp0002Model.PNG

rhtp0002.dff in mun4.hip is a rectangle with a fingerprint on it, purpose unknown.

Unused Animations

  • csd_tonguerun_00.anm goes unused and is so far inaccessible, as the animation is actually enabled but won't activate during gameplay. Its animation table known as sdtongue.ATBL is in the same area as animations for the umbrella and football helmet meaning that the animation was used for a scrapped powerup. Most likely the hotsauce. [1]
  • csdrn_hotsauce.anm is a repurposed animation seen on the title screen. While originally it was going to be used for the hotsauce it's now only seen as Scooby's run animation on the title screen.

Unused Graphics

Textures

BOOT.hip

mnu3.hip

mnu3.hip has three unused posters, one presumably for Hot Wheels: Velocity X, one for Scooby-Doo and the Cyber Chase, and one for the 2002 live action film.

Sd2.ini

This configuration file is very rich in not only development history but also an insight into how the game previously operated and what unused items there are. This file is identical on all versions of the game and is interchangeable.

Engine Differences

These differences refer to how Scooby once moved compared to how Scooby now moves in the final release. These are direct quotes from the configuration file.

Jumping

#---------------------------------------------------------
# Original jump settings:              New jump settings:
#               Jump   Double          Jump   Double
#  Airspeed      6.1                   4.25
#  Gravity       200                     60
#  JumpGrav       66                     20
#  GravSmooth    0.2                    0.2
#  Height        2.3      1.2           2.3      1.2
#  Change       0.32     0.32          0.30     0.30
#  -------------------------------------------------------
#  Hang time   0.492    0.379         0.706    0.575
#  Hang dist    3.00     2.31          3.00     2.44

Headbutt

 
#---------- Old headbutt parameters ----------
# NOT used in the latest engine!!!
#
HeadbuttDistance = 3
HeadbuttTime     = 0.5


#---------- New headbutt parameters ----------
# These correspond to (minimum):
#     3.3 head butt distance  (3.0 original)
#     0.7 head butt time      (0.5 original)
#     6.5 final speed         (6.0 original)
# However, you can now keep holding down the button
# to go further.
#
HeadbuttSpeedMin =  3.0
HeadbuttSpeedMax = 10.0
HeadbuttAccel    =  5.0
HeadbuttTimeMin  =  0.7
HeadbuttTimeMax  =  2.0
HeadbuttTurn     =  2.5     # Normal turn rate in game is "7"

Missing Powerups

Hotsauce

This powerup doesn't exist in game, but it does exist inside the configuration file.

Speed values for character, each entry is a range, plus optional min/max deflection values
#SpeedSneak = 1,2.2
#SpeedWalk  = 2,5
#SpeedRun   = 3.5,6
#SpeedAir   = 2,5
#SpeedHotsauce = 16,16,0.2   # Hotsauce is fixed speed 


From this we can assume that the Hotsauce was a temporary speedboost powerup.

The Flower Pot and Diving Helmet

At the end of the configuration file where the powerups are listed there two unused costumes. There is no indication of what these would do in game. However there is some interesting dev text next to them.

eSPECIAL_FlowerPot      	= 0	# Are these last two being used?
eSPECIAL_DivingHelmet   	= 0     # Last disguise (that you don't use?)

Unused Debug Items

mnu3.hip

Text

  • SKIPLEVELB
  • SKIPLEVELC
  • SKIPLEVELF
  • SKIPLEVELG
  • SKIPLEVELI
  • SKIPLEVELL
  • SKIPLEVELO
  • SKIPLEVELP
  • SKIPLEVELR
  • SKIPLEVELS
  • SKIPLEVELW

Unused Level PORTs

  • SKIPLEVELPORTAL0
 Destination = B001
  • SKIPLEVELPORTAL1
 Destination = C001
  • SKIPLEVELPORTAL10
 Destination = S001
  • SKIPLEVELPORTAL11
 Destination = W001
  • SKIPLEVELPORTAL2
 Destination = E001
  • SKIPLEVELPORTAL3
 Destination = F001
  • SKIPLEVELPORTAL4
 Destination = G001
  • SKIPLEVELPORTAL5
 Destination = I001
  • SKIPLEVELPORTAL6
 Destination = L001
  • SKIPLEVELPORTAL7
 Destination = O001
  • SKIPLEVELPORTAL8
 Destination = P001
  • SKIPLEVELPORTAL9
 Destination = R001

Unused Developer Text

mnu3.hip

  • MNU3 PD SND MGR TXT is blank
  • PLACEHOLDER DEVELOPER TXT reads:
 Scene Missing <Developer> 
  • PLACEHOLDER LICENSE TXT reads:
 Scene Missing <License> 
  • PLACEHOLDER PUBLISHER TXT reads:
Scene Missing <Publisher>
  • For whatever reason a Monster Gallery Selector exists within the menu but the text asset it shows is ON TXT. [2]

PS2 Leftovers From Gamecube Development

  • BONUS PRESS O TXT
  • BONUS PRESS TRI TXT
  • PRESS TRIANGLE TXT

mnu4.hip

  • INTENTIONALLY BLANK TXT is funnily enough blank.
  • MAP WORLD VIEW TXT reads:
View World
  • USE D_PAD TXT
Use the Direction Pad to Navigate!

PS2 Leftovers From Gamecube Development

  • TRIANGLE EXIT TXT
  • MNU4 PRESS TRIANGLE TXT

readme.txt

A readme file is present only in the vn folder from the Xbox release.

Proposed Villain HIP files.

Purpose:
--------
To reduce the amount of raw data which must be read from disk/CDROM/DVD/etc.
when switching between "rooms" in the game engine.

Overview:
---------
The Scooby-Doo game consists of a 4 "Worlds" (Smugglers Cove, Haunted
Grounds, etc.) which is composed of 3 "Levels" (denoted by the 'f in
f001.HIP), and each level consists of a series of "Rooms" (f001, f002, ...).

The rooms within each level tend to use the same villains to defend the
MasterMind from our hero Scooby. Further, the progression of the game
introduces a subset of villains as the player achieves greater glory and
is victorious on the battle field (or at least quick-footed enough to
avoid confrontation).

This frequency of loading the same data can be reduced by splitting
villains into their own HIP files which are loaded based on the level
of the room being entered.
(similar to how the Boot HIP loads the player data once)

Benefits:
---------

+ Currently, each room (aka scene) loads the animation and model data
  required for those villains in the room. In most levels, this results in
  redundantly loading 1.5 to 2 MB of data. Two MB is, presently,
  approximately 25% to 40% of the total amount of data loaded for each
  room - another third is in the textures, a third is the BSP, plus
  other smaller stuff makes up the rest.

  Thus, switching rooms within a given level can skip loading a fair
  amount of data. This reduces the load times when moving between rooms.

+ Limits/forces designers to only use villains appropriate to the level.
  Requires, of course, the villains which are to be used in each level
  are known so they can be packed accordingly.

+ Specifically, it will help standardize big-ticket memory 
  usage across scenes. Thus quality of scenes won't be hampered 
  because one scene has tons of different villains while 
  another doesn't ... sorta like a mid-tide mark for scene content.
  Others are welcome to disagree.

+ Critters (bats, rats, spiders, etc.) are rather ubiquitous in the game.
  Consequently they are placed in their own villain HIP which is loaded
  before the other villain HIPs - actually, they could go in the boot but
  using a separate HIP keeps things more straight forward.

+ Since these are broken down by level and room, provides a pack location
  for sounds (like background music) and other assets which pertain to the
  level as a whole.

Drawbacks:
----------
Among others, ....

- Slightly more complex packing/loading sequence. However, it has been done
  for the UI menus and the boot HIP.

- Moving between worlds and levels will take the hit of loading a different
  villain HIP. Hopefully, the design and layout of room connectivity
  limits how often this can occur.

- Villains used in a scene which are not present in the 
  villain HIP file will cause problems (i.e. crash); a normal response
  for missing game assets.

- Villains used throughout a level will always be loaded for 
  rooms within those levels whether used or not.

  This is wasteful for villains only seen once - like a boss.
  As a result, bosses, and the villains used within the Boss Battle room
  may be placed in one of the 9'th HIP for that level (see "HIP Names" below).
  Splitting bosses off to another HIP may be avoided if unnecessary.
 
HIP Names:
----------
Each HIP is named as follows:

VNab
  'a'  indicates world/level supported by the HIP. This is the alpha
       character used to designate rooms within a level (e.g., 'F' in 'F001')
  'b'  enumeration digit. Typically, there will only be a single
       'VN**' HIP for all rooms within the level. E.g., "VNF1".
       The exception will probably be limited to the world levels
       containing a boss battle.

       The villain HIP used for a boss battle will always have b == 9.

       For now at least, b == 0 is reserved for testing/development purposes.

       The boss versions may be omitted if unnecessary. However, that would
       limit other rooms on the level since boss animations would always
       be loaded when not required until the end. And, those rooms
       in the level should really be more complex/challenging since they
       lead up to the boss battle.

Anyway:
    Room     'g009'     VNg9          - Green Ghost Battle
    Room     's005'     VNs9          - Master Mind Battle
    Room     'o008'     VNo9          - Black Knight Battle
    Room     'w028'     VNw9          - Red Beard Battle
otherwise, levels are VNf1, VNp1, etc.


Load Ordering:
--------------

    ---------------
    |    Room     |      - Room HIP (single room)
    ---------------
    |    VN--     |      - level specific villains (per level)
    ---------------
    |    VN00     |      - common villains (e.g. critters) (whole game)
    ---------------
    |    MNU4     |      - HUD and option screens (whole game)
    ---------------
    |    BOOT     |      - Player and game generic data (whole game)
    ---------------