So you mean score = 2n-1 where n is the number of lines, and no bonus for T-spins or back-to-back? That should be fairly easy to do, and it will extend well.
TGM3 uses 1,2,4,6. I like how that reflects the fact that triples and tetrises are agressive/intentional line clears, while singles and doubles are denfensive moves that are suboptimal. But yeah, that's far less generalizable.
Especially when I want to add more scoring methods that are compatible with recursive gravity. Should I reward a 12-line 3-step recursive clear more than a 9-line 9-step recursive clear?
The former, which is used in Quadra, is probably more interesting to play. Nicholas likely has a stronger opinion on the matter. This talk reminds me of Dr. Mario's scoring mechanics. Clearing an amount of viruses after placing a pill, whether they are chained or not, will result in the same amount of points. The only thing that matters is the total number of viruses that are destroyed. What makes this cool is that points are given out as the chain progresses... Each link gives you the difference between the previous link's total of destroyed viruses and the current link's running total of viruses. Im not sure how much sense that made, but if you clear n viruses it's easy to know how many points you'll get overall but hard to find out how many you get for each link. From the very beginning, other puzzle games with chaining have given an exponential increase in the points so I found this scoring system interesting.
cascade-rewarding gets boring after a while. way more types of play arrise from line clear-rewarding.
LOCKJAW 0.28 is out 0.28 (2007-01-04) Added Cascade gravity, as seen in Quadra, Tetris Worlds Cascade, and Tetris DS Touch. Master/Death: Level starts at -1, so that the first piece is played at level 0 (requested by Lardarse). Changed T-spin detection to save whether or not a rotation involved a kick (0: move; 1: rotate; 2: rotate with kick) so that scoring methods such as TDS can score T-spins with and without kicks differently. Added TDS scoring method (line clears only). New, more general, possibly easier to understand reshuffle code in bag randomizer (requested by Lardarse) GBA: Gold and silver square colors added (requested by Lardarse). PC: Game over in low ceiling no longer fades the area outside the playfield (reported by Lardarse). PC: Close box interrupts starting and game over animations. README warns that 4x4 squares mode needs ljconn. In that case, Merry T?ISmus! Which means I must have made a lucky guess back in 1999 to have Carbon Engine reward line clears
Bug with cascade gravity: When the 3rd line up (or higher) is the lowest completed line, the bottom 2 lines are merged together. I can't see anything in the code that would cause this, but I'll look again tonight... Edit: Is it not checking that the space below it occupied already? That's about the only thing that I can imagine it is... Also, TDS scoring doesn't play the back-to-back noise when a back-to-back home run is made. I didn't check T-spins, as I suck at doing them.
Better idea: Add a score limit gimmick, and then in the options menu, give options for changing the targets of each mode.
Do most players have a preference for what type of gravity they work with in the game? Cascading looks neat, but way more complicated than the nave implementation of gravity.
i like cascade gravity, i find it more natural / physical. but it is often unpredictable what happens and as such reduces planning ahead possebilites. i think most tetris masters here more like the naive gravity, because it is more masterable / you have much more control what will happen 5 pieces ahead (using piece-preview). or am i wrong? besides, as looked from a programmers side, this cascade gravity several times broke my head. my code for that part is kind of a mess, and i'm happy if some changes in my code do not break just again that chain reaction thing..
"Better idea: Add a score limit gimmick, and then in the options menu, give options for changing the targets of each mode." that's a great idea. you could have options for like 40 line, 100 line, 180 seconds, 60 seconds 120 seconds, endless, etc. edit: there's no way to use the connected map for shadows yet, right?
After watching caffeines LJ open classic video, i am inspired to put custom music in mine. I read through this thread, and found a lot of stuff that went over my head about Allegro and compiling and codecs can someone learn me in very simple language how to change it? or if it isnt possible, and caffeine just has music in the background or whatever, can i request it as a feature? thanks. to clarify, i want to put in some mp3's, like actual music, not midi.
[Insert stuff about not including MP3 because it's non-free but being able to add Ogg Vorbis because it's free as in freedom, despite its obscurity (No, sorry, Ogg is obscure despite whatever examples one may pull out - not that I hate the format - quite the contrary, but don't we all wish it was a perfect copyleft world where convenience and usability doesn't get in the way of ideology?) and despite the resulting unnecessary hassle forced on the majority of users of decoding and reencoding MP3s into Ogg every single time, here]
The description for that video states that caffeine just replaced the music when building the AVI to send to YouTube. He plays with sound turned off except for the countdown. Where did you get these mp3's? If from a CD, then rip the CD to .wav using CDex (or counterpart on other platform), encode to .ogg using OggDropXPd (or counterpart on other platform), create a file called skin.ini in the same folder as lj.ini if it does not already exist, and add a line like the following to skin.ini: Code: bgm=E:\My Music\Weird Al Yankovic - It's All About the Pentiums.ogg Cubicz: Which of the following do you want me to do? Help you get Vorbis working on your machine Add support for running external MP3 and WMA player software, which may cause the game to freeze momentarily and cause misdrops when the song ends Add support for MP3 playback within LOCKJAW, which would cost me at least $2,500 Needle: If .ogg is so obscure, then why does Unreal Tournament?
Cubicz: i just listen to internet radio with winamp when playing. no hassle or anything. there's really no need to intergrate music with the program if you ask me. play your cd, mp3, ogg, whatever in a seperate program. all's well. and other then that, yeah what tepples said.
What good would it do to integrate and test MP3 support if I have to remove it 5,000 downloads later? I don't want to be hit with a surprise $2,500 bill on the 5,001st download. On another note, I'm running up into a user interface design wall. Anyone have ideas for UI for setting the limits? Should we have one option for goal count (time, score, line, level, or keypress) and another for goal count, or should time goal, score goal, line goal, level goal, and keypress goal be separate options? Would an on-screen calculator-style keypad controlled by the up/down/left/right buttons be acceptable? Anyone have ideas for how construction of presets should work? I'm guessing that each option should have a checkmark next to it such that when it is turned off, the preset does not affect this option. Preset name: TA DEATH Preset category: MODE [X] Goal type: Level [X] Goal count: 1000 [X] Gimmick: None [X] Speed curve: Death [X] Max. entry delay: 250 ms [X] Randomizer: History 6 rolls [_] Rotation system: Inherit [_] Floor kicks: Inherit [_] Lockdown: Inherit [X] Lock delay: Set by speed curve [_] T-spin detection: Inherit [X] Clear gravity: Naive [_] 4x4 squares: Inherit [_] Scoring: Inherit [X] Sideways speed: 60 Hz [X] Max. sideways delay: 250 ms [X] Initial sideways motion: Off [_] Allow diagonal motion: Inherit [_] Soft drop speed: Inherit [_] Soft drop: Inherit [_] Hard drop: Inherit [X] Next pieces: 1 [_] Shadow: Inherit [_] Hide playfield blocks: Inherit [_] Smooth gravity: Inherit [_] Playfield position: Inherit [_] Next piece position: Inherit Preset name: TGM2 Preset category: ROTATION [_] Goal type: Inherit [_] Goal count: Inherit [_] Gimmick: Inherit [_] Speed curve: Inherit [_] Max. entry delay: Inherit [_] Randomizer: Inherit [X] Rotation system: Arika [X] Floor kicks: 0 [X] Lockdown: Step reset [_] Lock delay: Inherit [_] T-spin detection: Inherit [_] Clear gravity: Inherit [_] 4x4 squares: Inherit [_] Scoring: Inherit [_] Sideways speed: Inherit [_] Max. sideways delay: Inherit [_] Initial sideways motion: Inherit [_] Allow diagonal motion: Inherit [_] Soft drop speed: Inherit [X] Soft drop: Lock [X] Hard drop: Slide [X] Next pieces: 1 [_] Shadow: Inherit [_] Hide playfield blocks: Inherit [_] Smooth gravity: Inherit [_] Playfield position: Inherit [_] Next piece position: Inherit The user picks a MODE preset (replaces current gimmick select screen), followed by a ROTATION preset, and then the game starts. ROTATION overrides the custom settings, and MODES overrides ROTATION. Does this look reasonable?
That sounds like much better idea then the current set up. Not only does it sound like way to clean up the screen, it will make lockjaw even more flexible then it already is.