We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Zuma Deluxe (Windows, Mac OS X)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Zuma Deluxe

Developer: PopCap Games
Publisher: PopCap Games
Platforms: Windows, Mac OS X
Released internationally: December 12, 2003


SourceIcon.png This game has uncompiled source code.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
RegionIcon.png This game has regional differences.


Cactus 2.0!
This article has just been started and needs the article basics added.
Help us out and add them.

Zuma Deluxe is a ball shooter puzzle game developed by PopCap.

Developer leftovers

CVS directories

Multilingual distributions for the game on PopCap.com/depots on Steam have leftover CVS directories from version control for each level in the levels directory, only Entries.extra files have readable data, being just the location of the files.

Source code

The Mac OS X version of the game (beyond March 31 2005) left over some (but not all) source header files and a precompiled header file in the sounds directory, how exactly the developers did such a mistake is better a unsolved mystery. Oddly enough the Zuma.rsrc file in the folder does not even mention Zuma in any way, but instead mentions Bejeweled 2, a title that wasn't even known until a year after.

Download.png Download Zuma (Mac OS X) Source files
File: ZumaMacOSX_SourceFiles.zip (15,471 KB) (info)

PAK Support

The game's executable has full support for loading from a main.pak, unfortunately, PopCap never released a version of the game using one and the game does not read the music directory in a PAK and the game crashes when attempting to read the levels directory in that fashion.

Unused levels.xml Settings

Hmmm...
To do:
Figure out slowspeed.

At offset 0030C3F0 in the exe file you can find a bunch of settings that are used for the levels.xml file. Some of these being unused.

Every setting here needs to be added manually (with code blocks to help you where to place them).

slowspeed   
slowfactor  
slowdistance    
danger  
mergespeed  
single  
repeat  
backfreq    
accfreq 
slowfreq    
bombfreq    
accrate 
skullrot    
score   
balls   
colors  
start   
maxspeed    
speed   
destroyall  
drawtunnels 
drawcurve   
curvecolor  
curve3  
curve2  
curve1  
curve   
powerfreq   
partime 
treasurefreq    
huerot  
reloaddelay 
firespeed

Debug Display

Zuma Deluxe Debug.png

Adding the drawtunnels property draws thick translucent lines that follow the path's tunnels. Adding the drawcurve property draws a line(s) of the path(s), and the color changes every level session.

<Graphics id="underover" curve="underover" image="underover" dispname="Mud Slide" gx="334" gy="247" drawtunnels="true" drawcurve="true">
	<Cutout image="left" pri="1" x="0" y="118" />
	<Cutout image="right" pri="1" x="311" y="0" />  
	<TreasurePoint x="76" y="431" dist1="32" />
	<TreasurePoint x="590" y="437" dist1="50" />
	<TreasurePoint x="584" y="100" dist1="60" />
</Graphics>

Powerup Frequencies

ZumaDeluxe VeryAccurate.png

Aside from powerfreq which determines how frequently a powerup appears, accfreq (Accuracy ball), backfreq (Backwards ball), bombfreq (Bomb) and slowfreq (Slowdown ball) are in the game's code and determines how accuracy/backwards/bomb/slowdown frequently appear more than other powerups. The lower the count (all 5 freq properties), the more frequent powerups spawn.

<Settings id="lvl11" speed=".5"  start="35"  score="1000" repeat="40" accfreq="1000"/>

Longer/Shorter Danger Zone Radius

ZumaDeluxe Dangerous.png

Adding the danger property allows you to edit the radius of the danger zone. The higher the count, the further the radius.

<Graphics id="spiral" curve="spiral" image="spiral" dispname="Spiral of Doom" gx="327" gy="233" drawtunnels="true" drawcurve="true" danger="10000">
	<TreasurePoint x="574" y="403" dist1="0" />
	<TreasurePoint x="75" y="400" dist1="30" />
	<TreasurePoint x="71" y="93" dist1="40" />
</Graphics>

Ball Count

ZumaDeluxe Balls.png

Adding the balls property sets the exact ball count. Completing a level with limited balls without the win condition (the number of points to fill the gauge) fulfilled wins the level regardless if the gauge was filled or not. Negative values give you an instant win.

<Settings id="lvl11" speed=".5" start="35"  score="1000" balls="2"/>

Destroy All Balls

ZumaDeluxe Destroyall.png

Adding the destroyall property (any value, including 0 and negatives) will destroy all balls in screen once the gauge has been filled.

<Settings id="lvl11" speed=".5" start="35" score="1000" destroyall="1"/>

Coin Frequency

Adding the treasurefreq property determines the chance of a coin appearing. This property uses division, and the value is the divisor (2nd number), meaning 0 as the value crashes the game because it's attempting to divide by zero. The first number (dividend) is unknown. The lesser the value, the higher chance a coin appears.

<Settings id="lvl11" speed=".5" start="35" score="1000" treasurefreq="1"/>

Acceleration Rate

Adding the accrate property (not to be confused with accfreq, which determines accuracy powerup frequency) determines the acceleration rate. Negative values freeze the balls after rolling. If the acceleration rate is in a negative value and the gauge is filled, all of the balls will roll backwards one by one.

<Settings id="lvl11" speed=".5" start="35" score="1000" treasurefreq="1"/>

Unused Text

Ribbit.
(I will fulfill the prophecy.)

Ribbit.  
(I shall never give up.)

At offset 0030CCC2 in the exe file there is some unused text. This was supposed to be on two CONGRATULATIONS! screens, but they were never added.

Regional Differences

In non-English versions of Zuma, some of the assets have been changed. French is used here for comparison.

Gauntlet Screen

The English version has text in all of the three buttons (more precisely "BACK", "PLAY" and "NEXT"), while in the French version, only "PLAY" has text and is wider.

French English
ZumaDeluxe French.png ZumaDeluxe EnglishGauntlet.png

Japanese Version

The Japanese version of Zuma Deluxe has the Random level locked. Furthermore, the "Locked" text layer is below the red gradient.

Japanese English (and other languages)
ZD Japanese Gauntlet.png ZD EnglishGauntlet 2.png

Furthermore, the texts below "ガントレット" (Gauntlet) that change depending on the level and mode selected (Locked, Random, etc) are images instead of strings.

Main Menu

The English version has "MORE GAMES" and "QUIT" into two squares, while the French version has both buttons in a rectangle.

French English
ZumaDeluxe FrenchMenu.png ZumaDeluxe EnglishMenu.png

HUD and Fonts

The French version of NativeAlien48 is more glossy, no font spacing after breaks, and some fonts are "flat".

French English
ZumaDeluxe FrenchStart.png ZumaDeluxe EnglishStart.png

Internal project name

When looking at source directories, the name appears to be CircleShoot.