I'm working on a tetris implementation.

Thread in 'Discussion' started by JoshuaD, 12 Jun 2007.

  1. Nothing that holds your hand quite that much, but it's a much easier system to understand. It tries:


    -base rotation

    -1 right of base rotation

    -1 left of base rotation


    That's pretty much it. If you want to be anal there are 3 exceptions to this rule, but they're not very important. Details are on the wiki:


    http://www.tetrisconcept.com/wiki/index.php?title=TGM_Rotation
     
  2. JoshuaD

    JoshuaD Unregistered

    Excellent. That's a really easy system to implement then.
     
  3. JoshuaD

    JoshuaD Unregistered

    I'm guessing there's never a need for floor kicks because of the way the blocks rotate?
     
  4. tepples

    tepples Lockjaw developer

    Games that allow the player to "firm drop" (piece moves immediately onto the stack) usually have a small delay before another piece enters. See [[ARE]].

    Heh, a Lockjaw clone [​IMG]

    In TGM rotation, there is occasionally a need for floor kicks, especially for the I and T tetrominoes. [[Floor kick]] gives examples. The first two TGM games didn't have floor kick, but TI and TGM ACE do. I'd suggest using 1 right, then 1 left, then 1 up; that's what I did for the system used in Lockjaw: The Overdose milestone 4 and Tetramino for NES.
     

  5. TGM3 added more than just floorkicks. I pieces got some wallkicks as well. See KAN's page for reference, linked in the TGM Rotation wiki page. [​IMG]

    Oh and Josh original TGM/TGM2 didn't wallkick the I piece... I forgot to mention that (though as mentioned above, this changed in TGM3).
     
  6. mat

    mat

    to clarify, if you are implementing ARS, you'd probably make the most people happy by using the modifications from TGM3. you'd make even more people happy if you had a heboris/lockjaw selection for the various rotation systems/color sets. (which, btw, i've always felt should be independently configurable)
     
  7. JoshuaD

    JoshuaD Unregistered

    Hey Matt: The skins and the rotation system will definitely be independent.


    I had ORIGINALLY intended for the block set and the rotation system to be independent, but I'm discovering that it's not very useful considering how closely linked the two are.


    From what I read TGM3 will be how I'll do ARS, the previous versions seem a little limited if you want things like wall kicks.


    And of course you could still turn off wall kicks in any rotation system, or make firm drop the default drop in SRS, etc.
     
  8. why not create your own rotation system? both SRS and ARS have their flaws.
     
  9. JoshuaD

    JoshuaD Unregistered


    I think I'll do that once I get some of the other features up and running. Thanks for the vote of confidence. [​IMG]
     
  10. tepples

    tepples Lockjaw developer

    What's the big flaw of SRS, other than perhaps 1. the 2-block movements for 3-wide pieces and 2. the infinity rule that normally comes along with SRS?
     
  11. DIGITAL

    DIGITAL Unregistered


    Crazy wallkicks?
     
  12. You forgot 3: the seemingly random wallkick order. This is partially why I'm creating mine to be ARS-like not SRS-like...
     
  13. JoshuaD

    JoshuaD Unregistered

    Alright. I've changed my logical frame-rate from variable to a constant 1 millisecond, whereas the rendering engine just renders along as fast as it can up to a (user defined) maximum.


    I like this constant frame-rate logic engine better. It guarantees stuff happens exactly right always, where before things may have been off by a few milliseconds here and there due to the framerate not being an exact multiple of some timer variable (or vice versa).


    I've also started implementing some animation, along with ARE. What's the deal with ARE? Nothing on the screen can be changed during that time, but rotations and shifts can be queued up?


    And should ARE happen before or after we clean up full rows? The few things I've been reading suggest before we clean up, but doing it after makes much more sense to me.


    Thanks for all the input guys.



    edit: Well I did some calculations and I've got terrible news about my new constant-rate logic engine. After 49 and 3/4 days of continuous play there may be a very slight (off by a few milliseconds) one-time inconsistency in the game play due to the maximum number that can be held in a long. If any of you guys run on a marathon for 49 days and somehow notice this un-noticeable inconsistency, I apologize in advance. [​IMG]
     
  14. JoshuaD

    JoshuaD Unregistered

    Alright, I've got a newer version. The big addition is the Key Config, but I've also made some small game play improvements, along with some basic animations.


    Download v0.6.4.


    Enjoy. Like always let me know what you do and don't like.
     
  15. The key config doesn't appear to be working properly.. I tell it to use certain keys and then it doesn't respond to them anyway.
     
  16. JoshuaD

    JoshuaD Unregistered


    What keys? What name does it show when you assign it? Thanks.
     
  17. [​IMG]

    The arrowkeys are working fine (which show up in swedish here since the computer I'm using atm is running a swedish OS), but the buttons for the rotation doesn't register at all.
     
  18. mat

    mat

    the problem seems to be... strange... it fixed itself for me after a while... hold doesn't work, should it?
     
  19. JoshuaD

    JoshuaD Unregistered

    Yea, it's definitely a little buggy. I'll fix it up tonight or tomorrow, depending on when I get the time. I should have waited to post it until I had checked it over.


    That's what happens when you go on an all-night code spree. [​IMG]
     
  20. JoshuaD

    JoshuaD Unregistered

    Hey guys, sorry I took so long to post up a new version, I ran into some problems with the launcher I was using when I added sounds. But this is a pretty good version, so it's worth the wait. [​IMG]

    I've added the graphics for the hold-block, fixed the key config dialog and added sounds. I've also done a lot of back-end remodeling to support the various rotation systems. This version has most of the single player aspect of the game done, only game configuration and high scores/best times remain. After that I can move on to the network play.


    I'm also going to be moving most of the configuration files to xml so they're user editable. That will probably be the next thing I do, so this will be the last version I put up for a while.


    Let me know what you think so far!


    Download Game v0.6.5
     

Share This Page