From c8a04631af9e4cd0b5deadf41642d1e82033f906 Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Tue, 24 Oct 2023 16:27:52 +0200 Subject: [PATCH] Final release for now. --- README.md | 9 +-- src/constants.asm | 166 +++++++++++++++++--------------------- src/include/globals.asm | 8 +- src/res/sources/tiles.gbr | Bin 39009 -> 39009 bytes src/res/tiles.inc | 4 +- src/state_title.asm | 22 ++--- 6 files changed, 96 insertions(+), 113 deletions(-) diff --git a/README.md b/README.md index 6235851..5cbd270 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ The game is heavily inspired by the TGM series of games and has the following fe - 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. +- Game boy color mode. ## Options @@ -35,7 +36,9 @@ Select the rotation rules: Select whether up performs a sonic drop, a hard drop, or nothing at all. ### Speed Curve -Select between several speed curves including the DMGTRIS default speed curve, TGM1, 2, and 3, as well as DEATH and SHIRASE mode. Note that all modes use the same scoring and they are all infinite. +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. ### Always 20G Whether you want instant-drop gravity to be active at any level. @@ -98,10 +101,6 @@ Please do not try running it on older emulators such as VBA, since this game use The game can be built using gnu make and the RGBDS toolchain. -## Issues -- In very rare cases the frame time in TGM3 and TGW3 modes can be exceeded due to the way the RNG for those modes works. When this happens, the screen will appear slightly glitched for 1 frame but no frame drops will occur. This issues is fundamentally impossible to completely avoid though more optimization may cause it to occur less frequently. - - ## License Copyright (C) 2023 - Randy Thiemann diff --git a/src/constants.asm b/src/constants.asm index 2f74ee5..44116b0 100644 --- a/src/constants.asm +++ b/src/constants.asm @@ -90,10 +90,10 @@ sOption3:: sOption4:: db "DMGT" db "TGM1" - db "TGM2" db "TGM3" db "DEAT" db "SHIR" + db "CHIL" sOption5:: db " NO" db " YES" @@ -216,112 +216,96 @@ sTGM1SpeedCurveEnd:: dw $FFFF -sTGM2SpeedCurve:: +sCHILSpeedCurve:: dw $0000, 0, $0100 - db 1, 64 - db 27, 16, 30, 40 - - dw $0030, 30, $0100 - db 1, 42 - db 27, 16, 30, 40 - - dw $0035, 35, $0100 - db 1, 32 - db 27, 16, 30, 40 - - dw $0040, 40, $0100 - db 1, 25 - db 27, 16, 30, 40 - - dw $0060, 60, $0100 - db 1, 16 - db 27, 16, 30, 40 - - dw $0070, 70, $0100 - db 1, 8 - db 27, 16, 30, 40 - - dw $0080, 80, $0100 - db 1, 5 - db 27, 16, 30, 40 + db 1, 48 + db 10, 16, 25, 17 dw $0100, 100, $0200 - db 1, 3 - db 27, 16, 30, 40 - - dw $0160, 160, $0200 - db 1, 2 - db 27, 16, 30, 40 + db 1, 43 + db 10, 16, 25, 17 dw $0200, 200, $0300 - db 1, 64 - db 27, 16, 30, 40 - - dw $0220, 220, $0300 - db 1, 8 - db 27, 16, 30, 40 - - dw $0230, 230, $0300 - db 1, 4 - db 27, 16, 30, 40 - - dw $0233, 233, $0300 - db 1, 3 - db 27, 16, 30, 40 - - dw $0236, 236, $0300 - db 1, 2 - db 27, 16, 30, 40 - - dw $0251, 251, $0300 - db 1, 1 - db 27, 16, 30, 40 + db 1, 38 + db 10, 16, 25, 17 dw $0300, 300, $0400 - db 2, 1 - db 27, 16, 30, 40 - - dw $0330, 330, $0400 - db 3, 1 - db 27, 16, 30, 40 - - dw $0360, 360, $0400 - db 4, 1 - db 27, 16, 30, 40 + db 1, 33 + db 10, 16, 25, 17 dw $0400, 400, $0500 - db 5, 1 - db 27, 16, 30, 40 - - dw $0420, 420, $0500 - db 4, 1 - db 27, 16, 30, 40 - - dw $0450, 450, $0500 - db 3, 1 - db 27, 16, 30, 40 + db 1, 28 + db 10, 16, 25, 17 dw $0500, 500, $0600 - db 20, 1 - db 27, 10, 30, 25 + db 1, 23 + db 10, 16, 25, 17 - dw $0601, 601, $0700 - db 20, 1 - db 27, 10, 30, 7 + dw $0600, 600, $0700 + db 1, 18 + db 10, 16, 25, 17 - dw $0701, 701, $0800 - db 20, 1 - db 18, 10, 30, 7 + dw $0700, 700, $0800 + db 1, 13 + db 10, 16, 25, 17 - dw $0801, 801, $0900 - db 20, 1 - db 14, 10, 30, 1 + dw $0800, 800, $0900 + db 1, 8 + db 10, 16, 25, 17 - dw $0901, 901, $1000 - db 20, 1 - db 14, 6, 18, 1 + dw $0900, 900, $1000 + db 1, 6 + db 10, 16, 25, 17 -sTGM2SpeedCurveEnd:: + dw $1000, 1000, $1100 + db 1, 5 + db 10, 16, 25, 17 + + dw $1300, 1300, $1400 + db 1, 4 + db 10, 16, 25, 17 + + dw $1600, 1600, $1700 + db 1, 3 + db 10, 16, 25, 17 + + dw $1900, 1900, $2000 + db 1, 2 + db 10, 16, 25, 17 + + dw $2900, 2900, $3000 + db 1, 1 + db 10, 16, 25, 17 + + dw $3333, 3333, $3400 + db 2, 1 + db 10, 12, 25, 17 + + dw $4444, 4444, $4500 + db 3, 1 + db 10, 12, 25, 17 + + dw $5555, 5555, $5600 + db 4, 1 + db 10, 12, 25, 17 + + dw $6666, 6666, $6700 + db 5, 1 + db 10, 12, 25, 17 + + dw $7777, 7777, $7800 + db 20, 1 + db 10, 8, 25, 17 + + dw $8888, 8888, $8900 + db 20, 1 + db 10, 6, 18, 17 + + dw $9999, 9999, $9999 + db 20, 1 + db 5, 6, 14, 10 + +sCHILSpeedCurveEnd:: dw $FFFF diff --git a/src/include/globals.asm b/src/include/globals.asm index ea5fb23..b04767f 100644 --- a/src/include/globals.asm +++ b/src/include/globals.asm @@ -173,10 +173,10 @@ DEF DROP_MODE_COUNT EQU 3 DEF SCURVE_DMGT EQU 0 DEF SCURVE_TGM1 EQU 1 -DEF SCURVE_TGM2 EQU 2 -DEF SCURVE_TGM3 EQU 3 -DEF SCURVE_DEAT EQU 4 -DEF SCURVE_SHIR EQU 5 +DEF SCURVE_TGM3 EQU 2 +DEF SCURVE_DEAT EQU 3 +DEF SCURVE_SHIR EQU 4 +DEF SCURVE_CHIL EQU 5 DEF SCURVE_COUNT EQU 6 DEF TILE_HIG_MODE_BASE EQU 232 diff --git a/src/res/sources/tiles.gbr b/src/res/sources/tiles.gbr index 8ef0b2dc83c4feb1fd71ca40f00fb6c251a21b52..885ea18d999d0c2c9b216077236e4809f8d58278 100644 GIT binary patch delta 41 rcmaF3f$8A}rVZQ^SeZd!GNX_vm==^$-t0YrkAs7OfrEjOfq?-4;ra*T delta 47 zcmaF3f$8A}rVZQ^CRZtNPkz(KIr(j$z~r~>96%a`IX8Pu5ai%+VyK8vW;zlD020U) A8vp