Giter Club home page Giter Club logo

tetrisgym's Introduction

TetrisGYM

Menuscreen

Getting Started

TetrisGYM is a modification of NES Tetris.

While originally based on the NTSC version of the game, the patched ROM supports PAL and NTSC gameplay types.

TetrisGYM is distributed in the form of a BPS patch and can be applied to the USA version of the game with Rom PatcherJS or similar.

Unpatched File SHA-1: 77747840541BFC62A28A5957692A98C550BD6B2B

A link to the BPS can be found on the releases page.

Trainers

Some trainers have additional configuration values; use left and right in the main menu to change them.

Tetris

Tetris

Same gameplay as A-Type, with some improvements: no score cap, no rocket, no curtain, always next box, better pause, extended level select.

T-Spins

T-Spins

Spawn T-Spins in random positions. Additional entry delay on successful T-Spin to prepare for the next state.

Seed

Provides same piece sets for VS battles (or practise).

Press select to generate a random seed.

The seed trainer was improved in v3.1 to give a 'better' distribution of cases.

Different versions of TetrisGYM can still share SPS by setting the fifth digit to 0.

Stacking

Stacking

An experiment in highlighting areas of the playfield.

Pace

Pace

Indicates how close you are to achieving a score by 230 lines. Loosely based on Tetris rate.

You can choose scores up to and including 1.5m in increments of 100k.

This can be adjusted for transition or PAL games;

value score at 130 lines
4 201261
5 252936
6 300278
7 353015
8 400356
9 452031
A 508690
B 552131
C 600535
D 655460
E 706051
F 752310

Setups

Setups

Several preset playfields for practising different types of tucks and spins.

  1. Z
  2. T / S
  3. T
  4. I
  5. Buco
  6. Various
  7. L / J Spintuck
  8. L / J Doubletuck

B-Type

B-Type

Same gameplay as B-Type in the original, except heights up to 8 are supported.

Floor

Floor

Fill in the floor to a certain height to force higher stacking. This mode is often referred to as 'handicap'.

Setting the height to zero will result in a game mode with burns disabled.

(Quick)Tap

Tap

For practising tapping and quicktapping pieces over towers. 0-G will have a tower on the left of the screen and H-W will have a tower to the right.

Transition

Transition

Puts you ten lines before transition. The value given will be added to your score, so set this to 5 and start on level 18 for a 'maxout trainer' style mode.

Setting the value to G causes the mode to act identical to the game genie code SXTOKL

Garbage

Garbage

Different styles of garbage to dig through.

  1. Always Tetris Ready - Pushes blocks to force tetris readiness
  2. Normal Garbage - Random amounts of garbage
  3. Smart Garbage - Follows your well
  4. Hard Garbage - Brutal random garbage
  5. Infinite Dig Generator - Scrambles the bottom of your stack

Drought

Create artificially inflated droughts. Increasing the value causes less I pieces.

0 = normal gameplay I = no line pieces

DAS Delay

Change the auto-shift delay rate.

Invisible

Invisible

Blocks are invisible until the end of the game.

Hard Drop

Hard Drop

Press select or up to hard drop.

Tap/Roll Speed Tester

Practise tapping rate outside of gameplay.

Hz Display

Hz Display

Shows the average tapping rate for each tap in a burst.

Also shows frames between spawn and first tap, and current tap direction.

Input Display

Controller

Goofy Foot

Flips A/B, Start/Select, and inverts DPad directions like a Goofy Foot controller.

Block Tool

Block

Allow more fine control over aspects of gameplay.

This is a config option only, and will enable the block tool globally.

When enabled, press start to use the editors.

Level Editor

  • DPad
    Move around
  • Select + Left/Right
    Switch between piece and playfield editors

In piece mode

  • A / B
    Change the current piece
  • A + B
    Change the next piece

In playfield mode

  • A
    Draw block at cursor
  • B
    Delete block at cursor

Savestates

When paused

  • Select + Up
    Increment save slot
  • Select + Down
    Decrement save slot
  • Select + A
    Save state
  • Select + B
    Load state

During gameplay

  • Select + B
    Load state

Savestates allow you to save and reload playfields as many times as you want. These configurations are stored on your cart, and will persist after poweroff.

Savestates require SRAM to work. Tested and working on Everdrive / Emulator / MiSTerFPGA.

Combined with the level editor, savestates are effective for practising specific scenarios.

Qual Mode

Legal

Rocket

Reintroduces the 'wait screens', intended for use in qualifiers where the the player would otherwise gain a time advantage skipping the rocket, legal and title screens.

Also reintroduces other classic features like the end game curtain, standard pause, and no next box.

These features make TetrisGYM work better with post processing tools like NestrisChamps and MaxoutClub.

You cannot use the Block Tool and Qual mode at the same time.

PAL Mode

Dictate if the NTSC or PAL gameplay mechanics should be used. Should automatically detect region, but can be manually overwritten otherwise.

Bugfixes

TetrisGYM fixes some well known bugs in the original game;

  • Resetting during a tetris no longer creates an invalid state
  • Level numbers are correct past level 29
  • Tetrimino colours are correct past level 138
  • Game no longer crashes after ~1550 lines

Resources

Tools and references: https://github.com/ejona86/taus
Disassembly, based on work from TAUS: https://github.com/CelestialAmber/TetrisNESDisasm

tetrisgym's People

Contributors

celestialamber avatar kirjavascript avatar timotheeg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.