Final release for now.

This commit is contained in:
Randy Thiemann 2023-10-24 16:27:52 +02:00
parent 83f93ee1ed
commit c8a04631af
6 changed files with 96 additions and 113 deletions

View File

@ -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 <randy.thiemann@gmail.com>

View File

@ -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

View File

@ -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

Binary file not shown.

View File

@ -530,8 +530,8 @@ Tiles::
DB $4A,$4A,$4A,$4A,$E4,$E4,$00,$00
DB $CA,$CA,$2A,$2A,$2A,$2A,$4E,$4E
DB $82,$82,$82,$82,$E2,$E2,$00,$00
DB $0A,$0A,$0A,$0A,$0A,$0A,$04,$04
DB $0A,$0A,$0A,$0A,$0A,$0A,$00,$00
DB $FE,$FE,$06,$06,$0C,$0C,$38,$38
DB $60,$60,$C0,$C0,$FE,$FE,$00,$00
TilesEnd::

View File

@ -441,10 +441,6 @@ GetEnd:
jr nz, :+
ld bc, sTGM1SpeedCurveEnd
ret
: cp a, SCURVE_TGM2
jr nz, :+
ld bc, sTGM2SpeedCurveEnd
ret
: cp a, SCURVE_TGM3
jr nz, :+
ld bc, sTGM3SpeedCurveEnd
@ -453,7 +449,11 @@ GetEnd:
jr nz, :+
ld bc, sDEATSpeedCurveEnd
ret
: ld bc, sSHIRSpeedCurveEnd
: cp a, SCURVE_SHIR
jr nz, :+
ld bc, sSHIRSpeedCurveEnd
ret
: ld bc, sCHILSpeedCurveEnd
ret
GetStart:
@ -466,19 +466,19 @@ GetStart:
jr nz, :+
ld hl, sTGM1SpeedCurve
ret
: cp a, SCURVE_TGM2
jr nz, :+
ld hl, sTGM2SpeedCurve
ret
: cp a, SCURVE_TGM3
jr nz, :+
ld hl, sTGM2SpeedCurve
ld hl, sTGM3SpeedCurve
ret
: cp a, SCURVE_DEAT
jr nz, :+
ld hl, sDEATSpeedCurve
ret
: ld hl, sSHIRSpeedCurve
: cp a, SCURVE_SHIR
jr nz, :+
ld hl, sSHIRSpeedCurve
ret
: ld hl, sCHILSpeedCurve
ret
CheckLevelRange: