Please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Bejeweled Twist

From The Cutting Room Floor
Jump to: navigation, search

Title Screen

Bejeweled Twist

Developer: PopCap Games
Publisher: PopCap Games
Platform: Windows
Released in US: October 27, 2008


ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
Carts.png This game has revisional differences.


NotesIcon.png This game has a notes page

A "Twist" on an old series that also introduced dancing fruit.

Unused Graphics

BejeweledTwist-unusedtexture.png

This graphic can be found with the other texture files. It appears to be a test graphic.

BejeweledTwist-chaingang.png

Chain Reaction's old name might have been Chain Gang, as evident in this unused graphic.

Unused Special Gems

Ice Gem

It's getting cold in here...

When matched, an Ice Gem will "freeze" the board, tinting the background blue, pausing the music, and preventing bombs from ticking down for three turns. It will not stop the timer in timer-based modes, however. Unlike all other special gems (even the Skull Gem below), this gem does not have special hover-over text.

This gem can be created in Challenge mode by editing the game's save file (users/{Player's Name}/profile.dat) and configuration file (properties/config.xml). Using a hex editor, open profile.dat and change offset 0x6A from 18 to 58. Then, using a text editor, open config.xml, locate the IceGemsAllowed setting, and change it to true:

<Boolean id="IceGemsAllowed"> true </Boolean>

An Ice Gem can then be created by forming an X shape with a single color of gems. This would have been accompanied by the following tutorial text, though the code to display it seems to have been removed:

"You've created an ICE GEM by making an 'X' with 5 gems. Match it for Time Freeze!"

Ice Gems can only be created in Challenge mode. Even if you edit the configuration files of other modes to enable Ice Gem, the game doesn't recognize X shape matches. This is also the only gem that gives a lavender-colored tutorial text, which is not possible anymore since this gem was scrapped.

Skull Gem

At least it's not a muncher.

The Skull Gem lacks any graphics whatsoever, simply appearing as a blank space on the grid. When you take a turn, it'll start eating the gems below it. When it reaches the bottom, the game will crash (presumably due to a lack of a game over animation for it). It will properly display some special text when hovered over, however:

SKULL GEM
Careful! Skull gems eat downwards. When they reach the bottom, you lose!

Interestingly, leftover tutorial text exists for this gem too:

"What's this? This SKULL is chomping thru your gems! Destroy it before it hits the bottom!"

Also unusually, Classic mode contains settings that would spawn these gems at level 25 or higher, but they are ignored by the game. The game will freeze if the setting is changed.

Angel Gem

Where's the halo?

The Angel Gem would've removed all bombs from the field when matched.

Although it can be placed on the grid, the game would crash as soon as the cursor is moved in-game. The text when hovered over if it wasn't for the crash, however:

ANGEL GEM
Angel Gems are the rarest of all. They are formed by making 4 gems in a 'plus' shape. When detonated they clear all bad gems from the screen.

In the final game, the Challenges ended up taking up this behavior; completing one destroys all Bomb and Doom Gems on the field, as this (supposedly) would have done.

Unused Music Sequences

Sequence 44 in Skaven's section of the music (BejeweledTwist24.mo3) is only placed at the very end of the file, never reached under any circumstances. It sounds like it would've fit in with the Untimed Challenge theme.

Similarly, sequence 45 is located right after 44, and is the last sequence in the file.

This music is named "TROPHYROOM" in music.xml and has offset 100 with tempo 112. "Trophy Room" was a achievement screen of PopCap's previous game "Chuzzle". Although later Bejeweled games do implement achievement system as Badges, the badge list screen of those games simply use the Main Menu song.

This fanfare is named "HIGHSCORE" in properties/music.xml, with offset 103 and tempo 141. In the final version, there is only "A new highscore" voice if you get a highscore.

This music is named "WHEELINTRO" in music.xml and has offset 104 with tempo 126. While the "wheel" does show up in Bomb Disarm screen, this music is too bright for that scene and probably intended for some kind of bonus stage.

This music is named "WHEELSCORE" in music.xml and has offset 107 with tempo 144. This was also probably intended for some kind of bonus stage, likely when the player is "spinning" a roulette-like thing.

This music is named "BONUSROUND" in music.xml and has offset 108 with tempo 126. This was probably intended for main theme of bonus stage.

Unused Sounds

A number of sound effects not used in Bejeweled Twist are also present in the game.

chainx1.ogg

Likely related to gem chain matches.

eclipseintro1.ogg

This was possibly meant to be played for unlocking a challenge's Eclipse puzzle. In the final game, nothing in particular plays when the 7th challenge of a planet is beaten.

supergem_create.ogg

Judging from the name, it is likely that this was initially played when a Supernova gem is formed.

tutorial_snap.ogg

Nowhere in the tutorial level plays this sound effect.

whirlpool1.ogg

Perhaps initially played when you complete a level?

Snackers the Cat

I bet he's been snacking on my fruit gems.

Typing 'snackers' while any piece of Coal is on the grid will change all of the Coal into Snackers, Popcap co-founder and Bejeweled creator Jason Kapalka's cat. In order for this to happen, the Gem Rotator must be off the board and there must be at least one Coal on the board. This changes the hover-over text as well:

SNACKERS
This adorable cat can't be matched, but if you startle it with Flame or Lightning, you'll get an awesome bonus!

Additionally, Snackers will purr if you hover over her long enough.


(Source: Popcap Blog)


Unused Configuration File

Hmmm...
To do:
Describe config_action.xml and config_casual.xml

In properties directory there is an unused XML file config_locksmith.xml. This file contains the settings that make Lock Gems appear frequently. While the final game doesn't have a Challenge named "Locksmith", it is possible that the game once had missions that involve Lock Gems.

The following is an example challenge that make use of config_locksmith.xml:

  <challenge>
    <description>"Destroy as many Lock Gems as possible in 3 minutes"</description>
    <counttitle> "Lock Gems" </counttitle>
    <bestscore> 20 </bestscore>
    <rules> "LockGems>=0, Time<3, CONFIG='properties/config_locksmith.xml', nightmode"</rules>
  </challenge>

Unused Challenge Mode Objectives

There are several objectives and options for Challenge mode that are not used in the final game.

  • Matches represents the number of Gem sets created. Both your own matches and cascades count towards this goal. L or T shaped clear will count as 2 matches.
  • MaxCascade represents the maximum number of cascades created in the current game. This is most likely replaced by Cascade objective with Onemove option, as MaxCascade doesn't display your ongoing cascade progress in realtime.
  • LockGems represents the number of Lock Gems destroyed, which might have used with config_locksmith.xml.
  • ShardsLost stays at 0 as "Shards" system no longer exists in the final game.
  • BiggestMatchColor seems to represent what colored gem is destroyed in one move. Its value ranges from 0 to 6.
  • SkullGems most likely represents the number of Skull Gems destroyed, but since this gem is scrapped its score stays at 0.
  • Level is always 2 due to Challenge mode's lack of level system. The reason it is always 2 is probably because the most special gems are not allowed to appear on level 1 or lower.
  • DevilGems represents the number of Doom Gems destroyed.
  • AngelGems most likely represents the number of Angel Gems destroyed, but since this gem is scrapped its score stays at 0.
  • CountdownGems represents the number of Bomb Gems destroyed.
  • FruitGems most likely represents the number of Fruit Gems destroyed, but since this gem doesn't appear in challenges its score stays at 0.
  • Icegems represents the number of Ice Gems destroyed. If the player edits the save and config files to unlock Ice Gem creation ability, this objective will work perfectly.
  • CONSTANTCOUNTERS is an option that make Bomb Gems immediately respawn when destroyed. It works similar to its Doom Gems counterpart "constantdoom".

Preserver objectives

  • OrangeGems and PurpleGems are unused Preserver objectives. When used with the Onboard option, the HUD correctly displays both color of gems.
  • All Preserver objectives, including the unused OrangeGems and PurpleGems, will represent the number of colored gems destroyed if the Onboard option is not used.
  • Coalgems is compatible with the Onboard option, unlike all other special gems.

quitonfail

quitonfail option will instantly end the game if the player breaks any of the mission criteria (e.g. do not use any Lightning Gems). In the following example challenge, the game ends when the player creates a minimum of x5 cascade.

  <challenge>
    <description>"Create a minimum of x5 cascade"</description>
    <counttitle> "Cascades" </counttitle>
    <bestscore>8</bestscore>
    <rules> "Cascades>=0, Cascades<=4, Onemove, quitonfail, nightmode"</rules>
  </challenge>

While this option is technically used in Preserver Eclipse, it is redundant in that mission because the badgem option will always terminate the game when the specified gem is destroyed, even without the quitonfail option.

Unused Text

Hmmm...
To do:
BejeweledTwist.exe has more unused text.

donedescription

All challenges (defined in properties/challenges.xml) have an unused property named "donedescription". These messages might have been intended to appear upon completing a mission. The "#" symbols are variables, and programming for it partially left in the game (see the "Variable replacement" section below).

You destroyed # gems
You destroyed # gems without Lightning
You made 3 red matches in a row
You made 4 orange matches in a row
You made 5 yellow matches in a row
You made 6 green matches in a row
You made 7 blue matches in a row
You made 8 white matches in a row
You made 9 violet matches
You destroyed # coals in 1 move
You destroyed # coals without Lightning
You created a x# chain
You created a x# chain in 5 minutes
You made a x# cascade
You cleared x# gems with no Flame or Lightning
You got # green gems onscreen
You got # red gems onscreen
You got # blue gems onscreen
You got # white and # red gems onscreen
You got # yellow gems onscreen
You got # red and # blue gems onscreen
You got # green, # blue and # red gems onscreen
You detonated # Flame Gems in #
You detonated # Flame Gems in 1 move
You cleared # gems in # moves
You triggered # Lightning Gems in 1 move
You triggered # Flame and # Lightning Gems in 1 move
You cleared # gems in #
You survived # turns
You detonated # Lightning Gems in #
You detonated # Lightning Gems in 1 move
You created # Flame Gems in 1 move
You created # Flame and # Lightning Gems in 1 move
You created # Lightning Gems in 1 move
You created a # gem match
You created an # gem match

Variable replacement

The programming for handling the "#" symbols in messages partially exists in the game, and can be seen by copy-pasting the donedescription property to description property. The following code is example of Chain Reaction 1:

  <challenge>
    <description> "You created a x# chain"</description>
    <counttitle> "Chains" </counttitle>
    <donedescription> "You created a x# chain"</donedescription>
    <rules> " MaxChain>=15 " </rules>
  </challenge>

The programming of it only exists for the following challenges. All other missions crash the game when you hover your mouse-cursor on challenges.

  • Chain Reaction
  • Preserver
  • Firestorm (except for "detonate X Flame Gems in 1 move in 5 minutes" missions)
  • Survivor
  • Voltage (except for "detonate X Lightning Gems in 1 move in 5 minutes" missions)

Challenge Description Fragments

There are several fragments of challenge descriptions in the exe file. It suggests that the game could have generated the challenge descriptions automatically. In the final game, the challenge descriptions are written directly to the properties/challenges.xml, and if the description property is missing the game will leave the description blank.

 %d point
 %d counter gem
 with no countdown gems
 %d devil gem
 %d skull gem
 without matching skull gems
 %d fruit gem
 %d angel gem
 %d ice gem
 without matching ice gems
 %d lightning gem
 without matching lightning gems
 %d flame gem
 without matching flame gems
 %d match%s
 without chained moves
 with no shards lost
 %d gem
 in %d moves
 in more than %d moves
 in one move
 in %d minute%s
Match
Score
Make a match of
 at level
 after level
 by level
Reach level
Make a chain of

Night Mode Unlocked Message

There is an unused message regarding of unlocking the "Night Mode". Night Mode is the internal name of Eclipse challenges, but none of them are speedrun mode. The final game does not display any special messages upon completing all challenges.

NIGHT MODE UNLOCKED
You've unlocked the Challenge Night Mode!
Each planet now only has one challenge.  How fast can you complete it?

Old Statistics Screen Text

Unused text for the statistics screen exists in the game's executable file, which includes text for the scrapped special gems. The final game only records total points, best single move score, total gems destroyed, and so on.

SUPERNOVAS
CASCADES
BLUE GEMS
ORANGE GEMS
PURPLE GEMS
YELLOW GEMS
GREEN GEMS
WHITE GEMS
RED GEMS
COAL GEMS
TOTAL POINTS
TOTAL LOCK GEMS MATCHED
TOTAL COUNTER GEMS MATCHED
TOTAL SKULL GEMS MATCHED
TOTAL FRUIT GEMS MATCHED
TOTAL DEVIL GEMS MATCHED
TOTAL ANGEL GEMS MATCHED
TOTAL ICE GEMS MATCHED
TOTAL LIGHTNING GEMS MATCHED
TOTAL FLAME GEMS MATCHED
TOTAL GEMS MATCHED
TOTAL GEMS CLEARED
TOTAL FRUIT POINTS
TOTAL COAL POINTS
TOTAL FLAME POINTS
TOTAL LIGHTNING POINTS
CUMULATIVE POINT MULTIPLIER
RANK POINTS
FIRST 3X LEVEL
FIRST 2X LEVEL
WHEEL FIRST LEVEL
WHEEL SPINS
DEATHS BY COUNTER
DEATHS BY SKULL
DEATHS BY DEVIL
SHARDS COUNTERED
SHARDS SKULLED
FIRST SHARD LOST LEVEL
TOTAL SHARDS LOST
BIGGEST CASCADE
BIGGEST CHAIN
TOTAL MATCHES
FIRST ANGELGEM LEVEL
FIRST LIGHTNING GEM LEVEL
FIRST FLAMEGEM LEVEL
FIRST ICEGEM LEVEL
TOTAL TIME (SEC)
TOTAL BAD MOVES
TOTAL MOVES
BEST MOVE (POINTS)
BEST MOVE (GEMS)
MEGAMATCHES
BIGGEST MATCH COLOR
BIGGEST MATCH
LOCK GEMS
COUNTER GEMS
SKULL GEMS
FRUIT GEMS MADE
ANGEL GEMS MADE
ICE GEMS MADE
FLAME GEMS MADE
LIGHTNING GEMS MADE
x10+ CHAINS
x9 CHAINS
x8 CHAINS
x7 CHAINS
x6 CHAINS
x5 CHAINS
x10+ CASCADES
x9 CASCADES
x8 CASCADES
x7 CASCADES
x6 CASCADES
x5 CASCADES
LONGEST ACTION GAME
LONGEST CLASSIC GAME
LONGEST CASUAL GAME
PUZZLE GAMES
ZEN GAMES
ACTION GAMES
CLASSIC GAMES
CASUAL GAMES

Early Mode Names

There are early list of mode names which does not match with the one in the Old Statistics Screen Text or the final game's roaster.

TIMED MODE
FREE MODE
PUZZLE MODE
CREATING MODE

There are also text for saving and editing the "puzzles", which might have been used in the Creating Mode.

PUZZLE %d SAVED
EDIT

Revisional Differences

Steam version of Bejeweled Twist unlocks Blitz mode by default.

(Source: [Wario 16])

Debug commands

Hmmm...
To do:
There may be more.

Pressing CTRL-ALT-D will play a sound (c:\windows\media\Windows XP Menu Command.wav) to indicate debug key input is enabled, allowing options of typing unique keys for debugging displays or mechanisms, another use will disable it.

  • F2 - Start/Stop perf timing
  • F3 - Toggle FPS display
  • Shift F3 - Toggle FPS/mouse coordinate display
  • F8 - Show current Video Stats (mostly used to see if 3D acceleration is currently on)
  • Shift F8 - Toggle 3D acceleration
  • F11 - Take screenshot (goes into the ProgramData/OEM/BejeweledTwist/_screenshots) directory.
  • Shift F11 - Dump all program images in memory to the ProgramData/OEM/BejeweledTwist/_dump directory.