Lockjaw: The Tetromino Game

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

  1. mat

    mat

    a heboris style interface would be nice--with ARE in frames--actually DAS etc in frame counts would be helpful aswell... but ARE choice seems necessary for an open competition with 20g options.
     
  2. "Curves" per se seem meant more for endurance and survival play, rather than time/line-limited attacks. Time/Line-limited attack modes in many popular games use speed settings that starts off at a user-chosen speed (level) and keeps at that speed until the end of the run.


    Another vote for individually configurable fall/ARE/lock/line-clear/DAS parameters, a la Heboris' practice mode.


    Also, different cultures seem to use different units of measurement - to give a couple of examples, pieces/sec and pieces/mins, milliseconds and frames, etc. Right now, people used to pieces/sec and frames feel like metric system users in the United States (or vice versa). I wonder if there can be a simple and user-oriented method to alleviate this without cluttering the UI up, yet still allowing easy stat comparison.
     
  3. you can easily find tetromino/seconds by (t/minutes)/60, or frames using the same method. the data's still there. what cultures use what methods? i've only seen tetromino/minute in some european and usa fan games. other than that is the (controllable frames)/tetromino method, which is french i guess.
     
  4. tepples

    tepples Lockjaw developer

    I can't see any way to do this that wouldn't clutter Options and Debrief. I'd be willing to take UI proposals, uploaded as PNG or JPEG files to (say) Tetriswiki.

    The .ini file stores many of these settings in frames. Options and Debrief convert these values to seconds because the interpretation of "frames" in video games differs based on the local frequency of AC power. Most native English-speaking metric users also live in UK, NZ, and Australia, areas with 50 frames per second (one frame = 20 ms), compared to the United States, Canada, and Japan, which use 60 frames per second (one frame = 16.7 ms).


    Perhaps what Needle wants is unit choice in Options.
     
  5. Huh? Isn't LJ (as of now) a program that runs on a PC, which is a platform free from such regional differences?

    Or do you mean to say that it doesn't use the term frames so that it won't confuse users from UK/NZ/AU who are used to 50fps TV/arcade machines?


    I could imagine a configuration variable to switch between ms, US-frames and UK-frames (No need to clutter up the UI. Since it is something that you'd possibly not even notice the difference of, just a mention on the configuration file would suffice- much like Mozilla's about:config hidden preferences.) but there would be problems for setting the default values, that is, whatever it may be set to at default, it will always look "wrong" for some parts of the Earth.


    If the game was to accommodate players from all over the Earth, the only way I can think of is auto-detecting the user's OS country the first time the program is run, and setting the frame/msec unit variable according to it.


    But then, that will seem so overkill and far from the game itself, so the game will probably keep its "wrong"-to-some-parts-of-the-Earth units for the time being, I guess.


    Thank you. It's nice weather out here, in 291.15 degrees Kelvin, with some nice wind coming from the direction of 0.785398163 radians from North. The current time is 4,920 seconds since last midnight and counting.
     
  6. tepples

    tepples Lockjaw developer

    LOCKJAW 0.21 is out


    0.21 (2006-10-21)
    • Added new T-spin detection rule "3-corner T no kick", identical to 3-corner T except that a wallkick is not counted as a rotation (requested by kotetsu213).
    • Options that don't apply because of how another option is set are grayed out with an explanation (requested by Needle).
    • Debrief tells number of blocks left in the playfield and whether saved state was used (requested by caffeine).
    • Debrief tells what level the player stopped on.
    • Added support for saving input stream ("demo" or "movie") to file "demo.ljm". Press [ to start/stop recording and ] to start/stop playback (requested by caffeine).
    • Pieces are actually random again (0.20 regression).
    • New lockdown mode: Entry reset. Instead of resetting, the lock timer pauses while the piece is falling (requested by caffeine).
    • No +20 for banking more than 5 beats (requested by caffeine).
    • 250 ms entry delay option (requested by matt_hatter83).
    • Entry and sideways delays in Master and Death use the shorter of the speed curve's delay and the user's delay.
    • Added soft drop speed to options.
    • Added settings 8.6 Hz through 6.7 Hz to Sideways speed.
    Continuing the discussion of the time unit:


    Right, but given that PC monitors may refresh at any speed from 60 to 120 Hz, LJ needs to synchronize the game loop to some constant time base. For the internal unit, I have chosen 3600 frames per minute, just like TGM and TDS. The user interface uses decimal fractions of the second, a unit that is 1. SI and 2. familiar even to the non-gamer public.

    This is what I was talking about. While "second" and "ms" are the same in every country, a "frame" is like an "inch"; its definition varies from country to country. The Canadian inch, 25.40 mm, was eventually adopted as the international standard, while some countries are pushing for a 25.00 mm inch. Sweden has had a 24.74 mm "working inch" followed by a 29.69 decifoot. See inch and pound on Wikipedia.

    For the next release, I could add a set of hidden prefs. Can you make a list of what hidden prefs would be useful, other than a global time base for display of sub-second intervals?

    And I chose ISO 8601 dates and international centiseconds and milliseconds precisely to avoid this issue. If localizability is desired, then players will probably want the game's messages in their own languages anyway, and I'll need to add something like GNU gettext.
     
  7. Just to clarufy a little, PAL region arcade machines are not bound by PAL rules as they use arcade monitors just like arcades around the world. As such they have no problem displaying 60Hz or whatever oddball framerate the game board runs at.


    Even in the case of PAL televisions, the 50/60 Hz issue is something most avid gamers are very aware of. Many frame-based games used to be ported sloppily, and simply became 5/6 the speed of NTSC games (see Ikaruga or Tetris Attack [​IMG] ). Other games run at the same speed, but are coded to better accomodate 50 Hz. This generally doesn't satisfy competitive gamers because it still feels sloppy compared to 60Hz and is still not directly comparable to games running at the fulll refresh rate (see Super Monkey Ball [​IMG] ). These days, it's nigh impossible to find a television on a store shelf over there that doesn't support 60 Hz PAL signals, and gamers there are demanding that option in their games so that they get the same experience.
     
  8. "Thank you. It's nice weather out here, in 291.15 degrees Kelvin, with some nice wind coming from the direction of 0.785398163 radians from North. The current time is 4,920 seconds since last midnight and counting."


    pwned! [​IMG]

    wow. entry reset works just like i wanted it to, and movies work very nicely. will post movies tonight. i think. or soon, at least.


    edit: is it necessary to count a run where a person just starts movie recording and completes without re-recording over as a save state? there's really no way to distinguish between someone who just made a continuous movie run and someone who re-recorded a movie. know what i mean?
     
  9. cdsboy

    cdsboy Unregistered

    dang now i really have to get dumb to compile so us osxers can get in on this action.
     
  10. extremely trivial todo: ability to exit on intro screen.
     
  11. Where do you guys usually talk online? I have some questions that will be easier for me to ask while talking interactively...
     
  12. tepples

    tepples Lockjaw developer

    Especially given that a 60 Hz variant of PAL is the standard in Brazil.

    Yes. If you record a movie, and then you play from the end of that movie, it should count as loading from a saved state. Or do you want the rule "if no points are scored between the end of the recording and game over, it's not a reload"?

    A continuous movie run will start from an empty playfield and 0:00.

    Exiting on the title screen will happen when I move Options, Game Keys, and Exit from the gimmick screen to the title screen.

    PM me or find me on IRC. But I will warn you that demos from x86 and demos from PowerPC probably won't be compatible because the saved state formats differ (endianness/alignment).


    Lardarse: See chat on blockstats.org.
     
  13. cdsboy

    cdsboy Unregistered

    well what are you using to save? Are you putting any code that is specific to big/small endian processors? I hope its not a problem because then were screwed untill you change the way your saving the replays.
     
  14. tepples

    tepples Lockjaw developer

    That would be fwrite(struct *). It'll be fixed in 0.22 with explicit serialization of all fields.

    But the formats will still probably change from 0.21 to 0.22 to 0.23 etc.
     
  15. cdsboy

    cdsboy Unregistered

    ok, hope we can get that to work. Right now i am unable to even download the dumb package, because it seems, atleast to me, that source forge's servers are down because i can only get one server and then it doesn't work.
     
  16. tepples

    tepples Lockjaw developer

  17. cdsboy

    cdsboy Unregistered

    i wouldn't add ogg support right now. it just seems like another thing asking to go wrong. Also i need the linux version of dumb not the zip.
     
  18. tepples

    tepples Lockjaw developer

    A full complement of mirrors show up for me when I try dumb-0.9.3.tar.gz.


    I was talking with Needle in IRC last night, and it appears that a lot of people want to use music from major label CDs in custom skins and have no intention of distributing those skins. The argument is that it would be less trouble for me to add support for the "vorbisfile" library than it would be for all users to look for a new favorite song in .mod, .s3m, .xm, or .it format on modarchive.com. I could imagine that feature parity with Tetris Elements is also an issue, as Elements allows use of MPEG layer 3 background music.
     
  19. cdsboy

    cdsboy Unregistered

    ok well no i am seeing all the servers. it used to just be University of Kent or something like that. so are you planing to put mp3 support in or just ogg?


    Update: I got Dumb to finaly compile. got allegro to compile. But when i run it i get a EXC_BAD_ACCESS error. I'm mot really sure why i keep getting it though.
     
  20. Hey, I've hjust had a great idea for a new gimmick...


    The Bleep Test


    You might want to look that up on Wikipedia to get an idea of what it actually is. The basic idea is that you're running back and forth between 2 points, trying to keep time with an audio recording that bleeps every so often, turning as the bleeps happen. The game that we all play already gets faster as it goes on, so I thought I'd make it a little more interesting...


    The pit starts empty, with the bottom line of the pit marked. Making that line will complete level 1, and move the marker to line 2. Once you make a line there, it drops back down to the bottom line. Making a line there will complete level 2.


    Now the marker moves to the 3rd line, then back to the bottom. Then 4th then bottom. And so on. After each high marked line completed, you need to go all the down to the bottom again, and after each bottom row completed, the marker goes back up, to one line higher than it was before. Once you've gone all the way up to the 20th line, and all the way back down again, you complete the bleep test.
     

Share This Page