Bejeweled Wiki
Advertisement
Bejeweled Wiki

Bejeweled Twist is the third game of the Bejeweled franchise and it got a lot of unused content below. This article contains information about beta elements and unused content related to the game Bejeweled Twist.

Early names of gems

Gem2 We need more Gems to level-up. Gem3

This section is empty, meaning, there's no information in the section. You can help by adding new information..


Trophy Room

Bejeweled Twist Trophy Room

The Trophy Room would most likely work the same way the Badge system works in Bejeweled 3, having to do certain actions and tasks to get trophies.

Twist Shop

Twist Shop 1
Twist Shop 2

The Twist Shop would be where the player could buy items, either to use in Blitz mode much like Bejeweled Blitz, or to use in other modes to deal with things such as Bomb Gems or Doom Gems, somewhat like Super Collapse! 3, and would have marked the first time a shop system had been used in a Bejeweled game before Bejeweled Blitz.

Unused game modes

Action mode

Action mode would probably have been similar to Bejeweled's Timed mode and Bejeweled 2's Action mode where the level-up bar is half full and empties out over time.

Extreme mode

This mode would probably have been similar to Classic Mode with the Progress Bar taking longer to fill than normal.

Unused graphics

Fruit Gem Challenge Icon

BejTwist unused challengeobjectivefruit

There is one challenge icon for fruit gems. A fruit gem objective exists in the game's code, but it is unused as stated in the Unused Challenges section. It might've meant there was a fruit gem themed planet but might've been scrapped very late into development.

Challenge Score Pod Doors Animation

BejTwist unused challengedoors

There are unused doors for the score pod of the ship. Oddly enough, if you were able to create a custom challenge but there was a bug in the challenge objective, the score pod would show this graphic then the game crashes.

How To Play Navigation Buttons

BejTwist unused howtoplayprevious
BejTwist unused howtoplaynext

These are more rectangular and very early buttons for the How to Play section.

"Action" and "Extreme" Leaderboard Score Titles

BejTwist unused leaderboardaction
BejTwist unused leaderboardextreme

This is text for the leaderboard for the two unused modes, Action and Extreme. Action could've been like the mode from Bejeweled 2, and Extreme maybe as a harder Classic mode.

"More Games" Button

BejTwist unused moregamesbuttons

There exist another button for the main menu saying "MORE GAMES." This likely took you to PopCap's website (or PopCap's Steam or Origin page if you have either of those distributions of the game) to let you see more of their games like in Bejeweled 1 and 2.

"ECLIPSE" Title

BejTwist UnusedTitleECLIPSE


The current game's Eclipse challenge title uses the Continuum font, this uses the same or a similar font used for the challenge planet titles. It can be loaded into the game by editing the challenges.xml file.

Bejeweled Leftovers

BejTwist leftover bej1editbox


For some reason, the Bejeweled edit box is in the game files of Bejeweled Twist, likely for testing reasons. Also the texture is larger in resolution than the original game's.

Oddities

Obscured UFO Texture

Softestcat

Being an obscured sprite of the game, this texture isn't noticed by many. It tends to appear on a UFO sprite upon beating Level 10 of Classic Mode, although it's rather difficult to be seen.

Unused types of gems

Jason Kapalka mentioned in an interview that more types of gems were meant to be featured in Bejeweled Twist. These include what would have been more Special Gems and "bad gems." According to Jason Kapalka, these types of gems were scrapped because the game was becoming too complicated. Although these types of gems ultimately went unused, evidence of them can be found inside the game files and by modifying certain documents it is even possible to make the unused gems appear in the game as normal. However, because these types of gems were scrapped during development, some of their respective characteristics remain incomplete, causing the unused gems to behave somewhat incorrectly in the game.

Another interview with Jason Kapalka mentions that two additional types of "bad gems" named Pollution Gems and Radiation Gems were also meant to be featured in Bejeweled Twist. Although these types of gems ultimately went unused as well, evidence of these gems cannot be found anywhere inside the game files, suggesting that these types of gems were scrapped quite early during development.

Ice Gems

Main article: Ice Gem
Ice Gem- Bejeweled Twist

The Ice Gem was a type of Special Gem, created by making an "X" with five gems of the same color.

Skull Gems

Main article: Skull Gem
Skull Gem Descriotion

The Skull Gem was a type of "bad gem" that was meant to appear in the later levels of Classic mode.

Angel Gems

Main article: Angel Gem
BejeweledTwistAngelGems

The Angel Gem was another type of Special Gem, created making a plus shape (+) with gems of the same color.

Unused "intro" notifications

Score Mulitipliers

In Blitz Mode Increase Your Multipliers By 1

Skull Gem

Shards

Fruit Gem

Ice Gem

Unused musics

In the music files and XML files of Bejeweled Twist, multiple unused tracks can be found.

Trophy Room

Trophy Room is an unused feature in Bejeweled Twist, as mentioned above. A track can also be found for this feature, and it is named TROPHYROOM by the XML. However, it went unused, although it can be found in the game files, and information for the file can be found.

Wheel

There are two other tracks that exist in the Bejeweled Twist music files. Both are unused and it's not known what they were supposed to be used for. All that is known about them is that they are both related to a "wheel" because the tracks are named "WHEELINTRO" and "WHEELSCORE". WHEELSCORE loops and is only 6 seconds long, suggesting that the "wheel" in question could be a spinner, like the bomb disarm process.

Win

This track probably could have played when a challenge was completed. It is simply known as "WIN" in the files and is almost the same length as the lose sound, implying that it was used for that purpose.

High Score

This was supposed to play when a high score was achieved, but was cut for unknown reasons. It was known in the game as "HIGHSCORE"

Bonus Round

This was supposed to play during a Bonus Level, possibly in Classic Mode. The track is named "BONUSROUND"

Unknown Track

There are two module files that both store separate types of music: One stores Classic Mode and UI music (and the unused tracks mentioned above) whilst the other stores Blitz, Challenge, and Fruit Bonus music. In the latter, an unused track is present. What is odd about this particular file is that it cuts off prematurely. It is 15 seconds long but does not loop at any point. Because of this, its possible that the track is incomplete. There is no information in the game files on this track, making it more likely that it was scrapped during composition and could not be added into the game.

Unused sound effects

Gem2 We need more Gems to level-up. Gem3

This section is empty, meaning, there's no information in the section. You can help by adding new information..


Unused tutorial messages

"You've graduated basic training! Time to start your first game!"

Apparently this used to be the text message players received when they completed the tutorial level.

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

When a Skull Gem is seen for the first time on the game board

"Ouch! One of your SHARDS was destroyed! Be careful, if you lose them all, the game's over..."

When a Skull Gem or an unsuccessfully defused Bomb Gem makes you lose one of your eight shards - Shards were scrapped. They could have the same function as the lawnmowers of Plants vs. Zombies.

Unused Configuration Files

In properties directory there are some unused XML files. config_locksmith.xml 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 makes 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>


There is also an unused gamemode that uses config_casual which can be accessed when modifying any 'savegame_*' files by changing the gamemode byte value (offset 0x04) to zero. Casual gamemode seems to be an easier version of Classic Mode with larger minimum bomb values and Doom gems are not included. One more curious effect when playing on casual mode is that you can't hear any music. Bejeweled Twist will make a new savegame_casual when quitting from the modified saved game playthrough.

Unused text

Internal Web Server Text

\\\\sea-popshare\\sandbox\\Game Builds\\BejeweledTwist\\twistdumps_beta4\\
%s_%s.csv

ResourceMan2 Generation Text

The way PopCap internally creates a resources.xml file for locating the game content has been changed, providing this string on every compilation, suggesting a new internal tool was used to generate these files for this game and their later games.

Fragments

Strings are found in the game executable. Laser Gem is the initial name for a Lightning Gem (Twist) or Star Gem (3).

TimeFreezeMatchCount
LaserGemCascades
BonusRoundLevelGap

donedescription

Challenge mode's XML Document, named "challenges", contains an unused property for the challenges called donedescription. The unused property would have changed the description of a puzzle to indicate that the puzzle has been successfully completed. For example, completing the first puzzle of the challenge Detonator would have changed the description of the puzzle from "Destroy 8 gems in 1 move" to "You destroyed 8 gems." A possible reason for why the property went unused is because it may have been replaced by the "CHALLENGE COMPLETE" message that appears whenever a puzzle is successfully completed.

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

The number sign symbol (#) included in some of the messages represents an amount of different variables such as gems, moves, or time.

It is currently unknown if it is possible to make any of the "donedescription" messages appear in the game as normal, as the settings for the unused property are no different than those of the other properties for the challenges.

Although the "donesdescription" messages went unused, they were translated for other regional versions of Bejeweled Twist (which also go unused).

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 an 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 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 is an early list of mode names which does not match with the one in the Old Statistics Screen Text or the final game's roster.

TIMED MODE
FREE MODE
PUZZLE MODE
CREATING MODE


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

PUZZLE %d SAVED
EDIT

Unused Tutorial Fragments

Several tutorial fragments can be found in tutorial.txt.

//title "Lesson 2\nA Fiery Friend"
//levelup

Tutorial Completion

textbox "You've ^00ff00^graduated^ffffff^ basic training! \n Time to start your first game!" vcenter graduate
textbox "You've ^00ff00^graduated^ffffff^ basic training! \n Time to start your first game!" vcenter graduate
textbox "You've ^00ff00^graduated^ffffff^ basic training! \n Time to start your first game!" vcenter graduate
textbox "You've ^00ff00^graduated^ffffff^ basic training! \n Time to start your first game!" vcenter graduate


A much more different completion text than the final game's, and for some reason this text is duplicated 3 more times.

Skull Gem

One of the skull gem text was already mentioned in the unused gems section, but there was another system that was also going to be explained in the tutorial called "Shards."

//pointat shards
//textbox "If the Skull reaches the bottom, it will destroy one of your Shards!" 6,1
end


Shards were possibly some sort of lives system, sort of like the lawn mowers in PvZ.

Shard System

:shardloss
pointat shards
textbox "Ouch! One of your ^ffff00^SHARDS^ffffff^ was destroyed!" 7,1
textbox "Be careful, if you lose them all, the game's over..." 7,1
end


Apparently Skull gems weren't the only one to destroy shards, bomb gems could too, which meant if you don't successfully disarm a bomb, you only lose a shard.

Action Mode's Game Configuration

Action still has an XML for it's game mode still left in the final release.

<Properties>
	<Integer id="GameRows">	8		</Integer>
	<Integer id="GameColumns">	8		</Integer>

  
  
  <Integer id="CounterFirstLevel"> 2 </Integer>
  
  <Integer id="CounterBase"> 18 </Integer>
  
  <Boolean id="CounterTurnBased"> false </Boolean>
  
  <Integer id="CounterLevelsBetweenChange" > 2 </Integer>
  
  <Integer id="CounterChange"> -1 </Integer>
  
  <Integer id="CounterFirstChangeLevel"> 6 </Integer>
  
  <Integer id="CounterMin"> 10 </Integer>

  
  
  <Integer id="CounterValueFirstLevel"> 2 </Integer>
  
  <Integer id="CounterValueBase"> 15 </Integer>
  
  <Integer id="CounterValueLevelsBetweenChange" > 2 </Integer>
  
  <Integer id="CounterValueChange"> -1 </Integer>
  
  <Integer id="CounterValueFirstChangeLevel"> 4 </Integer>
  
  <Integer id="CounterValueMin"> 8 </Integer>
  
  <Integer id="CounterValueMax"> 20 </Integer>

  


  <Integer id="BadGemsOnBoardMaxFirstLevel"> 1 </Integer>
  
  <Integer id="BadGemsOnBoardMaxBase"> 3 </Integer>
  
  <Integer id="BadGemsOnBoardMaxChange"> 1 </Integer>
  
  <Integer id="BadGemsOnBoardMaxLevelsBetweenChange" > 3 </Integer>
  
  <Integer id="BadGemsOnBoardMaxFirstChangeLevel"> 6 </Integer>

  <Integer id="BadGemsOnBoardMaxMax"> 15 </Integer>

  
  


  <Integer id="LevelUpPointsFirstLevel"> 1 </Integer>

  <Integer id="LevelUpPointsBase"> 2000 </Integer>

  <Integer id="LevelUpPointsChange"> 300 </Integer>




  <Integer id="AmnestyGemCount"> 8 </Integer>

  
  <Integer id="LockGemFirstLevel"> 6 </Integer>
  
  <Integer id="LockGemBase"> 16 </Integer>
  
  <Boolean id="LockGemTurnBased"> true </Boolean>
  
  <Integer id="LockGemLevelsBetweenChange" > 3 </Integer>
  
  <Integer id="LockGemChange"> -1 </Integer>
  
  <Integer id="LockGemMin"> 5 </Integer>
  
  
  
  <Integer id="SkullsFirstLevel"> 9 </Integer>
  
  <Integer id="SkullsBase"> 30 </Integer>
  
  <Boolean id="SkullsTurnBased"> true </Boolean>
  
  <Integer id="SkullsLevelsBetweenChange"> 3 </Integer>
  
  <Integer id="SkullsChange"> -1 </Integer>
  
  <Integer id="SkullsMin"> 10 </Integer>



  <Integer id="DevilFirstLevel"> 12 </Integer>

  <Integer id="DevilBase"> 100 </Integer>

  <Integer id="DevilChange"> -1 </Integer>

  <Boolean id="DevilTurnBased"> false </Boolean>

  <Integer id="DevilLevelsBetweenChange" > 1 </Integer>

  <Integer id="DevilMin"> 20 </Integer>


  <Integer id="DevilValueFirstLevel"> 1 </Integer>

  <Integer id="DevilValueBase"> 10 </Integer>

  <Integer id="DevilValueChange"> -1 </Integer>

  <Integer id="DevilValueLevelsBetweenChange" > 1 </Integer>

  <Integer id="DevilValueMin"> 10 </Integer>

  <Integer id="ModeMultiplier"> 3 </Integer>

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



</Properties>

Diamond Mine Leftovers

<!-- Board.cpp -->
 <String id="EXCELLENT">EXCELLENT!</String>
 <String id="NO_MOVES">NO MOVES!</String>
 <String id="LEVEL">LEVEL %d</String>
 <String id="GO">GO!</String>
 <String id="TIME_UP">TIME UP!</String>
 <String id="GAME_PAUSED">***GAME PAUSED ***</String>
 <String id="CLICK_HERE_TO_CONTINUE">Click Here to Continue!</String>
 
<!-- HighScoreDialog.cpp  --> 
 <String id="HSDLG_HIGH_SCORES">HIGH SCORES</String>
 <String id="HSDLG_DONE">DONE</String>
 <String id="HSDLG_NORMAL">NORMAL</String>
 <String id="HSDLG_TIMED">TIMED</String>
 <String id="HSDLG_TODAYS_HIGH_SCORE">TODAY'S HIGH SCORE</String>
 <String id="HSDLG_EMPTY">- Empty -</String>
 <String id="HSDLG_ALL_TIME_HIGH_SCORES">ALL TIME HIGH SCORES</String>
 
<!-- HighScoreWidget.cpp --> 
 <String id="HSWIDGET_CLICK_HERE_TO_PLAY_AGAIN">CLICK HERE TO PLAY AGAIN</String>
 <String id="HSWIDGET_TIP0">TIP- You can click and drag a gem instead of clicking twice</String>
 <String id="HSWIDGET_TIP1">TIP- Fill the bonus bar to proceed to higher-scoring levels</String>
 <String id="HSWIDGET_TIP2">TIP- Make cascades of chain-reacting gems for extra points</String>
 <String id="HSWIDGET_TIP3">TIP- Create rows of 4 or 5 gems for extra points</String>
 <String id="HSWIDGET_TIP4">TIP- Complete 2 rows with one move for bonus points</String>
 <String id="HSWIDGET_TIP5">TIP- Replenish the bonus bar in Timetrial by scoring combos</String>
 <String id="HSWIDGET_TIP6">TIP- You can click and drag a gem to swap it with another</String>
 <String id="HSWIDGET_TIP7">TIP- Press any key to pause the game in Timetrial mode</String>
 <String id="HSWIDGET_TIP_DEFAULT">TIP- Visit us online at www.popcap.com for more games!</String>
 <String id="HSWIDGET_HIGH_SCORE_OF_THE_DAY_PLACEMENT_PREFIX">You got the highest score of&cr;the day!  For all time, your place was</String>
 <String id="HSWIDGET_HIGH_SCORE_OF_THE_DAY_PLACEMENT_SUFFIX">!&cr;&cr;Would you like to register so&cr;you can record your score?</String>
 <String id="HSWIDGET_HIGH_SCORE_OF_THE_DAY_REGISTRATION_DIALOG">You got the highest score&cr;of the day!&cr;&cr;Would you like to register so&cr;you can record your score?</String>
 <String id="HSWIDGET_HIGH_SCORE_OF_ALL_TIME_REGISTRATION_DIALOG_PREFIX">You got place </String>
 <String id="HSWIDGET_HIGH_SCORE_OF_ALL_TIME_REGISTRATION_DIALOG_SUFFIX">in the All-Time Scores!&cr;&cr;Would you like to register so&cr;you can record your score?</String>
 <String id="HSWIDGET_HIGH_SCORE_OF_ALL_TIME_PLACEMENT_PREFIX">You got the highest score of&cr;the day! In the All-Time Scores, you made place </String>
 <String id="HSWIDGET_HIGH_SCORE_OF_ALL_TIME_PLACEMENT_SUFFIX">!</String>
 <String id="HSWIDGET_BEST_TODAY">You got the highest score&cr;of the day!</String>
 <String id="HSWIDGET_SCORE_PLACEMENT_PREFIX">In the All-Time Scores you made place </String>
 <String id="HSWIDGET_SCORE_PLACEMENT_SUFFIX">!</String>
 <String id="HSWIDGET_GAME_OVER">GAME OVER</String>
 <String id="HSWIDGET_GAME_DURATION">GAME DURATION</String>
 <String id="HSWIDGET_GEMS_CLEARED">GEMS CLEARED</String>
 <String id="HSWIDGET_LONGEST_CASCADE">LONGEST CASCADE</String>
 <String id="HSWIDGET_BEST_SINGLE_MOVE">BEST SINGLE MOVE</String>
 <String id="HSWIDGET_HIGH_SCORES">HIGH SCORES</String>
 <String id="HSWIDGET_NORMAL">NORMAL</String>
 <String id="HSWIDGET_TIMED">TIMED</String>
 <String id="HSWIDGET_TODAYS_HIGH_SCORE">TODAY'S HIGH SCORE</String>
 <String id="HSWIDGET_EMPTY">- Empty -</String>
 <String id="HSWIDGET_ALL_TIME_HIGH_SCORES">ALL TIME HIGH SCORES</String>
 
<!-- OptionsDialog.cpp --> 
 <String id="OPTIONSDLG_OPTIONS">Options</String>
 <String id="OPTIONSDLG_DONE">Done</String>
 <String id="OPTIONSDLG_HELP">Help</String>
 <String id="OPTIONSDLG_REGISTER">Register</String>
 <String id="OPTIONSDLG_HIGH_SCORES">High Scores</String>
 <String id="OPTIONSDLG_CLICK_HERE_TO_TRY_ALCHEMY">Click Here to Try Alchemy</String>
 <String id="OPTIONSDLG_VISIT_POPCAP_FOR_MORE_GAMES">Visit PopCap.com For More Games</String>
 <String id="OPTIONSDLG_CHECK_FOR_UPDATES">Check for Updates</String>
 <String id="OPTIONSDLG_MUSIC">Music</String>
 <String id="OPTIONSDLG_SOUND_FX">Sound Fx</String>
 <String id="OPTIONSDLG_FULLSCREEN">Fullscreen</String>
 <String id="OPTIONSDLG_CUSTOM_CURSORS">Custom Cursors</String>
 
<!-- RecordScoreDialog.cpp --> 
 <String id="RECORDSCOREDLG_HIGH_SCORE">High Score</String>
 <String id="RECORDSCOREDLG_ENTER_YOUR_NAME">Enter Your Name</String>
 
<!-- RegisterDialog.cpp --> 
 <String id="REGISTER_DIAMOND_MINE">REGISTER DIAMOND MINE</String>
 <String id="REGISTER_BEJEWELED">REGISTER BEJEWELED</String>
 <String id="CLICK_HERE_TO_REGISTER_ONLINE">Click here to register online</String>
 <String id="WEB_BROWSER_WILL_OPEN_NOTICE1">Note - This will open a browser window.</String>
 <String id="WEB_BROWSER_WILL_OPEN_NOTICE2">When you have registered, enter your</String>
 <String id="WEB_BROWSER_WILL_OPEN_NOTICE3">registration information below.</String>
 <String id="REGISTERED_NAME">Registered Name</String>
 <String id="LICENSE_CODE">License Code</String>
 
<!-- TitleScreen.cpp --> 
 <String id="YOU_MUST_REG1">You must register online now to continue playing Diamond Mine!</String>
 <String id="YOU_MUST_REG2">You must register online now to continue playing Bejeweled!</String>
 <String id="UNREGISTERED1">UNREGISTERED VERSION - YOU HAVE PLAYED %d TIMES</String>
 <String id="UNREGISTERED2">UNREGISTERED VERSION</String>
 <String id="THANKS_FOR_REGISTERING">THANKS FOR REGISTERING!</String>
 <String id="VERSION">Version</String>
 <String id="CLICK_HERE_TO_PLAY">CLICK HERE TO PLAY!</String>
 <String id="REGISTER_NOW_TO_REMOVE_THIS_DELAY">REGISTER NOW TO REMOVE THIS DELAY!</String>
 <String id="CLICK_HERE_TO_QUIT">CLICK HERE TO QUIT</String>
 <String id="CLICK_HERE_TO_REGISTER_NOW">CLICK HERE TO REGISTER NOW!</String>
 
<!-- WinDMApp.cpp --> 
 <String id="URL_OPEN_ERROR1">Please open the following URL in your browser:&cr;</String>
 <String id="URL_OPEN_ERROR2">&cr;&cr;For your convenience, this URL has already been copied to your clipboard.</String>
 <String id="OPEN_BROWSER">OPEN BROWSER</String>
 <String id="OPENING_BROWSER">Opening Browser ...</String>
 <String id="REGISTRATION_INVALID_DIALOG1">Registration Invalid</String>
 <String id="REGISTRATION_INVALID_DIALOG2">The registration number you entered is not valid for that name.&cr;&cr;Make sure the name and registration number are entered correctly.</String>
 <String id="REGISTRATION_INVALID_DIALOG3">OK</String>
 <String id="HIGH_SCORE">High Score</String>
 <String id="CONFIRM_LOAD_DIALOG1">Continue Old Game?</String>
 <String id="CONFIRM_LOAD_DIALOG2">Do you want to continue your last game? Your position was saved when you quit. If you do not continue now, that game will be lost.</String>
 <String id="UPDATES">Updates</String>
 <String id="DO_YOU_WANT_TO_CHECK_FOR_UPDATES_TO_DIAMOND_MINE">Do you want to check for updates and expansion packs for Diamond Mine 2? </String>
 <String id="DO_YOU_WANT_TO_CHECK_FOR_UPDATES_TO_BEJEWELED">Do you want to check for updates and expansion packs for Bejeweled 2? </String>
 <String id="UPDATES_DESC">New versions may offer new features and bug fixes.  This requires an active Internet connection.</String>
 <String id="NEWGAMEDIALOG1">New Game</String>
 <String id="NEWGAMEDIALOG2">Are you sure you want to end&cr;the current game?</String>
 <String id="CONFIRMNORMALMODE1">Normal Mode</String>
 <String id="CONFIRMNORMALMODE2">You must end the current game&cr;to switch to normal mode. Ok?</String>
 <String id="CONFIRMTIMEDMODE1">Timed Mode</String>
 <String id="CONFIRMTIMEDMODE2">You must end the current game&cr;to switch to timed mode. Ok?</String>
 <String id="CONFIRMQUIT1">Are you sure you want to&cr;quit the game?</String>
 <String id="CONFIRMQUIT2">&cr;&cr;Your current game in progress&cr;will be saved so you can&cr;continue next time.</String>
 <String id="QUIT">Quit</String>
 <String id="INSTRUCTIONDIALOG">Swap adjacent gems to create rows of 3 or more!</String>
 <String id="DONE">DONE</String>
 <String id="COLOR_DEPTH_EXPLANATION1">No Windowed Mode</String>
 <String id="COLOR_DEPTH_EXPLANATION2">Windowed mode is only available if your desktop is running in either 16 bit or 32 bit color mode, which it is not.</String>
 <String id="YOU_HAVE_PLAYED_DIAMOND_MINE_D_TIMES">You have played Diamond Mine %d times!&cr;&cr;</String>
 <String id="YOU_HAVE_PLAYED_BEJEWELLED_D_TIMES">You have played Bejeweled %d times!&cr;&cr;</String>
 <String id="YOU_ARE_A_DIAMOND_MINE_AHOLIC">You are a Diamond Mine-aholic!&cr;&cr;</String>
 <String id="YOU_ARE_A_BEJEWELAHOLIC">You are a Bejewelaholic!&cr;&cr;</String>
 <String id="LOOKS_LIKE_YOU_ARE_ADDICTED">Looks like you are addicted!&cr;&cr;</String>
 <String id="ARE_YOU_GETTING_HOOKED">Are you getting hooked?&cr;&cr;</String>
 <String id="LOADING_NAG">Register online to remove the loading delay and this screen. 
 Registering also unlocks the High Score feature, so you can record your best 
 scores!&cr;&cr;Register now?</String>
 <String id="REGISTER_NOW">Register Now</String>

Unused Challenge Objectives

Matches: Represents the amount of gem matches that need to be made. L and T shaped matches count as two matches in a row and cascades count towards the matches goal.

MaxCascade: This probably is the amount of maximum cascades that are allowed. MaxCascade with the Onemove rule does not display your challenge progression in real time.

LockGems: Represents the amount of Locked Gems that need to be broken.

ShardsLost: This probably was an objective to prevent the player from losing no more than the specified amount of Shards. Since Shards were scrapped from the game, this objective's score always stays at zero.

BiggestMatchColor: Represents the color gem used in the biggest match. If used with Enigma's BiggestMatch and OneMove, the game only registers the highest number of gems in a single match for the specified color. Values range from 0-6 depending on the gem color.

SkullGems: Represents the amount of Skull Gems that need to be destroyed. This objective indeed works, but since Skull Gems crashes the game when matched, this objective can't be fulfilled by normal means.

Level: Represents the amount of levels that need to be advanced. Its value count is locked at 2, and it doesn't correctly work as level up doesn't occur in Challenge Mode.

DevilGems: Represents the amount of Doom Gems that need to be destroyed.

AngelGems: Represents the amount of Angel Gems that need to be cleared. This objective indeed works, but since Angel Gems crashes the game when matched, this objective can't be fulfilled by normal means.

CountdownGems: Represents the amount of Bomb Gems that need to be defused.

FruitGems: Represents the amount of Fruit Gems that need to be cleared. This objective technically works if the player makes changes on the hex values of a challenge planet's save file using HxD or LDinos' Bejeweled Twist Save Editor.

IceGems: Represents the amount of Ice Gems that need to be cleared. This objective properly works if the player makes the necessary alterations on the tutorial.txt and config.xml files.

CONSTANTCOUNTERS: This option forces the game to constantly spawn a Bomb Gem whenever one is defused, just like Chain Reaction Eclipse and Survivor's constantdoom option. There is a chance that this option would work incorrectly, which will spawn Bomb Gem each time the player makes a match, regardless there's Bomb Gem onboard or not.

OrangeGems and PurpleGems: These are the unused gem types in Preserver's challenges. If the Onboard option is enabled, the game correctly displays the gems' color and shapes.

Unused planet textures

Planet inferno

The unused "planet" texture.

Cloud firestorm

The unused "cloud" texture.

Two textures named planet_inferno and cloud_inferno can be found inside the game files. The textures are for a planet meant to represent a challenge called Inferno (according to their names), but no challenge by that name exists in Challenge mode. The textures may have once belonged to the planet that represents the challenge Firestorm, as "Firestorm" and "Inferno" are very close synonyms. However, it is possible that Inferno was an entirely different challenge and not just an "early version" of Firestorm. The sky texture "cloud_inferno" is actually the same "cloud" texture the planet that represents Firestorm uses under a different name.

Inferno Planet

By modifying Challenge mode's XML Document, it is possible to make the unused textures appear in the game as normal (as shown by the image to the left). This can be done by changing the layer0 and layer1 settings of any challenge to planet_inferno and cloud_inferno respectively.

It is worth noting that the challenge Firestorm is known as Inferno in the Italian version of Bejeweled Twist, but the planet that represents the challenge in that version of the game still uses Firestorm's textures.

Chain Reaction's original name

Chain Gang English Title

The unused challenge title.

It seems that the original name of Chain Reaction (one of Challenge mode's challenges) was Chain Gang, according to an unused challenge title found inside the game files. The color of the unused challenge title is pale red, which is the same color as Chain Reaction's challenge title. The theory that Chain Gang was the original name of Chain Reaction is further supported by the fact that the names of the textures used for the planet that represents Chain Reaction in Challenge mode are "planet_chain_gang" and "cloud_chain_gang" respectively.

Chain Gang Planet

By modifying Challenge mode's XML Document, it is possible to make the unused challenge title appear in the game as normal (as shown by the image to the left). This can be done by changing the Category id setting of any challenge to CHAIN_GANG.

Although the challenge title of Chain Gang went unused, it interestingly has different names in other regional versions of Bejeweled Twist (all of which are also unused in their respective version of the game). Featured below are the unused challenge titles in different languages along with English translations of those names.

Language Name Meaning
Japanese チェーンギャング Chain Gang
Spanish Cadena perpetua Life Imprisonment
French Super chaîne Super Chain
German Superkette Super Chain
Italian Supercatena Super Chain
Portuguese Gang da cadeia Chain Gang
Chinese 連鎖群
Liánsuǒ qún
Chain Gang

Locksmith the Planet

Inside the "properties" folder are XML Documents for some of Challenge mode's challenges. Among the XML Documents is one named config_locksmith. Its contents (shown below) include various settings for Locked Gems. Given by the fact that no challenge by the name of Locksmith appears in Challenge mode, it seems that this XML Document belongs to a scrapped challenge and its puzzles would have involved Locked Gems. It is currently unknown if the puzzles of the unused challenge involved clearing Locked Gems within a time limit, a move limit, or even clearing them at all.

<Properties>

  <!--               LOCK GEMS                      -->
  <!-- what is the first level they appear on? -->
  <Integer id="LockGemFirstLevel"> 3 </Integer>

  <!-- what is the value for that first level -->
  <Integer id="LockGemBase"> 5 </Integer>

  <!-- does this value decrement based on turns or gems? -->
  <Boolean id="LockGemTurnBased"> true </Boolean>

  <!-- how many level ups until the value changes -->
  <Integer id="LockGemLevelsBetweenChange" > 3 </Integer>

  <!-- what is the change to the value? -->
  <Integer id="LockGemChange"> -1 </Integer>

  <!-- what is the minimum the value can be? -->
  <Integer id="LockGemMin"> 3 </Integer>


</Properties>

While the XML Document for Locksmith exists, no specific graphics for the unused challenge and no information about any of the challenge's puzzles can be found inside the game files.

By editing Challenge mode's XML Document, it is possible to make Locksmith appear in the game as if it were in the game all along. An example of Locksmith can be found on YouTube [1] and an example configuration can be found on the Locksmith page. 

A different ranking system

Inside the "properties" folder is a Text Document named ranksold. Its contents (shown below) include a list of ranks with number values — ranging from 0 to 8,000,000 — next to each rank. Most of the ranks in this list do not exist in the game, and the ranks that do exist are listed in a different order from that of the actual list of ranks. It seems that the ranks in Bejeweled Twist were originally awarded when enough points of a certain rank were earned, similar to how the ranks are awarded in Bejeweled Blitz and Bejeweled 3.

"Trainee", 0
"Newbie", 50000
"Junior Rotator", 100000
"Rotator", 150000
"Senior Rotator", 200000 
"Electro Spinner", 275000
"Spinner", 350000
"Chain Spinner", 425000
"Blast Spinner", 600000
"Senior Spinner", 800000
"Twister", 1000000
"Pyro Twister",		1250000
"Twister Plus",		1500000
"Master Twister",	1750000
"Cryo Spinner",		2000000
"Junior Gemspinner", 2300000
"Electro Gemspinner", 2600000
"Gemspinner", 2900000
"Pyro Gemspinner", 3500000
"Senior Gemspinner", 4000000
"Divine Spinner", 4500000
"Junior Bejeweler", 5000000
"Electro Bejeweler", 5500000
"Bejeweler", 6000000
"Cryo Bejeweler", 6500000
"Super Rotator", 7000000
"Fruit Spinner", 7500000
"Super Twister", 8000000
"Super Bejeweler", 8000000
"Mega Rotator", 8000000
"Mega Spinner", 8000000
"Pyro Twister", 8000000
"Mega Bejeweler", 8000000
"Pyro Rotator", 8000000
"Angelic Twister", 8000000
"Ultra Spinner", 8000000
"Ultra Twister", 8000000
"Ultra Bejeweler", 8000000
"Hyper Rotator", 8000000
"Hyper Spinner", 8000000
"Hyper Twister", 8000000
"Shock Bejeweler", 8000000
"Twistmaster", 8000000
"Twistmaster Plus", 8000000
"Super Twistmaster", 8000000
"Twistmaster Mega", 8000000
"Twistmaster Enduro", 8000000
"Twistmaster Ultra", 8000000
"Twistmaster Hyper", 8000000
"Twistmaster Giga", 8000000
"Twistmaster Supreme", 8000000
"Twistwizard Alpha", 8000000
"Twistwizard Beta", 8000000
"Twistwizard Delta", 8000000
"Twistwizard Omega", 8000000
"Twistwizard Supreme", 8000000
"Junior Spinmaster", 8000000
"Cryo Fruitmaster", 8000000
"Pyro Fruitmaster", 8000000
"Spinmaster Supreme", 8000000
"Jewelkeeper 3rd class", 8000000
"Jewelkeeper 2nd class", 8000000
"Jewelkeeper 1st class", 8000000
"Master Jewelkeeper", 8000000
"Junior Gemmaster", 8000000
"Gemmaster", 8000000
"Senior Gemmaster", 8000000
"Gemmaster Supreme", 8000000
"Twist Hero", 8000000
"Super Twist Hero", 8000000
"Mega Twist Hero", 8000000
"Ultra Twist Hero", 8000000
"Hyper Twist Hero", 8000000
"Ultimate Twist Hero",8000000
"Twist Hero Supreme", 8000000
"Overlord of Twisting", 8000000
"Sultan of Spin", 8000000
"Gem General", 8000000
"Gem King", 8000000
"Ultimate Gem Master", 8000000
"Gem Master Supreme", 8000000

It is worth noting that some of the ranks in the unused Text Document include names such as "Cryo Bejeweler" and "Angelic Twister", which may be possible references to the unused Ice Gem and Angel Gem, similar to how some of the actual ranks in Bejeweled Twist include names such as "Flame Spinner" and "Lightning Weaver", which are most likely references to the Flame Gem and Lightning Gem respectively.

It is also worth noting that this Text Document exists only in the English version of Bejeweled Twist; it cannot be found in other regional versions of the game.

Closer inspection reveals that the unused Text Document was modified at an earlier date compared to the rest of the documents in the "properties" folder. The unused Text Document was last modified in January 2008, while the rest of the documents were modified in October of that same year.

References

Advertisement