- Several RNG options available. You can choose between pure RNG, 4 history with 4 retries, 4 history with 6 retries, 4 history with infinite retries, a 35bag with 4 history and 6 retries with drought prevention, NES style RNG, or pure RNG.
- A choice between sonic drop (pressing up grounds the piece but does not lock it), hard drop (pressing up locks the piece), or neither (pressing up does nothing at all.)
- A choice between traditional ARS for rotation, or TGM3 era ARS with extra kicks.
- Scoring is a hybrid between TGM1 and TGM2.
- A speed curve reminiscent of TGM, starting slightly faster and skipping the awkward speed reset. The game continues infinitely... But so does the speed increase.
- A rock solid 60FPS with a traditional 20x10 grid.
Try the game online [here](https://villadelfia.org/dmgtris/). Controls are arrow keys, Z, X, Space, and Enter. The online version has no sound though, so the better thing would be to run it in an emulator locally.
You can build the game yourself, or use the binary [here](https://git.villadelfia.org/villadelfia/dmgtris/raw/branch/master/bin/DMGTRIS.GBC) or [here](https://github.com/Villadelfia/DMGTRIS/raw/master/bin/DMGTRIS.GBC).
The game should run in any accurate emulator. For Windows or Linux using Wine [bgb](https://bgb.bircd.org/) is generally regarded as the best option. For macOS [SameBoy](https://sameboy.github.io/) comes recommended.
Please do not try running it on older emulators such as VBA, since this game uses the semi-randomness of the initial game boy memory as one source of RNG entropy.
Select between several speed curves including the DMGTRIS default speed curve, TGM1, TGM3, as well as DEATH and SHIRASE mode. In addition there's a "CHILL" curve for when you just want to enjoy some tetris. It doesn't speed up very fast at all.
Note that all modes use the same scoring and they are all infinite.
If you have found a bug, please follow the following steps *before* sending a bug report. The easier you make it for me to find and fix a bug, the more likely it is that I will do so.
0. I do not own a analogue pocket, the `.pocket` version is released on a best effort basis and I cannot help with bugs that *only* happen on the analogue pocket. If you find a bug, please reproduce the bug on the `.gbc` version.
1. Download the latest `.gbc`, `.map` and `.sym` files from this repository.
2. Use either emulicious or bgb to reproduce the bug on that version, documenting the exact steps taken to make it happen. Please also include what should be happening if the bug is subtle.
3. Make a save state at the moment the bug starts happening.
4. Send the `.gbc`, `.map`, `.sym`, and save state files as well as the documentation of the bug to me.
I will try to fix all bugs that I can, but please remember that this is free software and that I can not, and do not, guarantee fitness for purpose.