Lockjaw: The Tetromino Game

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

  1. Nope. It doesn't work with WINE. Even wih the Allegro DLL in the folder.


    ecplusplus.com doesn't seem to be there any more...


    Edit: Grabbed jpgalleg-2.5.tar.gz from your website.


    Code:
    lardarse@phoenix:~/lockjaw$ make
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/ljpc.o src/ljpc.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/lj.o src/lj.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/ljplay.o src/ljplay.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/pcjoy.o src/pcjoy.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/gimmicks.o src/gimmicks.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/wktables.o src/wktables.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/options.o src/options.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/debrief.o src/debrief.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/macro.o src/macro.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/ljreplay.o src/ljreplay.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/ljmusic.o src/ljmusic.c
    gcc -Wall -O2 -std=gnu99 -MMD -c -o obj/win32/ljvorbis.o src/ljvorbis.c
    windres -i src/winicon.rc -o obj/win32/winicon.o
    make: windres: Command not found
    make: *** [obj/win32/winicon.o] Error 127
     
  2. Well, perhaps if there's a smooth curve this could be specified as well, within a range? Say, from x in one value (such as level) increase exponentially (perhaps with a specified exponent) y value (such as speed). There could also be optional end values for either of these values.


    I'm not sure how smooth games such as Master mode actually go, though. There may be some finite speed gains, such as every 10 levels, that we may not have figured out yet. By the way, how do you internally define drop speed currently? I see that the soft drop speed option is defined in Gs, but this seems like it might be a hard way to define all possible speeds.


    One way of handling setting up curves would be to tie it in with a potential way to save options. First, there could be a way in the options screen to save a set of options to a name. Then, if every option had a default setting, individual changes in curves could be saved as options lists with everything set to default except those options that needed to change. To create a curve, the player would then enter a screen where the player could set conditions and specify option lists to load on those conditions. This set of conditions could be saved as a named curve. Perhaps the exponential increases could be added on this screen as well.


    I got up to level 219 on the Game Boy speed curve with nothing wrong on the GBA version, so that seems to be fixed. Another issue: pieces still lock after a few seconds in the GBA version even if the Lock Delay option is set to Never.


    I also had a couple ideas: one, a random settings gimmick, and two, an Initial drop setting (like the Initial sideways setting). This would define whether holding a drop button would carry on to subsequent pieces. I see that this is currently off, but other games have this on, so it may be something to consider adding.
     
  3. I had a similar performance on the GBA version just before that (similar settings, but I think I had unlimited floorkicks on)


    If anything, the smaller pieces make it easier to stack. I hardly had to hold at all, except the hhold onto an I4 to set up back-to-back scores.


    The lock delay really started to get me from 120 lines onwards, because I was using up to drop most pieces, and it was dropping the next piece instead.


    The only other issue is the colours of the pieces, and their noises. I2 and I3 had the sound that Mario makes when he shrinks. Any reason? And the colours make it hard to tell the similar pieces apart...


    EDIT: More bugs:


    GBA version: Silver and gold squares are the wrong way around, and appear to turn into rubble when one of the lines from them are used. I didn't confirm the scoring, but that might be affected as well.


    PC version: A T-spin double that causes an earthquake and generates a 3rd line is shown at the end as a T-spin triple. Again, I didn't check the scoring.


    PC version: In Low-Rider mode, at game over, the "fade effect" covers all 20 lines, not just the 8 lines at the top.


    Sorry if you hate me for finding all of these [​IMG]

    Oh, and... "LOCKJAW: The Reference" ?
     
  4. Cubicz

    Cubicz Unregistered

    i would like to request an extension to the "invisible pieces thing" like once they are dropped they don't show.


    Toggle falling piece invisible or visible


    toggle x-treme mode (in lieu of a better name). In this mode, you are shown the next 7 pieces for x amount of time, then they are blank and you cant see the playfield or anything. Then it shows you how you went, and then x amount of time to look at the next 7. I think playing blind is a great way to improve, especially in areas of learning how rotation works etc.


    sorry for the bad grammar, I'm tired and wanted to get this out before i slept and forgot it. And tepples, feel free to say no [​IMG]

    EDIT: oh, and I'm sure you can think of plenty of variations of that that could be better, maybe different combinations of invisible pieces/time/etc.
     
  5. tepples

    tepples Lockjaw developer

    windres (Google) is the Windows resource compiler, used only to insert the icon into the program. You may have to replace it with whatever GNOME or KDE uses to give an icon to a program. For now just remove $(objdir)/winicon.o from OTHEROBJS.

    Everything is in multiples of 1/65536 G. In Master 0-499, gravity is linearly interpolated from 0 of a section to 99 of a section.

    Nice idea. You're welcome to put a UI proposal on the wiki.

    I'll look into it.

    Initial drop is enabled when ARE is longer than DAS.

    What sound has I4 always used?

    Without a copy of Family Tetris, the known parts of the Guideline don't give me much to work with.

    I fixed the colors, but the GBA version doesn't have connected blocks yet.
    It won't be possible to distinguish silvers from garbage until I get that feature in.

    When counting line clears of each degree under naive gravity, the game currently counts avalanche lines as part of the previous line clear. How should it be handled? And you really like The New Tetris, don't you?

    Fixing for next version.

    I hate the bugs, not the messenger.

    These are the reference implementation of the Lockjaw engine, just as PC processors and video chips have "reference boards".

    WORKSFORME. Set "Shadow" to "No falling piece either". This option is in shadow because if a hidden falling piece makes sense only with a hidden shadow.

    caffeine agrees, which is why he asked me to put in Shadow=No falling piece either.


    I don't think I've ever had this much overwhelming response to one version in just 12 hours.
     
  6. cdsboy

    cdsboy Unregistered


    Everything on tepples site are the windows versions of them. You have to go directly to the people to get the real version. If you had used the link i posted you would've gotten the right linux version and it would've installed without a problem (i think, it worked for me). here it is again...

    http://www.ecplusplus.com/index.php?get=31
     
  7. tepples

    tepples Lockjaw developer

    There's often a script somewhere in the "Windows version" of a library distributed as source code to convert the source tree to the "Linux version". This is the case at least with the Allegro library.

    All I see is
    And unfortunately, Wayback Machine doesn't save application/zip files.
     
  8. If you go to the main site, it says something in Italian, which says that this dominion has expired when translated into Googlish.


    The zip file was fine. All I had to do was:


    Code:
    ./fix.sh unix
    make
    sudo make install
    And all of the other libraries were in Synaptic.


    I'll probably delete the windres line entirely, as X uses .xpm or .png images for program icons, instead of storing them in the executable. The LJ icon in 16x16 32x32 and 48x48 would be helpful, and yes, transparency will work properly.
     
  9. tepples

    tepples Lockjaw developer

    So how does X know which icon to display for a given executable?

    My copy of GIMP 2.2.10 for Windows can open and save .ico files. I don't know whether it can do so on other platforms.
     
  10. For the executable itself? It just displays a standard icon. The image is used for the shortcut's icon.

    Edit (Saturday, 2pm GMT):

    Bug: The Master speed curve starts counting at 1, not 0. Another "off-by-one" error, probably.

    Bug: In SRS rotation, the I2 piece sometimes fails to rotate from vertical to horizontal while against the left wall.

    Feature request: Split the randomizer choice into 2 options. Piece set (Standard 7, All 10, Stickless 6, Stickless 7, Snakes only) and Randomizer (Single bag, Double bag, Move to back, History, Memoryless)

    The I4 sound is very similar to the last part of the power-up sound. The more annoying part is that I2 and I3 have the same sound. You're probably running out of simple sounds, though...


    Another bug: In Vs. CPU using a 10-piece bag, if teh I4 isn't in the first 7 pieces, then you get the garbage lines when the first one appears. I will look into if this bug occurs in other randomizers, although you'll probably know if it does as soon as you read this... Edit: What is happening is that it ignores the garbage effect for all I4 pieces in the first 7. This bug is also repeatable in History 6 rolls and Memoryless (In the latter, I had 3 in the first 7 pieces... [​IMG])
     
  11. tepples

    tepples Lockjaw developer

    LOCKJAW 0.27 is still latest while primary developer is on winter break


    Planned features for the next version include "Arika symmetric" rotation system, correct colors for gold and silver squares in GBA version, and compensation for ceiling height in PC game over animation.


    Requested information on the wiki includes a description of DTET rotation, a description of the exact behavior of T-spins in The New Tetris and Square mode of Tetris Worlds, a description of the kick behavior of I2, I3, and L3 in Guideline-based games that have them (Kids Tetris and Family Tetris), a sound for I2 and I3, a more precise description of the TGM2 Master timings, and a description of a language or other UI for expressing speed curves.


    So in what format are shortcuts saved? Does this vary per desktop environment?

    The error is not living in the same country as a copy of TGM to test against. I was extrapolating based on Tet?is for NES, Tetris for NES, and Tetris & Dr. Mario for Super NES.

    That will happen when I implement the "Blackjack" randomizer language that we discussed on IRC.

    So if I2 and I3 are associated with small Mario and I4 is associated with big Mario, that makes sense, right?

    That's no bug. Suppressing garbage for 7 pieces gives the simulated opponent time to build a stack.
     
  12. Probably. I don't claim to be a *NIX expert, but from what I understand, the 3 main desktop environments (Gnome, KDE, Xfce) are all quite different.

    In other news, it compiled as soon as I removed the references to the icon. I'll put the important stuff on the wiki and let you take your pick as to how much you want to mention.

    Ok. I'll admit to being a little harsh about this. What I meant was that the level counter starts by showing 1 while the first piece is still falling.

    Ok. I'll chalk this down as a long-term goal, then. I'll just work on trying to add "Memoryless 10" in so that I can start to gain an understanding for the code.

    Sorry, I prefered Sonic as a child. [​IMG] I'll give you that for one of the pieces, but not both of them. (I see this as a related problem to the colours of the pieces. When we define them by their own properties, instead of defining them by the other pieces, it will be easier..)

    Ok, I understand the theroy behind why it happens the way it does. I must be smoking, though. I could've swore that at one point it said "every I tetromino after the first"...
     
  13. tepples

    tepples Lockjaw developer

    So TGM doesn't add 1 to level on spawn. But does it add 1 to level before or after checking for lines? Say I'm on 99, and I make one line. If TGM adds 1 on lock, will the level go to 100 (add 1 before checking lines, staying at 99, then add 1 for the line), or will the level go to 101 (add 1 for the line, which finishes the section, then add 1 for entering ARE)?

    Randomizers are defined in randomize() in gimmicks.c.

    I was the one smoking something.
    [​IMG]

    Vs. CPU was documented back when the only randomizer was 7-piece Bag. (The 14-piece system wasn't suggested until later.) Can you find where in the manual this error occurs?
     
  14. The Blackjack idea seems neat. Perhaps someday the whole ruleset (not just randomizers) can be generalized and externalized into a definition file in XML, sort of like BulletML?
     
  15. I had to watch a few TGM vids to check this. In all of the modes that I watched video of (TGM1, TGM2 Master, TGM2 Death, TGM3 Master, TGM3 Shirase), the level does increase on spawn, but doesn't for the first piece. I will have to defer to the people who actually play TGM regularly to see exactly when the counter increases. Edit: I suspect that at the end of ARE is correct. And Jago: Thanks for your videos.

    Can't find it. I think you got it already...

    Can I just go on record as saying that wnen I mentioned this idea to you, tepples, I didn't have any idea about how to handle the TGM-like randomizers (History and Move to back)... Edit: Thank you [​IMG]


    That being said, it sounds like a really cool goal...


    Edit: Something to mention in the manual. If the connections image is missing, then the gold and silver squares don't appear.
     
  16. My brother bought me that Max Music thing. It can run homebrew (with a trick: I must rename the homebrew file to bootme.nds ; the firmware's loader give me a weird blue and white "HDD test" screen)(and I can't get ScummVM working :/). So, any chance of having Lockjaw: Strabismus edition ?
     
  17. So... I've been looking at the code, and I have a few thoughts...


    It's enum {I=0, J, L, O, S, T, Z, I2, I3, L3}; yeah?

    The biggest mystery to me is what's happening in bagRandomizer(). All I can tell is that p->permuPhase contains the number of pieces left in the bag, and that bagInitRandomize sets this to 0, so that the first time through, it generates the bag...

    Because TOD has an initially held random piece. I can actually see some interesting things that could be done with this, like starting with an I in hand for randomizers without it, and a T for SZSZ.

    This looks like it will need a couple of additions to LJField.

    I assume that you do...
     
  18. tepples

    tepples Lockjaw developer

    I think. I'd have to go look up what happened to the order of the small pieces, but the tetrominoes are alphabetical and first in the list.

    Yes, that part is a hack on top of a hack and a real pain to understand. I've rewritten it in a more general manner for the next release.

    Added to todo.txt.

    There is already a 'char chain;' which is currently used for back-to-back tetris/T-spin logic. It could be used, say, to make double-single-single worth as much as a tetris if desired.

    If not, I can read the diffutils manual. I just checked, and both diff and patch are installed into my copy of MSYS.
     
  19. Thanks. I think I'll wait before workong on that, then.

    Hopefully I'll beat you to it...
     
  20. i've been putting some thought into what would be the simplest way to score, while rewarding higher clears. mainly since in forty line mode, it doesn't matter if you go for tetrises or singles. i thought about what ttc tried to do, but instead make singles worth one point, doubles three, triples five, and tetrises seven. that way it's accurate, and you don't have three zeros following. then set the goal to 175 points-- 100 lines in tetrises, 175 in singles. breaking a minute would mean you're going just faster than 260tpm-- the fastest i've seen (polly quadra vid / dtet-esque). i think it would be a good excercise in speed as well as making tetrises. anyway, that's all.
     

Share This Page