Lockjaw: The Tetromino Game

Thread in 'Discussion' started by tepples, 13 Jun 2006.

  1. tepples

    tepples Lockjaw developer

    LOCKJAW 0.10 is released - get it from the new LOCKJAW page

    • Set default full screen color depth to 16-bit which may be more compatible than 15-bit.
    • Press Print Screen to save the current screen as ljsnap.bmp.
    • Plays next piece sound whenever the next column moves up. 0.08-0.09 didn't do so for the first hold in a game.
    • No longer tries rotating right when rotating left fails.
    • Handles DirectDraw amnesia (screen corruption in Alt+Tab) correctly in menu, game play, and debrief screens.
    • Asset and video buffer cleanup consolidated into one function.
    • Gravity speeds up 50% faster.
    • Added options menu for selecting sideways movement speed and randomizer.
    • Added more randomizers: 14-piece bag, move-to-back (TGM style), memoryless (classic), and SZSZ (used in the well-known proof that memoryless cannot be played indefinitely).
    • Debrief screen displays date and time of report generation as
      well as randomizer and sideways speed, and logs what it displays to lj-scores.txt.
    • Moved all gimmick-specific code from lj.c to new file gimmicks.c.
    • Built against Allegro 4.2.0. (Users of previous versions will need the new DLL.)
    • Countdown based gimmicks (40 lines, 180 seconds, Baboo!, TGM World, Drill 40) now use the same countdown variable for end state detection that they had used for countdown sound.
    • Support for tracked music using DUMB.
    • Manual is HTML.
    Could be fixed in 0.10.

    If you still want to use 16-bit color, try 0.10.

    You'll have to re-apply the changes to the new version. Do you know how to use diff and patch?

    That's 60 Hz DAS, which may be a bit fast for you if you're used to TDS. It can be slowed down in 0.10.

    Neither could a lot of TGM fans, but TI still has world mode, and the system in TGM Ace borrows a lot from SRS.

    Especially once I find some good (freely licensed) mod/s3m/xm/it music for each BPM level.
  2. cdsboy

    cdsboy Unregistered

    ok i've worked some magic and it is already ported to os x. again it is located here.

  3. Nice.

    Just to check accuracy here...

    Is the TGM randomizer, or "move-to-back" as you like to conceptualize it, dealing pieces outside the history with 100% probability? TGM1 will try up to 4 times to roll a piece outside the history (at which point it settles on that 4th roll), and TGM2/3 will try up to 6 times similarly. It may seem like a small detail, but this uncertainty helps keep things unpredictable yet fair. Depending on how you've gone about things this might be tricky to implement, because there can be duplicate piece types in the history.
  4. tepples

    tepples Lockjaw developer

    How far can you get in SZSZ?


    So TGM2/3 will deal from the history with a probability of (4/7)^6, or about one in 28.72. I can approximate this behavior in version 0.11.

    The history still won't support duplicate tetrominoes, but players probably won't notice the difference. Remember that each randomizer is based on an underlying uniform PRNG, and I'm not trying to duplicate that either. Some operating systems' implementations of rand() can be slow, especially when I call it six times.

    EDIT: I've figured out a different workaround for slow rand() that allows the exact behavior c_t describes.

  5. That is correct. Though for some strange reason I conceptualize this in terms of the percentage, which equivalently is 3.48%. Repeats actually change the odds fairly dramatically:

    3.48% (4 distinct pieces in history)

    0.62% (3 distinct pieces in history)

    0.05% (2 distinct pieces in history)

    0.00% (1 distinct piece in history)

    I'd call the difference subtle but definitely noticeable. Why artificially plug these probabilities in? It seems easy enough to me to give TGM2/3 6 rolls and the Random Generator infinite under a common framework.
  6. sihumchai

    sihumchai Unregistered

    Tepples! Great work on LockJaw..

    Maybe you should put information on the bottoms, when options are highlighted, e.g. When highlighted 40 lines mode, on the bottom is should read, "Make 40 lines as fast as possible!".. Rather than users having to read the readme for what it actually is.

    Can we have ARS/Sega orientations too? Take Heboris as an example of selecting which system you wanna use. I dunno, it's really up to you. I guess that would make a Heboris clone [​IMG]

    And also, PLEASE! Music -B! [​IMG]
  7. cdsboy

    cdsboy Unregistered

    I am really liking the way LockJaw is going. altho i think there should be an option to remove the sounds that happens when you move your block and drop the block.
  8. tepples

    tepples Lockjaw developer


    Pictures speak 1000 words. Screenshots of what I'm working on:

    Why are the L and J tetrominoes in the queue upside-down?

    Oh, that's why [​IMG]

    Actually, my implementation of Random Generator keeps track of the part of the bag that hasn't yet been dealt, and it rolls only once per new tetromino from that part. Move to Back also rolls only once per new tetromino, for an index of which of the front three to move to the back of the line. But I found a way to roll 6 times that doesn't involve calling rand() in a loop, so version 0.11 implements TGM2/TGM3 randomization, step by step as you described it, as "History 6 Rolls".

    Coming. But once this is in, there is space for only two more gimmicks, so I'll have to think of a new layout for getGimmick.

    Sega orientations? Yes.

    Sega colors? Yes. An ljblocks.bmp for Sega colors will be made available along with version 0.11.

    TGM wall kicks? Yes. I've tried to implement what was posted here, including disallowing rotation when a block is below the center of L-down or J-down or above the center of T-up.

    TGM lockdown (locking soft drop, not-locking hard drop, don't reset lock delay on move or rotate)? Not yet. "Sega mode" might feel like Frankentetris 360 until I get macro editing in.

    My NES game uses a similar system for selecting game speed, so I'm not too worried.

    I'll take requests for S3M covers of classic Tetris tunes in a separate topic.

    When I play TDS with sound effects off, my misdrop rate goes through the roof. How do you manage to play without sound effects for move and drop? Still, the player can remove them from lj.dat using Allegro Grabber. But given that you're the Mac port maintainer and thus approaching this from a Mac point of view, are you talking about disabling such sounds on a platform that hides lj.dat? Perhaps the manual for the port to such a platform should mention how to unhide and edit lj.dat, including how to obtain a port of Allegro Grabber (which is like a ResEdit for Allegro programs).
  9. GB + Sega = mind blown

    Nice work, I can't wait for full TGM-style support.
  10. cdsboy

    cdsboy Unregistered

    well i've taken it apon myself to make an alternate background for all of those who feel the need to change it up so here it is:

  11. Finally people are talking about block and background mods for LJ.

    I had an M.Bison theme to start off with, but found it a little hard with to play with a large Russian man dressed in red powering up (I dont know it could just be me).


    I usually go with a solid black background, with a grid on the play field (can't go wrong with a grid) and grey lockdown pieces with a lighter grey ghost.

    But thats not to intresting, I was playing around with inivisible mode for awhile and a monocome mod, which is cool for awhile.

    Also next version.............could you increase sideways speed, I can still play better on cultris.

    I have 40 line mode down to 46, but that need to be 44 [​IMG]

    Hopefully next time I can post something of more intrest, but im quite busy for awhile.

    - Jono
  12. tepples

    tepples Lockjaw developer

    Or I could find some random Zangief wallpaper.

    Oh yeah, I should add a switch for TNT/TGM style Zangi-moves.

    Sideways speed is already at 1, wait, 1G. If you want instant left and right, there are macros for those. Or did you want 1, wait, 10G?
  13. Lol, that would be great!


    I do not want instant left to right. If your saying the speed is already at 1G, than would it be possible to the left to right speed adjustable from 1G up to 10G. That would be best from me. I just think a faster BPM is possible with this adjustment.

    - Jono
  14. cdsboy

    cdsboy Unregistered

    or... you could just adjust it in the source, and recompile it for yourself. thats what i did : P
  15. cdsboy

    cdsboy Unregistered

    also i was wondering if we can get a game mode that has the same falling speed as beat but doesn't drop to a beat?
  16. tepples

    tepples Lockjaw developer

    LOCKJAW 0.11 is out; get it from the LOCKJAW page

    0.11 (2006-08-01):
    • Added Instant, 20 Hz, 15 Hz, and 12 Hz sideways speeds.
    • Added randomizer History 6 Rolls, very similar to Move to Back but sometimes repeating recent tetrominoes.
    • Allows separate wall kick tables for clockwise and anticlockwise rotation.
    • New "theta=default" in piece->block expansion reflects the rotation system's initial orientations for new pieces, next pieces, and the hold piece.
    • Option to use Sega rotations instead of SRS rotations.
    • Option for ignoring diagonal presses.
    • Option for locking or not when using hard drop (Up).
    • Option to turn off smooth gravity animation.
    • Option to use TNT style T-spin detection instead of TDS style.
    • Debrief now displays rotation system and T-spin detection.
    • Saves options to lj.ini.
    • Split options screen and wall kick table into separate source code files.
    • Now plays music in stereo.
    • Site now distributes contributed graphics and music files to replace the defaults.
    If it crashes on startup, you'll need to make an empty text file called lj.ini in the same folder as lj.exe. Thanks cdsboy and PtitPrince for helping me find this bug.

    Done in version 0.11.

    Not sure what you mean. Do you want plain 20g?
  17. cdsboy

    cdsboy Unregistered

    ya plain 20g, oh and the mac port is done and uploaded get it on the lockjaw download page.
  18. cdsboy

    cdsboy Unregistered

    holding the first block causes you to lose...
  19. tepples

    tepples Lockjaw developer

    Based on a 1-hour chat on blockstats.org between cdsboy and me, this problem happens only in the Mac port. It doesn't seem to happen in the Windows version. It seems to have something to do with the hardDropY (position of the shadow) being set to the top of the playfield. But unfortunately, I don't have a Mac to troubleshoot this myself (unless you all want to pitch in and buy me Apple gift cards good toward a Mac mini), and though cdsboy is looking into the cause of the problem, it might take him a while.
  20. Sorry tepples but I have a problem with the new version, its the whole "lock" on the up key when holding "left" or "right".

    I am not to sure about the instant left to right either, I just wanted it to be a little faster, it seems to lag somewhat with the instant; But I would say thats just due to me using up, whilst holding left or right.

    I am more than happy to adjust it myself as cdsboy suggested, but I cant find folder and or section it is located.


    - Jono

Share This Page