Tetris Zone
| Tetris Zone | |
|---|---|
Tetris Zone icon | |
| Developer(s) | Blue Planet Software |
| Publisher(s) | Blue Planet Software |
| Platform(s) | Windows, Mac OS X |
| Release |
|
| Gameplay info | |
| Next pieces | 3 |
| Playfield size | 10 × 20 |
| Hold piece | Yes, with IHS |
| Hard drop | Yes |
| Rotation system | SRS |
Tetris Zone was an official Tetris game for Mac OS X and was released as an Universal Binary (for Intel- and PPC-Macs). A Windows version is also available. In 2014, the official website was merged with Tetris (tetris.com).
Gameplay
Tetris Zone features the standard Guideline ruleset for gameplay, with several minor differences compared to other modern Tetris games:
- IRS and IHS are available.
- ARE is present in all modes except Sprint.
- T-Spin Triples are classified as normal Triple line clears instead.
Modes
Marathon
Standard variable-goal Marathon mode. Clear 15 levels to complete the stage.
Challenge
A longer and more complex variant of Ultra mode. The player is given 10 minutes to score as many points as possible; however, the mode also uses the variable-goal level system. Each level must be completed within 2 minutes; when the timer runs out per level, the goal counter resets. The game ends after playing 10 minutes or reaching Level 31.
Sprint
Standard 40 lines time attack mode.
Master
Fixed-goal Marathon mode with 20G gravity throughout; the player must clear 200 lines to complete the stage. ARE, lock delay, and line clear delay decreases per level.
"bpr" File Hacking
In PC version, inside the "rsrc/GFX" and "rsrc/TPF" directory, you'll see many "bpr" files. These files are encrypted in very simple format. The following simple C source code encrypts/decrypts these files.
/* A simple C source code that encrypts and decrypts bpr file */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Globals */
unsigned char *fileBuf; // File buffer
unsigned long fileSize; // File size
/* Prototypes */
int main(int argc, char *argv[]);
int loadFile(char *filename);
/* Main function */
int main(int argc, char *argv[]) {
int i;
FILE *fp;
// Show usage
if(argc < 3) {
printf("Usage: %s [In] [Out]\n", argv[0]);
return 1;
}
// Load a file
if(!loadFile(argv[1])) {
printf("Couldn't load from %s\n", argv[1]);
return 2;
}
// Encrypt/Decrypt
for(i = 0; i < fileSize; i++) {
fileBuf[i] = 0xFF - fileBuf[i];
}
// Write
fp = fopen(argv[2], "wb");
if(!fp) {
printf("Couldn't write to %s\n", argv[2]);
return 3;
}
fwrite(fileBuf, fileSize, 1, fp);
fclose(fp);
// Done
printf("Done\n");
return 0;
}
/* Load a file */
int loadFile(char *filename) {
FILE *fp;
// Open
fp = fopen(filename, "rb");
if(!fp) return 0; // Fail
// Get size
fseek(fp, 0, SEEK_END);
fileSize = ftell(fp);
fseek(fp, 0, SEEK_SET);
// Allocate
fileBuf = (unsigned char *)malloc(fileSize);
// Read
fread(fileBuf, fileSize, 1, fp);
// Close
fclose(fp);
// Done
return 1;
}
GFX subdirectory contains all graphics, and they are stored in BMP format.
TPF subdirectory contains "TPF" files for all four modes. This game uses TPF file to define some game mechanisms. TPF resembles to "TWS" (Tetris Worlds Script) file, but it comes in almost already-compiled format so only runtime-scripts are in raw text.
Controls
Tetris Zone features full keyboard input rebinding. Mouse unsupported.
External links
| ||||||||||||||