Lockjaw: The Tetromino Game

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

  1. tepples

    tepples Lockjaw developer

    LOCKJAW 0.29 is out


    0.29 (2007-01-17)
    • TDS scoring recognizes chains properly (reported by Lardarse).
    • TDS scoring section factor stops increasing after 190 lines.
    • Added NES scoring method.
    • Added scoring for soft and hard drops to options and debrief.
    • Cascade no longer deletes the bottom row when lines high on the playfield are cleared (reported by Lardarse).
    • PC: Draws trails when a tetromino goes up or down rapidly. (Option to turn them off.)
    • PC: Handles dirty rectangles for next pieces and score separately.
    • Scoring section of README describes all scoring methods.
    Then I'll work on it for my next release cycle.


    We have 420 posts. Does this number mean anything?
     
  2. cdsboy

    cdsboy Unregistered


    Well if your refering to the fact that 420 is a multiple of 42. Then, sure it means something to some.


    Accually 420 means that i'm gonna release the new version for the mac, even though pretty much nobody uses it.


    EDIT:

    Also the version of allegro that you use is 4.2.0 which is interesting.


    EDIT #2:

    Its up and out. Usually download http://www.arrogantintellect.com/lockjaw.dmg


    oh and the trail needs some work.


    EDIT (getting annoyed): So why is there a black square in the corner now?
     
  3. Cubicz

    Cubicz Unregistered

    A small request; option to show upcoming piece relative to playfield height, I have trouble flicking my eyes up and down to look, even when it is set to right or tapered.


    And thank you tepples for the help with the music, that's all rosy now.


    Edit: holy crap, lockjaw crashes for me every time I top out or finish a gimmick. I've tried reinstalling it, and re downloading the Allegro .DLL.


    It plays the DUNNNN sound, then goes to a black screen, then minimises with the Microsoft error reporting thing comes up. I'm running Windows xp, 3 ghz cpu. I Just checked, and it runs o.27 and 0.28 fine, but the newest one makes it conk out.
     
  4. cdsboy

    cdsboy Unregistered


    Wow, usually the mac version sees all the bugs that the windows version does and more... I wonder if it could be your computer thats causing the problem. I might try it on my windows box just to be sure.
     
  5. Cubicz

    Cubicz Unregistered

    would it help if i posted the error report?
     
  6. wow, those trails are fun. they make me feel faster.


    I really like the goal type, goal count idea.
     
  7. cdsboy

    cdsboy Unregistered

    You know, the whole time i played with the trails i felt and went faster. I just didne't really realize the connection before you said it.
     
  8. What are the trails?
     
  9. tepples

    tepples Lockjaw developer

    Make a T-spin or a 4 lines and see what happens to it. I put it in while I was debugging changes to TDS scoring.

    Or leave a game by holding Esc?

    Into a fresh folder?

    I couldn't guess why this happens. Could you PM me the error report?

    When the player hard drops a piece in Cultris, the piece is drawn with a motion blur to show that it is moving quickly. I duplicated the feature.
     
  10. First small suggestion: your download link is always to lj.zip, and is duplicated lower on the page with a different name including the version number. Since I usually download each version as they come out, I either have to manually rename the lj.zip file or scroll down the page to find the renamed one. Why not always just number the zips, and have a numbered link at the top of the page?


    I can think of three ways to implement easier number entry using a joystick type device: 1, holding down the hold button (or some other assigned button) while pressing left/right to make the numbers go by 10s for big number entry, 2, press a button to enter the number, then press left/right to select a number/letter and press up/down to change the number/letter, and 3, press a button to highlight a number, then press left/right for +-1, and press up/down for +-10. I think an onscreen calculator type interface would be cumbersome. If I had to choose one of the three I just mentioned, I'd probably choose #2, since it is flexible and could be used for text (preset name, etc) as well as number entry. In the GBA version, the A button could enter a number, and the B button could back out. Left / Right could still be used for quick editing of a number like normal as well. Trailing zeros could be hidden until the number was entered.


    As far as the list of options being assigned to a preset, the interface mockup you've shown with the checkboxes pretty much mirrors what I had in my head. Sorry I didn't put anything on the Wiki earlier. But hopefully what I say here will be descriptive enough. Your list of goals (time, score, line, level, keypress) sounds good, although I might add grade to that list if that gets implemented at some point. Letting any option be a goal could be the most abstract way of implementing things eventually. Along with making any option able to be changed over a curve, this could pretty much allow anything to be implemented. Grade could simply be a option that would take arbitrary text, and then could be set as desired when certain conditions were met. I was also thinking that another arbitrary onscreen text field would be a good option, as eventually it could be set conditionally and could tell the player information about desired goals. This could be used to implement "mission mode" type curves.


    So then it follows that all goals could be options as well, and would be set to default values like anything else. I should mention that I still think there should be a default set of options the same as always, in case that wasn't clear. Starting Time would default to 0, same with score, line, level, and maybe keypress (though perhaps there should be a new class of read-only values?), and grade could default to 9 or simply nothing, if it isn't defined in the preset. If someone wanted to practice, say, level 300 play on death mode, they could then change the level option to override the default level on a TA DEATH preset for example, or create a copy of the TA DEATH preset with the level option set to 300.


    The only piece of the puzzle left for a truly abstract system, then, is a method of defining curves, or ways that options change in relation to other options. Ideally, speed curve, grading, and even scoring, could be abstracted. One way of doing the simple stuff would be to add an option at the bottom of a preset list to add a condition. This condition would then be added as two extra options (both presets from the list of saved presets). If all the non-inherited options of the first preset were met, then it would apply the second preset to the game. The second preset could have more conditions in it, and those conditions would replace the parent preset's conditions.


    Besides the problem of having to create a lot of presets (perhaps they could be bundled, or categorized), the main problem with the above idea is defining indefinite values. For example, the constantly increasing speed of the Exponential speed curve. Ideally, a formula would be used, but I'm not sure of the best way to define this using a simple interface. Perhaps a set of two options, with one defined as increasing x smoothly as the other increases to y? However, this only defines a linear increase, which is also limiting. I'm at a loss here for a simple way to define these kinds of relationships. Any math people here that could help out? Maybe an exponent value for the relationship could be set as an option?


    I kind of like the idea of putting this stuff in data files, but would really like to keep it simple and inside of Lockjaw if at all possible. Especially now that there's a GBA port. If there were data files, there wouldn't be any easy way of getting them into a GBA version without compiling a version with a special utility or something, which would be a hassle. It might be convenient, though, as an extra option. Ideally, presets could be defined on all platforms in the same manner. On the GBA, they could also be saved in SRAM.


    One extra question: you mentioned that speed was defined as a fraction of 1/65536th of a G. So does that mean that 20G is 1310720 (65536 * 20)? How does Heboris define all its speed values?
     
  11. The source code to Heboris and Heboris UE can be examined through the use of YanePackEx, which is explained in a wiki page.
     
  12. just me or will more than one piece trail, one after the other, sometimes on a drop?
     
  13. tepples

    tepples Lockjaw developer

    In what way?

    It turned out to be a failure to synchronize debrief's concept of ARE option semantics with a change made to options in 0.26. It will be fixed.

    Animal Crossing for GameCube uses that. Incidentally, Animal Crossing is part of the reason that I'm not getting enough done on my other projects as I'd like. Luckily, I have only about 38 days of game time until I beat the game.

    Perhaps when somebody describes the TAP grade system in detail on the wiki. Until then, goal by grade on TGM1's system can be emulated with goal by score.

    Placed where? Overlapping the top three rows of blocks in the playfield? We don't have the luxury of a second screen unless I make all the blocks smaller.

    I sort of understand what you are talking about, but I don't see the point except for the "starting section" and "starting garbage" options seen in Tetris products for NES, GB, GBC, and DS. Another problem is that the range of valid section numbers varies per speed curve (0-9 for Master, 0-5 for Death, 0-29 for NES, 0-20 for Game Boy, 6-30 for Rhythm, 1-20 for TDS if that game's speed curve is ever posted to the wiki), for which I would have to extend the options framework.

    Can you reproduce this? Or are you getting controller bounce?
     
  14. mat

    mat

    feature request:

    live pieces per second meter. preferably with settings to update every frame, every piece, every 5 pieces, every 10 pieces. probably would work best with 2 meters, one being the current, ie, last 5 pieces, and another being total in the given game. with the option to have one and/or both displayed independent of each other. if nothing else it would be cool to whip out at parties to easily test people's speeds in a way that can be quickly compared--with the "current" meter, you wouldn't even have to start a new game.
     
  15. cdsboy

    cdsboy Unregistered

    Well now that i've played alot of lockjaw i've grown rather fond of the trails. So i can't even remember what i wanted fixed. Also would it be possible to make it so instead of only having one recorded file, you do what heboris does and when you finish the game you can press 1-9 and it will record to a slot depending on the # you pressed?
     
  16. Bloodstar

    Bloodstar Unregistered

    Long list of crazy suggestions, AND a bug report!


    SUGGESTIONS:


    -Customizable font and BG colors, to replace the black font on white BG used in-game. These could also be added for the Game Over and Options screens.

    -Allow customizable fonts, themselves. Keep the one you're using now as the default, but allow them to be changed if desired.

    -Custom playfield BG types. (e.g., transparent dark layer, solid color block... hell, even custom BGs.)

    -Changing the garbage type, or adding an option to, in Drill 40 so that you can't blaze through it with Cascade gravity on. (I often get 10-15 combos this way. >_>)

    -Potential online play, though it'd be a bitch to add, I'm assuming.

    -A DOS port would be cool, but I doubt it'd even get any use...

    -Customizable window sizes. (Some people only use 800x600 monitors, and might want to run the game windowed.)

    -Allowing AVI exports of replays. This could be useful, for example, if you want to put a replay on a PSP.

    -Default BG changes/edits. Having a guy with no legs is just, well, weird. Personally, I replaced my BG with a catgirl.

    -Allow block/BG animation. Once again, a potential bitch to add, but it'd add a nice touch to TNT-style games.

    -Music selections in the GBA version. If you can contact me on AIM, I might be able to send a few nice songs. Can't remember the sources at all, though.


    BUGS:


    BG tends to really screw up if it's under 800x600. Try it with a smaller image, you'll see what I mean. =P
     
  17. about fonts, i tried to change this once so the font was white, but i don't seem to have much luck with allegra grabber. i can only seem to delete items.
     
  18. tepples

    tepples Lockjaw developer

    pulls out todo.txt

    Doable.

    How would you suggest that the UI for this work? Should I try to write some sort of TTF decoder based around the FreeType library?

    These can be implemented in terms of "transparent background", which cdsboy requested in TODO.txt. I'll add that you seconded the request.

    Good idea. As of the next version, garbage is connected horizontally so that cascade doesn't make garbage clearing ridiculously easy.

    How can a 1-player game be online, except possibly by having a score upload facility? If you're talking about something like Tetris DS Wi-Fi play, I would first have to add local multiplayer.

    I have Windows 2000 on one PC and Windows XP on another and thus cannot maintain a port to FreeDOS myself, but anybody with DJGPP can do this.

    That would first need customizable block sizes. Added to todo.txt.

    I've been wanting to add that myself. But given an Allegro bitmap in RAM, how do I write it as an AVI frame? If you can code an example that makes an AVI of "hello world" bouncing around the screen, I'd be willing to take a look at it.

    Any weirder than the minnows that Tetris Worlds uses? Any weirder than a fat Italian plumber who can jump twice his height that Tetris DS uses? Any weirder than Weebles or Weebl and Bob?

    Good job. README.html describes how to use skin.ini to do this, and I believe there was a thread about replacement backgrounds.

    Yes, that'd be a bitch to accomplish in a general manner without putting half the code of StepMania into my program and slowing the game down on laptop computers and other machines with weak OpenGL support. If you can code it, great!

    That would require me to write a proper music engine first, as the format I used for TOD is a bitch to code for.

    How should this be fixed? How should the program interpret an image that is larger or smaller than the window size? Or should it always just resize the window to the size of the background image?

    The font color is defined by code, not by lj.dat. I should add some preferred colors to skin.ini when I get more time to work on the program.
     
  19. yeah, i remember tetron had a cfg file where you could define the hex color value of different fonts. it's not a huge must-- i just thought i should mention it.
     
  20. Bloodstar

    Bloodstar Unregistered

    TTF decoder sounds doable. I, sadly, have absolutely no experience in coding for anything other than QBasic, so I can't help you out there. :/

    Yay, I'm in a readme. =]

    Garbage created from normal clears still behaves normally, right?

    I actually was thinking along the lines of TDS...

    Looks like something else I've gotta grab. =P

    Perhaps, if you somehow managed to look at the code for FCE Ultra, it could work. I wouldn't suggest VBA's, as the sound tends to desync. (And that = BAD when recording TOD runs)

    Good point. [​IMG]

    I actually just replaced the ljbg.jpg image, since I hadn't seen this page at the time...

    Thought it'd be tough... Never considered slowdowns, though. Might as well scrap this idea.

    Ah. I don't know much about GBA sound engines...

    Could be an option. I'd resize the BG image to the window size, myself...


    Oh, and regarding the music suggestions... I actually meant trackers for LJPC. Sorry about not being clear about that. x_X


    Edit: Oh, where's the IRC channel I keep hearing about? o_O
     

Share This Page