Introducing Jester.

Thread in 'Discussion' started by JoshuaD, 1 Apr 2008.

  1. tepples

    tepples Lockjaw developer

    No. But you can activate automatic firm drop for all pieces by pressing down down down down, down down down down, C B A at the title screen.

    You can use the preview sounds from if you want. I can show you how to extract them.
     

  2. No, not quite. Perhaps you missed my post? Only perform a manual lock if you've previously fallen a row (holding down allows each block dealt to be locked once they land in <20G situations) or if down has been released since the last manual lock (in 20G situations, down must be released in order to reset the manual locking "safety.") You should be able to do an initial lock, but you need to ensure locking a piece in 20G cannot be transferred to the next.
     
  3. JoshuaD

    JoshuaD Unregistered


    Hmm. I just tested this on TGM in 20g mode and holding down locked each piece instantly. I didn't need to let go and repress it to get them to lock.
     
  4. Now that I think about it, the current behavior is the one used in TGM1. However, you might want to implement the new locking safety rules now so you have it in place when you move on to TAP or Ti.
     
  5. JoshuaD

    JoshuaD Unregistered


    Sweet, I just did. Thanks for the heads up.


    I'm coming along well on full TGM1 emulation. When I get it to where I think it's right I'll post up a new version. Hopefully that will be this weekend. It depends on how busy I get with other things, but I feel good about it.
     
  6. JoshuaD

    JoshuaD Unregistered

    Well, that went much quicker than I expected. Download the newest version here.


    I think I've got TGM1 pretty faithfully here, so if you guys notice anything that seems funky please point it out. The only thing I haven't done yet is the preview sounds for each block. That shouldn't be difficult, I just need to extract the sounds. Expect that this weekend. (Tepples: Could you post some info on how to do that or PM me?)


    I've included a TGM - 20G mode rule system as well. This is just like as if you entered that code in the beginning of TGM1.


    The only thing I'm not sure about is if I fixed shifting in 20G. I'm pretty sure I have, but I'm not good enough at 20G to design the stack how I want to do specific tests, so I can't setup too many test cases in the real TGM. If anyone could test this extensively I'd be very thankful. I still have the frame-stepper enabled, so if that's helpful to you, f2 to turn it on/off, and f1 to step frame by frame.


    If there are no serious issue, I'll be moving onto TGM2. I love setting impossible deadlines, so hopefully I'll get you guys a version with TGM2 implemented this weekend. After that, which version do you think I should work on next?
     
  7. jujube

    jujube Unregistered

    ACE (kidding)
     
  8. Zaphod77

    Zaphod77 Resident Misinformer

    there really are only 2 test cases.


    1) try to move across a hole. this should fail.


    2) Synchro over a hole.


    TO test synchro, set this up


    Code:
    | XX
    | XX
    | X XX
    | X XX
    | XXXX
    | XXXX
    ------
    
    DAS an I left, then while still holding left, rotate.


    the I will rotate and slide into the hole on the left if you've got synchro correct, even at 20g.
     
  9. JoshuaD

    JoshuaD Unregistered


    Awesome, thanks. I'll test it tonight. I'm pretty sure both should be good.
     
  10. JoshuaD

    JoshuaD Unregistered

    If, theoretically, you pressed shift left twice in one frame, what would happen? Could you skip over a hole that way?


    I know it's not possible with such short lengthed frames, but my game has variable length frames, so I wanted to know how I should implement it.


    Right now, during each frame, it detects whether the button was pressed and whether it's currently held. It doesn't check if it was pressed more than once. Do you think this is the right behaviour?
     
  11. That sounds correct. Each input is limited to 1 activation per frame.
     
  12. jujube

    jujube Unregistered

    if an input is released and hit again within the same frame, is it recognized as a new input or one already held? how is this handled in Jester and TGM? if you release and hit left in the same frame will DAS stay charged?
     
  13. JoshuaD

    JoshuaD Unregistered


    Currently in Jester it will reset DAS.
     
  14. Altimor

    Altimor a.k.a. Ghett0


    Also, don't forget, since Jester/Windows can only have 60Hz, pressing the button 60 times in one frame then pressing it a 61st time and holding it would start charging DAS the frame it lost the charge, so that you could slow the block down for complex for movements that require it when TASing.
     
  15. Zaphod77

    Zaphod77 Resident Misinformer


    Nope. but you can rotate and then move in one frame befor egravity.


    that is a synchro.
     

  16. Um, what?


    The in Windows can go up to 200Hz (maybe higher), that says nothing about how it handles input.


    And I have no idea where you got the idea of pressing 60 times in one frame, that doesn't even make sense, if you released and pressed again on the same frame, the game would probably think you were holding the button the whole time, but that depends on the game/hardware.
     
  17. Altimor

    Altimor a.k.a. Ghett0

    oh screw it then
     
  18. Edo

    Edo a.k.a. FSY

    The gravity seems much improved in v0.7.65, 20G certainly seems like true 20G.


    I also notice you've corrected the spawn locations (I can't believe I played literally an entire game without noticing they were wrong in the first place!). However, in doing so, it looks like you might have broken the wall-kicks. Some really weird kicks that shouldn't work, and didn't work in the previous release, are now being allowed.


    Back on the subject of gravity, I notice that you've gone for a "frames per row" approach, or rather "frames per 1/16th of a row". But if you want to replicate TGM's discrete gravity correctly, the "frames per row" approach will present problems. TGM actually uses a 1 byte counter, which gets decremented each frame by the current gravity value. (The gravity values are the ones listed on the wiki). Every time the counter passes 0, the tetromino falls 1 cell, and the counter wraps back to 255. So if the gravity is 144, the counter will start at 255, decrease to 111 after the first frame, decrease (and wrap around) to 223 on the second frame, and so on. Activating soft drop will freeze the counter, and when soft drop is released, the counter will continue from where it left off.
     
  19. JoshuaD

    JoshuaD Unregistered

    [​IMG] That's an easy fix. Thanks for the catch.


    Thanks. This is something I'm currently working on. I appreciate the info.
     

Share This Page