Final release for now.
This commit is contained in:
parent
83f93ee1ed
commit
c8a04631af
|
@ -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.
|
- 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 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.
|
- A rock solid 60FPS with a traditional 20x10 grid.
|
||||||
|
- Game boy color mode.
|
||||||
|
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
@ -35,7 +36,9 @@ Select the rotation rules:
|
||||||
Select whether up performs a sonic drop, a hard drop, or nothing at all.
|
Select whether up performs a sonic drop, a hard drop, or nothing at all.
|
||||||
|
|
||||||
### Speed Curve
|
### 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
|
### Always 20G
|
||||||
Whether you want instant-drop gravity to be active at any level.
|
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.
|
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
|
## License
|
||||||
Copyright (C) 2023 - Randy Thiemann <randy.thiemann@gmail.com>
|
Copyright (C) 2023 - Randy Thiemann <randy.thiemann@gmail.com>
|
||||||
|
|
||||||
|
|
|
@ -90,10 +90,10 @@ sOption3::
|
||||||
sOption4::
|
sOption4::
|
||||||
db "DMGT"
|
db "DMGT"
|
||||||
db "TGM1"
|
db "TGM1"
|
||||||
db "TGM2"
|
|
||||||
db "TGM3"
|
db "TGM3"
|
||||||
db "DEAT"
|
db "DEAT"
|
||||||
db "SHIR"
|
db "SHIR"
|
||||||
|
db "CHIL"
|
||||||
sOption5::
|
sOption5::
|
||||||
db " NO"
|
db " NO"
|
||||||
db " YES"
|
db " YES"
|
||||||
|
@ -216,112 +216,96 @@ sTGM1SpeedCurveEnd::
|
||||||
dw $FFFF
|
dw $FFFF
|
||||||
|
|
||||||
|
|
||||||
sTGM2SpeedCurve::
|
sCHILSpeedCurve::
|
||||||
dw $0000, 0, $0100
|
dw $0000, 0, $0100
|
||||||
db 1, 64
|
db 1, 48
|
||||||
db 27, 16, 30, 40
|
db 10, 16, 25, 17
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
dw $0100, 100, $0200
|
dw $0100, 100, $0200
|
||||||
db 1, 3
|
db 1, 43
|
||||||
db 27, 16, 30, 40
|
db 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0160, 160, $0200
|
|
||||||
db 1, 2
|
|
||||||
db 27, 16, 30, 40
|
|
||||||
|
|
||||||
dw $0200, 200, $0300
|
dw $0200, 200, $0300
|
||||||
db 1, 64
|
db 1, 38
|
||||||
db 27, 16, 30, 40
|
db 10, 16, 25, 17
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
dw $0300, 300, $0400
|
dw $0300, 300, $0400
|
||||||
db 2, 1
|
db 1, 33
|
||||||
db 27, 16, 30, 40
|
db 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0330, 330, $0400
|
|
||||||
db 3, 1
|
|
||||||
db 27, 16, 30, 40
|
|
||||||
|
|
||||||
dw $0360, 360, $0400
|
|
||||||
db 4, 1
|
|
||||||
db 27, 16, 30, 40
|
|
||||||
|
|
||||||
dw $0400, 400, $0500
|
dw $0400, 400, $0500
|
||||||
db 5, 1
|
db 1, 28
|
||||||
db 27, 16, 30, 40
|
db 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0420, 420, $0500
|
|
||||||
db 4, 1
|
|
||||||
db 27, 16, 30, 40
|
|
||||||
|
|
||||||
dw $0450, 450, $0500
|
|
||||||
db 3, 1
|
|
||||||
db 27, 16, 30, 40
|
|
||||||
|
|
||||||
dw $0500, 500, $0600
|
dw $0500, 500, $0600
|
||||||
db 20, 1
|
db 1, 23
|
||||||
db 27, 10, 30, 25
|
db 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0601, 601, $0700
|
dw $0600, 600, $0700
|
||||||
db 20, 1
|
db 1, 18
|
||||||
db 27, 10, 30, 7
|
db 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0701, 701, $0800
|
dw $0700, 700, $0800
|
||||||
db 20, 1
|
db 1, 13
|
||||||
db 18, 10, 30, 7
|
db 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0801, 801, $0900
|
dw $0800, 800, $0900
|
||||||
db 20, 1
|
db 1, 8
|
||||||
db 14, 10, 30, 1
|
db 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0901, 901, $1000
|
dw $0900, 900, $1000
|
||||||
db 20, 1
|
db 1, 6
|
||||||
db 14, 6, 18, 1
|
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
|
dw $FFFF
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -173,10 +173,10 @@ DEF DROP_MODE_COUNT EQU 3
|
||||||
|
|
||||||
DEF SCURVE_DMGT EQU 0
|
DEF SCURVE_DMGT EQU 0
|
||||||
DEF SCURVE_TGM1 EQU 1
|
DEF SCURVE_TGM1 EQU 1
|
||||||
DEF SCURVE_TGM2 EQU 2
|
DEF SCURVE_TGM3 EQU 2
|
||||||
DEF SCURVE_TGM3 EQU 3
|
DEF SCURVE_DEAT EQU 3
|
||||||
DEF SCURVE_DEAT EQU 4
|
DEF SCURVE_SHIR EQU 4
|
||||||
DEF SCURVE_SHIR EQU 5
|
DEF SCURVE_CHIL EQU 5
|
||||||
DEF SCURVE_COUNT EQU 6
|
DEF SCURVE_COUNT EQU 6
|
||||||
|
|
||||||
DEF TILE_HIG_MODE_BASE EQU 232
|
DEF TILE_HIG_MODE_BASE EQU 232
|
||||||
|
|
Binary file not shown.
|
@ -530,8 +530,8 @@ Tiles::
|
||||||
DB $4A,$4A,$4A,$4A,$E4,$E4,$00,$00
|
DB $4A,$4A,$4A,$4A,$E4,$E4,$00,$00
|
||||||
DB $CA,$CA,$2A,$2A,$2A,$2A,$4E,$4E
|
DB $CA,$CA,$2A,$2A,$2A,$2A,$4E,$4E
|
||||||
DB $82,$82,$82,$82,$E2,$E2,$00,$00
|
DB $82,$82,$82,$82,$E2,$E2,$00,$00
|
||||||
DB $0A,$0A,$0A,$0A,$0A,$0A,$04,$04
|
DB $FE,$FE,$06,$06,$0C,$0C,$38,$38
|
||||||
DB $0A,$0A,$0A,$0A,$0A,$0A,$00,$00
|
DB $60,$60,$C0,$C0,$FE,$FE,$00,$00
|
||||||
TilesEnd::
|
TilesEnd::
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -441,10 +441,6 @@ GetEnd:
|
||||||
jr nz, :+
|
jr nz, :+
|
||||||
ld bc, sTGM1SpeedCurveEnd
|
ld bc, sTGM1SpeedCurveEnd
|
||||||
ret
|
ret
|
||||||
: cp a, SCURVE_TGM2
|
|
||||||
jr nz, :+
|
|
||||||
ld bc, sTGM2SpeedCurveEnd
|
|
||||||
ret
|
|
||||||
: cp a, SCURVE_TGM3
|
: cp a, SCURVE_TGM3
|
||||||
jr nz, :+
|
jr nz, :+
|
||||||
ld bc, sTGM3SpeedCurveEnd
|
ld bc, sTGM3SpeedCurveEnd
|
||||||
|
@ -453,7 +449,11 @@ GetEnd:
|
||||||
jr nz, :+
|
jr nz, :+
|
||||||
ld bc, sDEATSpeedCurveEnd
|
ld bc, sDEATSpeedCurveEnd
|
||||||
ret
|
ret
|
||||||
: ld bc, sSHIRSpeedCurveEnd
|
: cp a, SCURVE_SHIR
|
||||||
|
jr nz, :+
|
||||||
|
ld bc, sSHIRSpeedCurveEnd
|
||||||
|
ret
|
||||||
|
: ld bc, sCHILSpeedCurveEnd
|
||||||
ret
|
ret
|
||||||
|
|
||||||
GetStart:
|
GetStart:
|
||||||
|
@ -466,19 +466,19 @@ GetStart:
|
||||||
jr nz, :+
|
jr nz, :+
|
||||||
ld hl, sTGM1SpeedCurve
|
ld hl, sTGM1SpeedCurve
|
||||||
ret
|
ret
|
||||||
: cp a, SCURVE_TGM2
|
|
||||||
jr nz, :+
|
|
||||||
ld hl, sTGM2SpeedCurve
|
|
||||||
ret
|
|
||||||
: cp a, SCURVE_TGM3
|
: cp a, SCURVE_TGM3
|
||||||
jr nz, :+
|
jr nz, :+
|
||||||
ld hl, sTGM2SpeedCurve
|
ld hl, sTGM3SpeedCurve
|
||||||
ret
|
ret
|
||||||
: cp a, SCURVE_DEAT
|
: cp a, SCURVE_DEAT
|
||||||
jr nz, :+
|
jr nz, :+
|
||||||
ld hl, sDEATSpeedCurve
|
ld hl, sDEATSpeedCurve
|
||||||
ret
|
ret
|
||||||
: ld hl, sSHIRSpeedCurve
|
: cp a, SCURVE_SHIR
|
||||||
|
jr nz, :+
|
||||||
|
ld hl, sSHIRSpeedCurve
|
||||||
|
ret
|
||||||
|
: ld hl, sCHILSpeedCurve
|
||||||
ret
|
ret
|
||||||
|
|
||||||
CheckLevelRange:
|
CheckLevelRange:
|
||||||
|
|
Loading…
Reference in New Issue