view README.html @ 3:17286938e22a

change DS alt. rotate key to rotate twice
author paulo@localhost
date Wed, 08 Apr 2009 21:50:13 -0700
parents
children
line source
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html lang="en">
3 <head>
4 <title>LOCKJAW - About</title>
5 <link rel="stylesheet" type="text/css" href="docs/ljhtml.css">
6 <link rel="icon" href="docs/appicon.ico" type="image/x-icon">
7 <link rel="shortcut icon" href="docs/appicon.ico" type="image/x-icon">
8 <meta http-equiv="Content-type" content="text/html;charset=iso-8859-1">
9 </head><body>
10 <h1><img src="docs/ljlogo192.png" alt="LOCKJAW Tetromino Game:"> About</h1>
11 <ul id="linkbar">
12 <li><a href="http://www.pineight.com/lj/">Home</a></li>
13 <li>About</li>
14 <li><a href="http://www.pineight.com/lj/dl">Download</a></li>
15 </ul>
16 <div id="content">
17 <p>
18 <a href="#installing">Installing</a> | <a href="#skin">Skinning</a> | <a href="#controls">Controls</a> | <a href="#scoring">Scoring</a> | <a href="#scenario">Scenario</a> | <a href="#options">Options</a> | <a href="#discussion">Discussion</a> | <a href="#legal">Legal</a>
19 </p><p>
20 LOCKJAW is a <a href="http://www.gnu.org/philosophy/free-sw.html">free software</a> implementation of the so-called Soviet Mind Game, a highly popular computer puzzle game that involves guiding tetrominoes into neat stacks in a well. This game was designed in the mid-1980s by Russian game designer Alexey Pajitnov and was first implemented in a software product called <a href="http://en.wikipedia.org/wiki/Tetris">TETRIS</a>&reg;.<a href="#trademarks">*</a> Other products implementing the Soviet Mind Game include
21 <a href="http://quadra.sourceforge.net/">Quadra</a>,
22 <a href="http://abrick.sourceforge.net/">Abandoned Bricks</a>,
23 <a href="http://ksirtet.sourceforge.net/">KSirtet</a>,
24 <a href="http://fbg.sourceforge.net/">F.B.G.</a>,
25 <a href="http://www.neave.com/games/nblox/">N-Blox</a>, and
26 <a href="http://www.tetrisconcept.com/forum/viewtopic.php?t=54">Heboris</a>. While originally developed to parody the behavior of a few notorious implementations of the Soviet Mind Game, LOCKJAW is now a platform for research into the properties of the game, into the effects of rule variations, and into the capabilities of the human mind to react.
27 </p><p>
28 <a href="http://en.wikipedia.org/wiki/Tetromino">Tetrominoes</a> are geometric shapes made of four connected square blocks. There are seven distinct tetrominoes, shaped roughly like letters of the Latin alphabet:
29 </p><p>
30 <img src="docs/ijlo-stz.png" alt="(Illustration of the seven tetrominoes)"><br>
31 Tetrominoes. Top row: I, J, L, O. Bottom row: S, T, Z.
32 </p><p style="size: 80%">
33 Some products spell the term as "tetramino", "tetrimino", or "tetrad".
34 </p>
35 <div class="screenshot">
36 <img src="docs/ljsnap033.png" alt="(Game screenshot)" width="400" height="300" usemap="#ljsnap018_map">
37 <p>
38 LOCKJAW gameplay screen. Hover over objects to see their names.
39 </p>
40 <map name="ljsnap018_map">
41 <area shape="rect" coords="12,12,48,36" alt="Hold piece" title="Hold piece" style="border: 1px solid white">
42 <area shape="rect" coords="48,0,192,36" alt="Status" title="Status">
43 <area shape="rect" coords="96,48,132,108" alt="Falling piece" title="Falling piece">
44 <area shape="rect" coords="96,168,132,216" alt="Shadow" title="Shadow">
45 <area shape="rect" coords="12,36,132,276" alt="Well" title="Well">
46 <area shape="rect" coords="36,276,108,300" alt="Game mode" title="Game mode">
47 <area shape="rect" coords="144,36,192,252" alt="Next pieces" title="Next pieces">
48 <area shape="rect" coords="216,60,360,240" alt="Gus" title="Gus">
49 </map>
50 </div>
52 <p>
53 The well is 10 blocks wide by 20 rows high. (There are four out-of-bounds rows above the top of the visible portion for a total of 24 rows.) The player can rotate and shift the tetrominoes as they fall in order to pack them tightly into the well. If a tetromino lands on the floor or other blocks and remains motionless for half a second, it locks into place, and the next tetromino begins to fall. The next few tetrominoes to fall are displayed in a queue to the right of the playfield. At any time, the player can swap the falling tetromino with the one in the hold box above the playfield, but a tetromino that has been swapped out cannot be immediately swapped back in. The gray blocks below the falling tetromino are the shadow, which shows where the tetromino will land.
54 </p><p>
55 A "line", or a complete row of blocks across the well, will disappear, and everything above it moves down by one row. But if the well fills so high that a tetromino is placed entirely out of bounds or in a position such that the next tetromino does not have room to enter, the player "tops out" and the game is over. So the goal is to stay alive by making more lines.
56 </p>
58 <h2><a name="installing">Installing</a></h2>
59 <p>
60 The executable included with the official distribution is designed for Microsoft Windows systems. Unzip it into a folder on your hard disk or USB memory card. It ordinarily writes preferences and logs to the current directory, which is most often the folder containing <code>lj.exe</code>. (If you do not want to allow users to write to the program's folder, place an empty file called <code>installed.ini</code> in the same folder as <code>lj.exe</code>. This will make Game Keys and Options write settings to the user's application data folder, commonly <code>C:\Documents and Settings\Gus\Application Data\Pin Eight\Lockjaw</code>.)
61 </p><p>
62 The files <code>lj.exe</code>, <code>lj.dat</code>, <code>ljblocks.bmp</code>, and <code>alleg42.dll</code> are required to play. (If you get an error about <code>alleg42.dll</code>, see the instructions on the LOCKJAW download page.) To start the game, run <code>lj.exe</code> in Windows Explorer.
63 </p><p>
64 The program should work on any PC running Microsoft Windows 98 or newer operating system with an 800x600 pixel display at 16-bit or greater color depth and DirectX 7 software installed.
65 Its source code is portable to any platform that supports the <a href="http://alleg.sourceforge.net/">Allegro library</a>, but it is tested only on Microsoft Windows because the author has access only to machines that run Windows.
66 Occasionally, people manage to build and run it on other operating systems such as GNU/Linux or Mac OS X; if you are willing to maintain a port, <a href="http://www.pineight.com/contact/">get in touch with the author</a>.
67 </p><p>
68 For the handheld version, you only need the file <code>lj.gba</code> or <code>lj.nds</code>. Due to limitations in the DS homebrew operating system, the DS version always acts installed, writing user files to the folder <code>/data/lockjaw</code> on the memory card.
69 </p><p>
71 <h3>Installing from source</h3>
72 <p>
73 To recompile the program, such as if you are testing a patch or porting it to another system:
74 </p><ol>
75 <li>Install GNU Coreutils and GNU Make. These are packaged as MSYS from <a href="http://www.mingw.org/MinGWiki/index.php/GettingStarted">MinGW.org</a></li>
76 <li>Install a GCC toolchain. This is packaged as MinGW from <a href="http://www.mingw.org/MinGWiki/index.php/GettingStarted">MinGW.org</a></li>
77 <li>Install Allegro 4.2.1 from <a href="http://alleg.sourceforge.net/">SourceForge.net</a></li>
78 <li>Install JPGalleg 2.5 from <a href="http://www.ecplusplus.com/index.php?page=projects&amp;pid=1">Enhanced Creations++</a></li>
79 <li>Install DUMB 0.9.3 from <a href="http://dumb.sourceforge.net/">SourceForge.net</a><br >
80 (Editor's note: DUMB has a dumb license, but section 6 allows relicensing under GNU GPL. Update: It appears <a href="http://packages.debian.org/changelogs/pool/main/libd/libdumb/libdumb_0.9.3-5/libaldmb1.copyright">Debian got the author to relicense it under a straight zlib style license</a>.)</li>
81 <li>Open a command prompt and <kbd>cd</kbd> to the folder containing the file <code>makefile</code></li>
82 <li>Type <code>make</code></li>
83 </ol><p>
84 Lardarse has written a detailed guide of how to recompile the program on Microsoft Windows OS. This guide is included with the source code inside the "docs" folder.
85 </p><p>
86 To recompile the program for Game Boy Advance or Nintendo DS:
87 </p><ol>
88 <li>Install devkitARM, libgba, libnds, and MSYS using devkitPro Updater at <a href="http://www.devkitpro.org/">devkitPro.org</a>.</li>
89 <li>Install a GCC toolchain, such as MinGW from <a href="http://www.mingw.org/MinGWiki/index.php/GettingStarted">MinGW.org</a></li>
90 <li>Open a command prompt and <kbd>cd</kbd> to the folder containing the file <code>gbamakefile</code> or <code>dsmakefile</code></li>
91 <li>Type <code>make -f gbamakefile</code> or <code>make -f dsmakefile</code></li>
92 </ol><p>
93 To recompile all three ports, type <code>make all</code>
94 </p><p>
95 TIP: On GNU/Linux, Windows, and several other platforms, GNU Make can compile multiple files in parallel. This can speed up a large rebuild by allowing GCC to compile one file while reading another from disk. Add <code>-j2</code> to the end of a Make command line to compile two files at once, or if you have a dual-core CPU, add <code>-j3</code> to have GCC run one core, the other core, and the disk at the same time.
96 </p>
98 <h2><a name="skin">Skinning</a></h2>
99 <p>
100 You can customize the appearance of LOCKJAW Tetromino Game for PC by using Notepad or any other text editor to create a skin description that lists the images that shall be used. This skin description should be placed in a text file whose name ends in <code>.skin</code>. (You can create and edit <code>.ini</code> and <code>.skin</code> files using Notepad, Notepad++, vi, Emacs, or any other plain text editor.) LOCKJAW recognizes the following commands in a skin description:
101 </p><dl>
102 <dt><code>ljblocksSRS=<i>image</i></code></dt>
103 <dd>A grid of block images, used in bounding-box rotation systems (SRS and TOD M4). The image's size size should be 8 columns by 4 rows (usually 192x96 pixels) or 8 columns by 6 rows (usually 192x144 pixels). Rows 1 and 2 are for blocks in the well, and rows 3 and 4 are for the falling piece. If rows 5 and 6 are present, the shadow will use those; otherwise, it will use rows 3 and 4. If <tt>blkW</tt> or <tt>blkH</tt> is present, the program uses that size instead of 24x24.</dd>
104 <dt><code>ljblocksSega=<i>image</i></code></dt>
105 <dd>Same as <code>ljblocksSRS</code>, but used in other rotation systems.</dd>
106 <dt><code>ljconnSRS=<i>image</i></code></dt>
107 <dd>An image 8 rows and 8 columns in size (usually 192x192 pixels), containing an O tetromino of each color. The skin loader cuts this up to form tetrominoes with the blocks drawn connected, used for blocks in the well and the falling piece (not the shadow or empty areas of the well) in bounding-box rotation systems. If this file is not present, <code>ljblocksSRS</code> will be used instead.</dd>
108 <dt><code>ljconnSega=<i>image</i></code>
109 <dd>Same as <code>ljconnSRS</code>, but used in other rotation systems. If this file is not present, <code>ljblocksSega</code> will be used instead.</dd>
110 <dt><code>color=<i>#RRGGBB</i></code></dt>
111 <dd>A 3- or 6-digit hexadecimal color (e.g. <code>#ABC</code> or <code>#D0FFE3</code>) for text in the menus and during the game. If not present, the game will use black.</dd>
112 <dt><code>bgcolor=<i>#RRGGBB</i></code></dt>
113 <dd>A color for the menus' background. If not present, the game will use white.</dd>
114 <dt><code>hilitecolor=<i>#RRGGBB</i></code></dt>
115 <dd>A color for the background of highlighted text. If not present, the game will use pale yellow (#FFC).</dd>
116 <dt><code>pfcolor=<i>#RRGGBB</i></code></dt>
117 <dd>A color for text in front of the playfield. If not present, the game will use white.</dd>
118 <dt><code>pfbgcolor=<i>#RRGGBB</i></code></dt>
119 <dd>An "average" color for the playfield, to be displayed behind the pause screen and during the game over animation. If not present, the game will use black.</dd>
120 <dt><code>ljbg=<i>#RRGGBB</i></code></dt>
121 <dd>An 800x600 pixel image to be displayed behind the game. If this file is not 800x600 pixels, the image will be resized (sloppily) after being loaded. If this file is not present, the game will use a plain backdrop of the same color as <code>bgcolor</code>.</dd>
122 <dt><code>blkW=<i>length</i></code></dt>
123 <dd>The width in pixels of each block in the <tt>ljblocks</tt> and <tt>ljconn</tt>, if it is not 24 pixels.</dd>
124 <dt><code>blkH=<i>length</i></code></dt>
125 <dd>The height in pixels of each block in the <tt>ljblocks</tt> and <tt>ljconn</tt>, if it is not 24 pixels. This is allowed to differ from <code>blkW</code></dd>
126 <dt><code>transparentPF=<i>boolean</i></code></dt>
127 <dd>If this is set to the value 0, tile 0 of <code>ljblocksSRS</code> covers up the background within the playfield. If this is set to nonzero, the playfield background shows through.</dd>
128 <dt><code>bgm=<i>music file</i></code></dt>
129 <dd>A music file in Vorbis format (<code>.ogg</code>) or tracker format (<code>.mod</code>, <code>.s3m</code>, <code>.xm</code>, or <code>.it</code>) to be played during the game. You can create Vorbis format files by extracting audio from your CDs to <code>.wav</code> format using <a href="http://sourceforge.net/projects/cdexos/">CDex software</a> and converting them with <a href="http://www.rarewares.org/ogg.html">OggDropXPd software</a>. You can download tracker format files from <a href="http://www.modarchive.com/">The Mod Archive</a> or create them yourself using the <a href="http://lpchip.com/modplug/viewtopic.php?t=18">OpenMPT music editor</a>, the continuation of MODPlug Tracker. If this file is not present, the game will not play music.</dd>
130 <dt><code>bgmLoopPoint=<i>sampleNumber</i></code></dt>
131 <dd>For music in Vorbis format, sets the sample at which playback restarts once the music file ends. For example, if your .ogg file is 44100 Hz, 441000 represents rewinding to 10 seconds after the start. Has no effect with tracker format music, which specifies its own loop point, or Rhythm speed curve, whose music isn't supposed to loop anyway.</dd>
132 <dt><code>bgmRhythm=<i>music file</i></code></dt>
133 <dd>Like <code>bgm</code>, but used in the Rhythm speed curve. Music tempo should have 64 beats of 60 BPM, 64 beats of 70 BPM, 64 beats of 80 BPM, etc.</dd>
134 <dt><code>bgmReadyGo=<i>Boolean</i></code></dt>
135 <dd>If this is set to the value 0, the background music starts after the "Ready Go" sequence. within the playfield. this is set to nonzero, the background music plays during the "Ready Go" sequence.</dd>
136 <dt><code>bgmVolume=<i>volume</i></code></dt>
137 <dd>Sets the volume of the music to balance it against the sound effects, where 256 is full volume. If not specified, uses 128; 1 <abbr title="decibel">dB</abbr> louder than this would be 144.</dd>
138 <dt><code>shiftScale=<i>Boolean</i></code></dt>
139 <dd>When set to 1, moving the falling piece sideways produces sound at a different pitch based on how far the piece is from the left side. (PC version only)</dd>
140 <dt>baseX=<i>distance</i></dt>
141 <dd>This moves all gameplay graphics to the left (0), middle (200), or right (400) of the screen.</dd>
142 <dt>nextPos=<i>style number</i></dt>
143 <dd>Controls where the next tetrominoes are displayed. Up to eight can fit to the right of the well, or up to 3 can fit above the well. A value of 0 places the pieces on the right; 2 places them on the top.</dd>
144 <dt><code>wndW=<i>length</i></code></dt>
145 <dd>Sets the width of the game window in pixels.</dd>
146 <dt><code>wndH=<i>length</i></code></dt>
147 <dd>Sets the height of the game window in pixels.</dd>
148 </dl><p>
149 You can create more than one skin description file and then switch among them by using the "Skin..." command at the main menu, which produces the following command in <code>lj.ini</code>:
150 </p><dl>
151 <dt><code>Skin=<i>skin description file</i></code></dt>
152 <dd>A skin description file. If the skin is not present, the game uses preset file names (<code>ljblocks.bmp</code>, <code>ljblocks-sega.bmp</code>, <code>ljconn.bmp</code>, <code>ljconn-sega.bmp</code>, <code>ljbg.jpg</code>, and <code>bgm.s3m</code>).</dd>
153 </dl><p>
154 Images can be in Windows bitmap (<code>.bmp</code>), PC-Paintbrush (<code>.pcx</code>), Truevision TGA (<code>.tga</code>), or JFIF/JPEG (<code>.jpg</code>) format. All color depths should be supported. Paths are interpreted relative to the folder containing the <code>.skin</code> file, that is, specifying <code>ljblocksSega=Gradient Blocks.bmp</code> will try to pull <code>Gradient Blocks.bmp</code> from the skin's folder. If you want to create a folder structure inside your skin package, it is best to use forward slashes (<code>'/'</code>) instead of backslashes (<code>'\'</code>) so that users of Mac OS X and GNU/Linux will be able to use your skin.
155 </p><p>
156 Example image and sound files are located in <code>lj-contrib.zip</code>, available from the <a href="http://www.pineight.com/lj/dl#contrib">Skins section of the download page</a>. You can also customize the sound effects by using <a href="http://www.allegro.cc/depot/Grabber/">Allegro Grabber software</a> to edit <code>lj.dat</code>.
157 </p>
159 <h2><a name="controls">Controls</a></h2>
160 <h3>PC</h3>
161 <p>
162 The controls in LOCKJAW Tetromino Game for PC are initially set as follows:
163 </p>
164 <dl>
165 <dt>&larr; Shift left</dt><dd>Left arrow key</dd>
166 <dt>&rarr; Shift right</dt><dd>Right arrow key</dd>
167 <dt>&darr; Soft drop</dt><dd>Down arrow key</dd>
168 <dt><u>&darr;</u> Hard drop</dt><dd>Up arrow key</dd>
169 <dt>&#8624; Rotate left</dt><dd>Z, C</dd>
170 <dt>&#8625; Rotate right</dt><dd>X</dd>
171 <dt>&#8630; Rotate twice</dt><dd>W</dd>
172 <dt>&#8598; Hold piece</dt><dd>S, D</dd>
173 <dt>&#8676; Shift far left</dt><dd>Q</dd>
174 <dt>&#8677; Shift far right</dt><dd>E</dd>
175 <dt><u>&darr;</u> Firm drop</dt><dd>Enter</dd>
176 </dl><p>
177 Controls are configurable to the keyboard or any compatible joystick. (The key labeled "Item" is not used in single-player, and there is no multiplayer yet.) From the main menu, choose "Game Keys..." and then press the keys in order as prompted. If you don't want to bind a key or button to a given function, press a key that you won't use. The key bindings are saved to the file <code>lj-keys.043</code>; if they become unusable, you can delete this file to reset them to the initial settings.
178 </p><p>
179 Some controls during game play are hard-coded to keyboard keys:
180 </p><ul>
181 <li>Esc pauses and resumes the game. Holding Esc for one second stops the game and goes to a result screen.</li>
182 <li>[ (left bracket) starts and stops demo recording, and ] (right bracket) starts and stops demo playback. An icon for stop, record, or play appears in the upper left corner of the window. The demo is saved to a file called <code>demo.ljm</code>. <strong>Caution:</strong> Demos recorded on one version of LOCKJAW may not play correctly on another version. Recording another demo will overwrite the last demo, so make sure to rename the demo when you record a good one.</li>
183 </ul><p>
184 In the menus, Esc acts as Rotate Left, and Enter acts as Rotate Right. In all screens, Print Screen (F13) saves a copy of the display to the file <code>ljsnap.bmp</code>.
185 </p>
187 <h3>GBA and DS</h3>
188 <p>
189 Controls in the Game Boy Advance and Nintendo DS versions are hardcoded as follows:
190 </p><dl>
191 <dt>&larr; Shift left</dt><dd>Left on Control Pad</dd>
192 <dt>&rarr; Shift right</dt><dd>Right on Control Pad</dd>
193 <dt>&darr; Soft drop</dt><dd>Down on Control Pad</dd>
194 <dt><u>&darr;</u> Hard drop</dt><dd>Up on Control Pad</dd>
195 <dt>&#8624; Rotate left</dt><dd>B Button</dd>
196 <dt>&#8625; Rotate right</dt><dd>A Button</dd>
197 <dt>&#8598; Hold piece</dt><dd>L Button</dd>
198 </dl><p>
199 In the options menu, the B and A Buttons change screens, and the Start Button starts the game. Pressing A on the last screen of options also starts the game. Start pauses and resumes the game.
200 </p>
202 <h3>Movement features</h3>
203 <p>
204 Unlike some other <abbr title="Soviet Mind Game">S.M.G.</abbr> implementations, LOCKJAW features Initial Actions. Holding a rotate button while a tetromino enters the playfield will cause the action to be performed the moment the tetromino enters. This is important for fast play. In addition, the hold key works at any time; if a piece is not falling yet, it will swap the hold piece with the next piece.
205 </p><p>
206 LOCKJAW also implements the so-called <a href="http://www.tetrisconcept.com/wiki/index.php?title=SRS">Super Rotation System (SRS)</a>, which allows a tetromino to rotate around obstacles for more mobility across the pile. Some players abuse SRS by <a href="http://infinitespin.ytmnd.com/">rotating a piece in place repeatedly</a>, but this will result in poorer scores in timed gimmicks. To replace this behavior with the "Sega style" behavior used in Arika's <i>Tetris The Grand Master 3: Terror-Instinct</i>, change the <a href="#options">Options described below</a>.
207 </p>
209 <h2><a name="scoring">Scoring</a></h2>
210 <p>
211 LOCKJAW Tetromino Game allows the player to choose among several methods of calculating the score for a line clear.
212 The terms "single", "double", "triple", and "home run" refer to clearing 1, 2, 3, or 4 lines with one tetromino.
213 (A "home run" is called a "tetris" in some other games.)
214 "T-spin" means rotating a T piece as it lands to fit into a tight space.
215 </p><p>
216 In LJ and TDS, making a bonus line clear when your last line clear was also bonus ("back-to-back homer" or "back-to-back T-spin") will produce extra points. Making a T-spin that does not clear a line has no effect on bonus state.
217 </p>
219 <h3>LJ</h3>
220 <p>
221 As you clear lines, you also produce garbage that depends on the number of lines that you clear with a single tetromino. In single player mode, you earn 100 points per line cleared and 200 points per line of garbage, and in multiplayer mode (which is not yet implemented), the garbage will push up the blocks in another player's well.
222 </p>
223 <table summary="first row: column headings">
224 <caption>LJ scoring method</caption>
225 <thead>
226 <tr><th> </th><th>Lines</th><th>Garbage</th><th>Score</th><th>Bonus</th></tr>
227 </thead><tbody>
228 <tr><td>1 line </td><td>1</td><td>0</td><td>100</td><td>No</td></tr>
229 <tr><td>2 lines</td><td>2</td><td>1</td><td>400</td><td>No</td></tr>
230 <tr><td>3 lines</td><td>3</td><td>2</td><td>700</td><td>No</td></tr>
231 <tr><td>4 lines</td><td>4</td><td>4</td><td>1200</td><td>Yes</td></tr>
232 <tr><td>1 line T-spin </td><td>1</td><td>2</td><td>500</td><td>Yes</td></tr>
233 <tr><td>2 lines T-spin</td><td>2</td><td>4</td><td>1000</td><td>Yes</td></tr>
234 <tr><td>3 lines T-spin</td><td>3</td><td>6</td><td>1500</td><td>Yes</td></tr>
235 <tr><td>Back-to-back bonus</td><td> </td><td>1</td><td>200</td><td>Yes</td></tr>
236 </tbody>
237 </table><p>
238 LJ has a variant called "<a href="http://en.wikipedia.org/wiki/Nerf_%28computer_gaming%29" title="nerf, v. To weaken or remove (an element of play) as a method of rebalancing a game.">nerfed</a> spin" where T-spins produce half the garbage and only 300 points per line.
239 </p>
241 <h3>Fibonacci</h3>
242 <p>
243 This extension of the scoring curve seen in <i>The New Tetris</i> is based on the <a href="http://en.wikipedia.org/wiki/Fibonacci_number" title="a sequence of integers where each element is the sum of the two preceding elements">Fibonacci sequence</a>.
244 </p>
245 <table summary="first row: column headings">
246 <caption>TNT scoring method</caption>
247 <thead>
248 <tr><th>Lines</th><th>Score</th></tr>
249 </thead><tbody>
250 <tr><td>1</td><td>100</td></tr>
251 <tr><td>2</td><td>200</td></tr>
252 <tr><td>3</td><td>300</td></tr>
253 <tr><td>4</td><td>500</td></tr>
254 <tr><td>5</td><td>800</td></tr>
255 <tr><td>6</td><td>1300</td></tr>
256 <tr><td>7</td><td>2100</td></tr>
257 <tr><td>8</td><td>3400</td></tr>
258 <tr><td>9</td><td>5500</td></tr>
259 <tr><td>10</td><td>8900</td></tr>
260 <tr><td>11</td><td>14400</td></tr>
261 <tr><td>12</td><td>23300</td></tr>
262 <tr><td>13</td><td>37700</td></tr>
263 </tbody>
264 </table><p>
265 Further lines score 20,000 points per line.
266 </p>
268 <h3>Hotline</h3>
269 <p>
270 Only lines cleared on specific rows are worth points. There is no back-to-back bonus nor T-spin bonus.
271 </p>
272 <table summary="first row: column headings">
273 <caption>Hotline scoring method</caption>
274 <thead>
275 <tr><th>Row</th><th>Score</th></tr>
276 </thead><tbody>
277 <tr><td>5</td><td>100</td></tr>
278 <tr><td>10</td><td>200</td></tr>
279 <tr><td>14</td><td>300</td></tr>
280 <tr><td>17</td><td>400</td></tr>
281 <tr><td>19</td><td>500</td></tr>
282 <tr><td>20</td><td>600</td></tr>
283 </tbody>
284 </table>
286 <h3>TDS</h3>
287 <p>
288 Each line clear score is multiplied by a section number, computed by dividing the total number of lines cleared before this line by 10 and adding 1. Thus, lines cleared later in the game when gravity is faster are worth more than lines cleared earlier. In TDS, the section number stops increasing after 190 lines.
289 </p>
290 <table summary="first row: column headings">
291 <caption>TDS scoring method</caption>
292 <thead>
293 <tr><th> </th><th>Lines</th><th>Score</th><th>Bonus</th></tr>
294 </thead><tbody>
295 <tr><td>1 line </td><td>1</td><td>100 * section</td><td>No</td></tr>
296 <tr><td>2 lines</td><td>2</td><td>300 * section</td><td>No</td></tr>
297 <tr><td>3 lines</td><td>3</td><td>500 * section</td><td>No</td></tr>
298 <tr><td>4 lines</td><td>4</td><td>800 * section</td><td>Yes</td></tr>
299 <tr><td>0 lines T-spin (wall kick) </td><td>0</td><td>100 * section</td><td> </td></tr>
300 <tr><td>0 lines T-spin (no wall kick)</td><td>0</td><td>400 * section</td><td> </td></tr>
301 <tr><td>1 line T-spin (wall kick) </td><td>1</td><td>200 * section</td><td>Yes</td></tr>
302 <tr><td>1 line T-spin (no wall kick) </td><td>1</td><td>800 * section</td><td>Yes</td></tr>
303 <tr><td>2 lines T-spin </td><td>2</td><td>1200 * section</td><td>Yes</td></tr>
304 <tr><td>3 lines T-spin </td><td>3</td><td>1600 * section</td><td>Yes</td></tr>
305 <tr><td>Back-to-back bonus</td><td> </td><td>50% more</td><td>Yes</td></tr>
306 </tbody></table>
308 <h3>NES</h3>
309 <p>
310 Each line clear is multiplied by the section number, as in TDS. The section number does not stop increasing. There is no back-to-back bonus nor T-spin bonus.
311 </p>
312 <table summary="first row: column headings">
313 <caption>NES scoring method</caption>
314 <thead>
315 <tr><th>Lines</th><th>Score</th></tr>
316 </thead><tbody>
317 <tr><td>1</td><td>40 * section</td></tr>
318 <tr><td>2</td><td>100 * section</td></tr>
319 <tr><td>3</td><td>300 * section</td></tr>
320 <tr><td>4</td><td>1200 * section</td></tr>
321 </tbody></table>
323 <h3>Drop scoring</h3>
324 <p>
325 Some games award extra points every time the tetromino lands if the player used soft drop or hard drop. LOCKJAW can simulate these.
326 </p><dl>
327 <dt>None</dt><dd>Award no points.</dd>
328 <dt>Continuous</dt><dd>Award 1 point per row for hard drops. Award 1 point per row between when a soft drop starts when the piece lands. A soft drop that is started, then stopped, then started again, will award points only for the last soft drop.</dd>
329 <dt>Drop</dt><dd>Award 1 point per row for hard drops and for soft drops, whether or not they are interrupted.</dd>
330 <dt>Soft x1 Hard x2</dt><dd>Award 1 point per row for soft drops and 2 points per row for hard drops.</dd>
331 </dl>
333 <h3>lj-scores.txt</h3>
334 <p>
335 On the PC and DS version, each game's results are written to standard output and <code>lj-scores.txt</code> once it ends. This way, the user can copy the results to an online forum, or the user can <code>lj | something else</code> or <code>tail -f lj-scores.txt | something else</code> in order to have an external program analyze each game as it finishes.
336 </p>
338 <h2><a name="scenario">Scenarios</a></h2>
339 <p>
340 In the PC version, scenarios are predefined sets of rules for the game. Most scenarios leave several rules unspecified so that you can further customize them in Options. On the Play menu, you can choose from over ten preset scenarios, or you can design your own rules in Options and then activate them with Custom Game.
341 </p><p>
342 Future versions of LOCKJAW Tetromino Game will allow the user to edit scenarios and to use scenarios on handhelds.
343 </p>
345 <h2><a name="options">Options</a></h2>
346 <p>
347 In Tetris, rules change you. But in LOCKJAW, <strong>you</strong> change the rules:
348 </p>
350 <h3>Definitions</h3>
351 <dl>
352 <dt>Frame</dt>
353 <dd>All video games are turn-based. Real-time games make each turn take a fraction of a second, where each turn lasts only one frame of animation. LOCKJAW always uses 60 frames per second, regardless of the refresh rate of the attached monitor.</dd>
354 <dt>G</dt>
355 <dd>1G is a velocity of 1 cell per frame, or 60 cells per second. "20G" means that tetrominoes fall through the entire height of the well in one frame.</dd>
356 <dt>Hertz (Hz)</dt>
357 <dd>1 Hz is a rate of 1 event per second.</dd>
358 </dl>
360 <h3><a name="gimmicks">Gimmicks</a></h3>
361 <dl>
362 <dt>Marathon</dt>
363 <dd>The game gets faster and faster as each tetromino enters the well. Play until you top out. Some people play for lines; others play for points.</dd>
364 <dt>40 lines</dt>
365 <dd>Play until you clear 40 lines, or until you top out, whatever comes first. The author's record is 1:00.70.</dd>
366 <dt>180 seconds</dt>
367 <dd>Play for three minutes, or until you top out, whatever comes first.</dd>
368 <dt>Vs. w/Items</dt>
369 <dd>This mode is a joke. After the first 7 pieces you get random starting orientations, no rotation, and hidden next pieces, and the speed goes to 1G. Every time you're about to get an I tetromino, either you get 2 lines of garbage or the columns of blocks in the well are shuffled. It is debatable whether this mode is even playable. This mode exists primarily as a criticism of a similar mode in the game <i>Tetris DS</i>.</dd>
370 <dt>Baboo!</dt>
371 <dd>Standard S.M.G. with zero gravity, ending after 300 keypresses. Some players recommend practicing Baboo!, claiming that the way to fast play in other gimmicks involves using as few keystrokes as possible to place each tetromino.</dd>
372 </dl>
374 <h3>Well rules</h3>
375 <dl>
376 <dt>Well width</dt>
377 <dd>Standard S.M.G. uses 10 columns; it can be set anywhere between 4 and 12.</dd>
378 <dt>Well height</dt>
379 <dd>Standard S.M.G. uses 20 rows; it can be decreased to 8.</dd>
380 <dt>Enter above ceiling</dt>
381 <dd>Normally, tetrominoes enter the well above the ceiling. But when this is turned off, tetrominoes enter inside the well.</dd>
382 <dt>Speed curve</dt>
383 <dd>This controls how fast tetrominoes fall:
384 <ul>
385 <li>Exponential is the familiar behavior where the game speeds up gradually as pieces enter the well. For the first 600 pieces, it speeds up every 30 pieces, doubling every 60. Then, the gravity hits 20G, and lock delay begins to decrease in harmonic progression: 2/(3 + 9/256 * (<i>n</i> - 609)) seconds.</li>
386 <li>In Zero, tetrominoes do not fall on their own. It's pointless for setting endurance records but useful for practicing tricky stacking methods.</li>
387 <li>Rhythm starts at 0G or 20G; if your play speed drops below the stated level, tetrominoes will lock on their own. This level starts at 60 tetrominoes per minute and increases by 10 every 64 beats.</li>
388 <li>Master and Death are similar to Exponential and Rhythm but resemble some Japanese S.M.G. implementations: every line cleared advances the level by 1, and except at levels 99, 199, 299, etc., so does every tetromino dropped. (Death is a bit faster than starting Master at level 600, where blocks fall at 20G. Death 300+ is what it sounds like: starting Death at level 300.)</li>
389 <li>NES and Game Boy speed curves approximate the behavior of the classic 8-bit games published by Nintendo. Game Boy Heart is like Game Boy but starting 100 lines in.</li>
390 </ul></dd>
391 <dt>Max entry delay</dt>
392 <dd>When set greater than 0, there is a brief delay before each tetromino enters the playfield, and another delay when one or more lines are cleared.
393 (So if you want fast play, make more lines at once.)
394 During entry delay, sometimes called "ARE", the player can hold the next piece, rotate the next piece (if turned on), and charge up the autorepeat of sideways movement.
395 This delay is considered a "maximum", as it decreases over the course of the game in Master and Death speed curves.
396 Caution: When entry delay is on, hard drop also functions as an Initial Action.</dd>
397 <dt>Piece set</dt>
398 <dd>This selects which pieces are used:
399 <ul>
400 <li>"All pieces" deals all tetrominoes, plus trominoes of 3 blocks (I3, L3) and the domino of 2 blocks (I2). In history randomizer, it starts with I, J, L, T, or L3.</li>
401 <li>"Tetrominoes" includes the seven pieces with four blocks (I, J, L, O, S, T, and Z). In history randomizer, it starts with I, J, L, or T.</li>
402 <li>"No sticks" is one stick short of a bundle because it generates all tetrominoes other than I, which is sometimes called a "stick" or "bar". It's useful for practicing "push" and T-spins. In history randomizer, it starts with J, L, or T.</li>
403 <li>"SZSZ" deals only S and Z tetrominoes. History randomizers will deal an alternating sequence (S, Z, S, Z). It was used in a <a href="http://www2.math.uic.edu/~burgiel/Tetris/explanation.html">proof that S.M.G. with the Memoryless randomizer cannot be played forever</a>.</li>
404 <li>"iCheat&trade;" generates <em>only</em> I tetrominoes, simulating cheat modes on some other games.</li>
405 <li>"T-Party" generates only T tetrominoes.</li>
406 </ul></dd>
407 <dt>Randomizer</dt>
408 <dd>This selects the function used to shuffle the pieces:
409 <ul>
410 <li>"Memoryless" has a more or less equal probability of choosing each piece at any given time, as seen in most <abbr title="Soviet Mind Game">S.M.G.</abbr> implementations (including Tetris brand games from before 2001).</li>
411 <li>"Bag" treats the pieces as sets and deals a randomized sequence of all different pieces, as if drawing them from a bag, before the next set. Advanced players like to "count cards", keeping track of the "seams" between bags of seven tetrominoes. This randomizer has a weakness: it can easily be <a href="http://www.tetrisconcept.com/wiki/index.php?title=Playing_forever">played forever</a>.</li>
412 <li>"Bag + 1" is like Bag but tosses a duplicate piece into each bag.</li>
413 <li>"Double bag" adds an extra copy of each piece to the bag, as a compromise between the even distribution of Bag and unpredictability of Memoryless.</li>
414 <li>"Strict history" will not deal a piece that was recently dealt. For tetrominoes, it will not deal one of the previous four. This way the player never gets a clump of all the same piece.</li>
415 <li>"History 6 rolls" is similar to strict history but sometimes (about 3.5%) generates repeats of recent pieces.</li>
416 </ul></dd>
417 </dl>
419 <h3>Movement rules</h3>
420 <dl>
421 <dt>Hold piece</dt>
422 <dd>Controls the behavior of the hold piece. Empty leaves the hold box empty at the start of the game; the first time the player uses hold piece, the falling piece goes to the hold box, and the next piece enters instead of the hold piece. Random fills the hold piece with a random piece at the start of the game. Hold to next holds to the next piece box instead of the hold box. Off disables hold entirely.</dd>
423 <dt>Rotation system</dt>
424 <dd>In different rotation systems, tetrominoes may enter the field at different positions, and they behave differently when rotated against the walls and the other blocks. This option can be set to SRS (easiest), TOD M4 (like SRS in free space but less forgiving in wall kicks), Arika (like Sega with basic wall kicks), Sega or NES or Game Boy (no kicks), or Tengen (strict, with even stranger twists). Apart from one set of graphics for SRS and TOD M4 and one set for other systems, this option does not affect the colors of the tetrominoes; use the <code>.skin</code> commands to select replacement images that contain other colors. It also does not affect lockdown behavior.</dd>
425 <dt>Floor kicks</dt>
426 <dd>SRS and Arika rotation systems move a tetromino upward when a rotation would strike the floor or blocks under the tetromino. As this makes some tetrominoes easy to spin in place, this can detract from the immediacy of the game. This option limits the number of times each tetromino can be kicked upward.</dd>
427 <dt>Lockdown</dt>
428 <dd>Controls the interpretation of the delay between when each tetromino lands and when it locks. Classic disables the delay, as was the case in the oldest S.M.G. implementations; this makes slide moves more difficult. Entry reset allows only a constant amount of this delay per tetromino; instead of resetting, the lock timer pauses while the tetromino is falling. With Step reset, the delay resets every time the tetromino moves downward. With Move reset, the delay resets every time the tetromino moves at all. (Outside of Zero and Exponential speed curves, Classic behaves as Step reset.)</dd>
429 <dt>Lock delay</dt>
430 <dd>Controls the length of this delay. It can be set to a constant amount of time, or it can be controlled by the speed curve.</dd>
431 <dt>Deep drop</dt>
432 <dd>When this is on, a piece can fall past blocks in the playfield to fill appropriately shaped holes. This is potentially more controversial than the "T-spin triple" of SRS.</dd>
433 </dl>
435 <h3>Line clear rules</h3>
436 <dl>
437 <dt>Line clear delay</dt>
438 <dd>Controls the length of the delay after a line clear. It can be set to a constant amount of time, or it can be controlled by the speed curve.</dd>
439 <dt>Clear gravity</dt>
440 <dd>Controls what happens to blocks after a line clear.
441 Naive means that blocks move down by exactly the number of cleared lines below them, potentially causing floating blocks.
442 In Sticky, tetrominoes stick together when they lock, and contiguous groups fall together.
443 It's possible for a group to fall past the cleared lines, causing chain reactions.
444 Sticky by color is similar to Sticky except only blocks of a single color stick together.
445 Cascade treats each piece as a separate entity unless Gluing is turned on.</dd>
446 <dt>Gluing</dt>
447 <dd>When turned on, this controls how pieces glue themselves together after they land:
448 <ul>
449 <li>In Square, when the player makes a 4x4 block square out of four complete tetrominoes, it will become a large square of solid gold or silver. Pieces that have been broken by a line clear cannot make squares and are thus drawn as garbage. A line containing a row of a silver square is worth 500 bonus points; a line containing a row of a gold square is worth 1000. <strong>Caution:</strong> This mode is displayed incorrectly if the current <a href="#skin">skin</a> lacks the appropriate <code>ljconn</code> file.</li>
450 <li>Sticky and Sticky by color act much like the corresponding Clear gravity settings. If a skin using connected blocks has a bright border around each piece, this can be used to draw a white border around each mass of pieces. Garbage always acts Sticky by color.</li>
451 </ul>
452 </dd>
453 <dt>Scoring</dt>
454 <dd>Choose a scoring method for line clears, as described <a href="#scoring">above</a>.</dd>
455 <dt>Drop scoring</dt>
456 <dd>Choose a scoring method for drops, as described <a href="#scoring">above</a>.</dd>
457 <dt>T-spin detection</dt>
458 <dd>Controls the definition of a T-spin used by the scoring method. When turned off, T-spins are not rewarded. When set to Immobile, a line is a T-spin line if the tetromino that completes it could not have moved left, right, or up. When set to 3-corner T, a line is a T-spin line if all of the following are true:
459 <ul>
460 <li>The line is completed with a T tetromino.</li>
461 <li>At least 3 of the 4 boxes diagonal to the center of the tetromino are either the wall or occupied with a block.</li>
462 <li>The tetromino has not shifted sideways or down by one or more spaces since it was last rotated.</li>
463 </ul>
464 3-corner T no kick adds an additional restriction: The rotation itself did not move the tetromino.</dd>
465 <dt>Garbage</dt>
466 <dd>Pushes up the lines in your playfield. In Level 1 through 4, a simulated computer opponent occasionally sends you this many lines of garbage. In Home Run Derby, every line you clear other than with a home run or a T-spin gives you garbage. In Drill and Preload Zigzag, the well is full of garbage except for the top few rows. Be prepared to rely on infinite spin for the first few lines until your skill improves.</dd>
467 </dl>
469 <h3>Control options</h3>
470 <dl>
471 <dt>Max sideways delay</dt>
472 <dd>This controls the time the left or right key has to be held down before sideways movement begins. This can be set in 16.7 <abbr title="millisecond">ms</abbr> increments from 16.7 ms to 300 ms.
473 This delay is considered a "maximum", as it decreases over the course of the game in Master and Death speed curves.</dd>
474 <dt>Sideways speed</dt>
475 <dd>This controls how fast the tetromino moves sideways. It can be set at Instant (tetromino reaches side instantly as soon as sideways delay expires) or 10 to 60 moves per second.</dd>
476 <dt>Initial sideways motion</dt>
477 <dd>When this is turned on, the tetromino can move sideways in the first frame that it appears. This affects mobility at very high speeds (e.g. Death or Rhythm).</dd>
478 <dt>Initial rotation</dt>
479 <dd>When this is turned on, the player can rotate a piece before it enters by holding down a rotate button.</dd>
480 <dt>Allow diagonal motion</dt>
481 <dd>When this is turned off, the Left, Right, Up, and Down keys will be ignored if Left or Right is pressed at the same time as Up or Down. Some players who use joysticks or gamepads claim that such "4-way" logic reduces misdrops. Keyboard players should leave it turned on, as it is necessary for "Lock on release" to work properly.</dd>
482 <dt>Soft drop speed</dt>
483 <dd>Controls how fast the tetromino moves downward in a soft drop. Can be set to 1G, 1/2G, or 1/3G.</dd>
484 <dt>Soft drop</dt>
485 <dd>Controls how tetrominoes behave when they land after being soft dropped with the Down key. "Lock" means that they will lock instantly. "Slide" allows the player to place a tetromino under an overhang in one smooth motion (move down, move sideways, then press Up to lock). "Lock on release" is similar to "Slide" but locks when the player lets go of Down.</dd>
486 <dt>Hard drop</dt>
487 <dd>Controls how tetrominoes behave when they land after being hard dropped with the Up key. "Lock" means that hard-dropped tetrominoes will lock instantly. "Slide" allows the player to place a tetromino under an overhang in one smooth motion (move down, move sideways, then press Down to lock). (The "Firm drop" key acts as a hard drop set to "Slide".) "Lock on release" is similar to "Slide" but locks when the player lets go of Up.</dd>
488 </dl>
490 <h3>Display options</h3>
491 <p>
492 The details may vary between the PC version and the GBA and DS versions:
493 </p><dl>
494 <dt>Shadow</dt>
495 <dd>Controls how the falling tetromino and its shadow are displayed. It can show the falling tetromino along with a transparent colored shadow, opaque colored shadow, or colorless shadow. It's also possible to hide the shadow entirely or (for experts only) hide both the shadow and the falling tetromino.</dd>
496 <dt>Hide blocks in well</dt>
497 <dd>When turned on, hides the blocks that have locked down in the well. Useful for practicing for "invisible challenge" in another game.</dd>
498 <dt>Next pieces</dt>
499 <dd>Controls the number of previewed pieces displayed next to the well.</dd>
500 <dt>Smooth gravity</dt>
501 <dd>When this is turned off, tetrominoes fall in units of one block. When turned on, they fall pixel by pixel, and only the bottom edge of each block in a tetromino is tested for collision against the blocks in the well.</dd>
502 <dt>Next above shadow</dt>
503 <dd>Controls the number of previewed pieces displayed above the shadow. (PC version only)</dd>
504 <dt>Drop trails</dt>
505 <dd>When this is turned on, hard drops and fast piece gravity cause a piece to make a trail as it falls. It makes players feel faster at the game. (PC version only)</dd>
506 <dt>Pause on task switch</dt>
507 <dd>When turned on, automatically pauses the game when the player switches to another window. (PC version only; DS version always pauses on lid close)</dd>
508 <dt>Record all games</dt>
509 <dd>Automatically records each game to <tt>demo.ljm</tt>. Remember to rename your record-setting replays. (PC version only)</dd>
510 <dt>Display</dt>
511 <dd>Choose full screen or windowed mode. If windowed mode does not work, try excluding LOCKJAW from your window decoration theming program. (PC version only; GBA and DS always run in full screen)</dd>
512 </dl><p>
513 The PC version saves these options to <code>lj.ini</code> every time you exit the options screen. Other options not shown are also saved to <code>lj.ini</code> and can be changed with a text editor.
514 </p>
516 <h2><a name="discussion">Discussion</a></h2>
517 <p>
518 If you want to discuss the game, you can do so at <a href="http://www.tetrisconcept.com/forum/viewtopic.php?t=100">TetrisConcept.com forum</a>.
519 </p><p>
520 If you want a Tetris shot, ask your doctor.
521 </p>
523 <h2><a name="legal">Legal</a></h2>
524 <div style="border: 1px solid black; padding: 1em 2em">
525 <p>
526 Copyright 2006&ndash;2008 Damian Yerrick &lt;<a href="http://www.pineight.com/contact/">tepp&#108;es+lockjaw (at) spam&#99;op (full stop) net</a>&gt;. This manual is under the following license:
527 </p><p>
528 This work is provided 'as-is', <span style="font-variant: small-caps">without any express or implied warranty.</span> In no event will the authors be held liable for any damages arising from the use of this work.
529 </p><p>
530 Permission is granted to anyone to use this work for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
531 </p><ol>
532 <li>The origin of this work must not be misrepresented; you must not claim that you wrote the original work. If you use this work in a product, an acknowledgment in the product documentation would be appreciated but is not required.</li>
533 <li>Altered source versions must be plainly marked as such, and must not be misrepresented as being the original work.</li>
534 <li>This notice may not be removed or altered from any source distribution.</li>
535 </ol><p>
536 The term "source" refers to the preferred form of a work for making changes to it.
537 </p>
538 </div>
539 <p>
540 The LOCKJAW software described by this manual is distributed under the <a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License, version 2 or later</a>, <span style="font-variant: small-caps">with absolutely no warranty.</span> See <code>COPYING.txt</code> for details.
541 </p><p>
542 <a name="trademarks">*</a> Tetris is a trademark of The Tetris Company. The Software is not sponsored or endorsed by Alexey Pajitnov, Tetris Holding, Apple, Cloudmakers, Free Software Foundation, Microsoft, or Nintendo.
543 </p>
544 </div>
545 </body>
546 </html>