Homebrew Homebrew game Project TGMA - Tetris The Grandmaster 1 and 2 for GBA

  • Thread starter Thread starter Yakkers
  • Start date Start date
  • Views Views 9,930
  • Replies Replies 29
  • Likes Likes 20

Yakkers

Member
Newcomer
Joined
Dec 28, 2024
Messages
10
Reaction score
36
Trophies
0
Age
33
XP
92
Country
United States
This was originally a minimal personal project for a very niche use case (see the tate version down below), but as it went along and especially as I realized the well also fit in standard landscape resolution, I eventually hit the "well if I'm going 8 yards I might as well go 9" point and decided to make it a whole thing. TGMA is a remake of Tetris The Grandmaster 1 and 2 for Game Boy Advance. I made this with Butano so a big thanks goes out to GValiente for making the library and also to Cinemint on youtube for his Butano setup guides that helped me get off the ground. I also want to thank the devs of Cambridge as digging through its source code helped me decode a lot of how the TGM engine does things.

TGMA has TGM1 (which only had one mode) and the Master and T.A. Death modes from TGM2+. I didn't bother with Normal and Plus modes from 2 because they're very rarely played and they have a couple of their own wacky one-off mechanics that would have been a pain to implement for something so rarely used. Holding L while selecting a mode is the equivalent of the 20g code from the arcade versions, and the C button (alternate CCW rotation button) is mapped to R. The only thing I'd possibly like to add in the future is the music if I can make that work, but otherwise any updates will probably just be bug fixes.

I've gone by frame by frame and confirmed the timing and speed curve values from the Tetris wiki give the same frame count results in my engine as they do in the arcade versions, so I'm pretty confident with both that and the rotation system mechanics however I'm not 100% sure the rank requirements and scoring math are completely spot on yet. I really just made this as a novelty, but I'd still like to make it as accurate as possible.

On that subject, please note that the arcade version of TAP actually runs at 61.680 frames per second and there's kind of nothing I can do to match that on GBA hardware, so TAP and T.A. Death runs technically won't be perfectly arcade accurate. MAME also had this framerate incorrect for quite some time and I believe the official Switch port of TAP also actually just runs at 60, so depending on context this may not be a huge issue but it is something to be aware of.

I also made a tate (vertical) version of the rom, this is actually what I originally made the game for. I have an arcade cabinet with the monitor always in tate because I pretty much exclusively use it for shmups via a mistercade, but TGM is my other big arcade game and I had been hunting for a way to get it to run in some playable form on a vertical monitor. Nothing really came up for that, so I ended up checking which other systems the mistercade supports were both easy to homebrew for and fit the TGM board horizontally and GBA ticked all the boxes. It was originally going to just be a super minimal practice tool for myself to use but I was having fun making it and it grew into this. The HUD is flipped because I have my P1 side's stick set to 8 way and P2 side's set to 4 way so I can play both genres, and having the play field nudged over to the right makes it a little more comfortable sitting on P2 side. I doubt anyone else in the world will have this particular use case but just in case I'm uploading this tate version as well.

Thanks for checking out my project! Please let me know if you run into any bugs or issues.

Changelog:
1.0.1:
- Fixed the last timer digit's number progress to match arcade
- Added the applause sound effect on clearing a tetris
- Updated Butano to [hopefully] fix an audio assert that only seemed to occur running on MiSTer FPGA
1.0.2:
- Fixed sound effects interrupting each other
- Removed the pause counter

https://cuteboys.biz/files/TGMA 1.0.2.gba
https://cuteboys.biz/files/TGMA Tate 1.0.2.gba
 

Attachments

  • IMG_20250320_145934.jpg
    IMG_20250320_145934.jpg
    1.8 MB · Views: 146
  • IMG_20250317_232442.jpg
    IMG_20250317_232442.jpg
    1.7 MB · Views: 94
Last edited by Yakkers,
This is amazing; solid work! The devs and the GBA never cease to amaze.

If you are taking suggestions: would be nice to have a 3rd rotation button (rotate left / CCW) on any unused key (R1?). Big block mode would also be nice.

Also, any plans for making the source public?
 
Last edited by octopus,
  • Like
Reactions: handy333
Thank you all for the kind words! I put a lot of love into this thing and it's great to see people enjoying it.

This is amazing; solid work! The devs and the GBA never cease to amaze.

If you are taking suggestions: would be nice to have a 3rd rotation button (rotate left / CCW) on any unused key (R1?). Big block mode would also be nice.

Also, any plans for making the source public?
The third rotation button is on R! I forgot to mention that, I'll add it to the OP.

The source code is a bit of a mess, especially in how I ended up splitting the normal and tate versions (I had to edit some code in the Butano library for the text printing for instance), but I'll think about it. Another part of the concern is that I don't want to make this too big of a thing and step on the toes of the TGM Switch versions, this is a passion project made out of love for the series and I worry about overstepping if it ends up getting too big or starts to get too close to parity with the real versions. A while ago someone made something similar to this for DS, but it started to get a little too big for its own good and there were things like integrated leaderboards and third party custom carts being sold online and the project eventually got slammed.

On that note, TGM4 comes out on Steam in just about a week, please pick it up if you love these games like I do!!
 
  • Like
Reactions: octopus
Wow, you have no idea how much this means to me. When I discovered this, I dropped everything I was doing to immediately check this out on my RG35XX!

I own the Switch ports of both TGM and TAP, and will definitely get TGM4. However, playing TAP on my Switch in handheld mode always annoyed me a bit, due to the weight of the device, and the overall not all that portable size of it. However, I simply love playing Tetris on handhelds.

I have always wished for a GBA port of TAP, because I have a huge amount of nostalgia for handhelds of that size. And while playing on arcade hardware is definitely the most authentic way to play TGM, there's something about having these games on a Gameboy - size handheld that makes them feel super satisfying to me.

You ported it so beautifully! I love the way you rearranged the interface elements, and even included the 20G modes. It looks very gorgeous and crisp, which I honestly didn't expect! The playfield spanning the whole screen was a great decision, and makes it work very well on smaller screens. From what I can tell, it's very accurate as well.

Is there any way I can send a few bucks your way as a "thank you" donation? You really have no idea how happy this makes me (I registered this account just to post this 😂)

(One small nitpick - I think the "clapping" sound effect when clearing a Tetris is missing?)
 
Last edited by Mmmagnetic,

Thank you so much! I wasn't really sure how much of a splash this was going to make so I'm super happy to see there are people who always wanted something exactly like this. I'm glad the board size seems good, because having it perfectly fill the frame like that was actually not a conscious choice since the board is made up of the GBA's 8x8 tiles which happen to perfectly fit 20 in the Y axis. It means you lose vision on the 21st row, but I think that's not too big of a deal and it's nice that the core playfield ended up being as big as it can be on the screen.

I greatly appreciate the thought, but in the interest of keeping this a purely hobby and fan focused project I don't think I'd really feel comfortable accepting donos or anything. Trust me though, your praise means a lot more to me than a few bucks would anyways!

I actually somehow had not nailed down exactly what triggers that applause sound effect, so yeah, I'll add that for sure in 1.0.1. I'll probably give it a few days to see if any other bugs or missing things come up so I can do it all in one update. If you notice anything else that's missing or not quite perfectly accurate please let me know! Outside of music and the things I've intentionally chosen to leave out (badges for instance) I'd love to make this as accurate as possible so nitpicking is totally welcome.

In the next version I might also re-enable some shortcuts I used for testing that will dump you right at level 998 with the GM conditions met so people can see the invisible roll and win screen and stuff.
 
Oh yeah, being able to practice the credit roll would be brilliant! Maybe a quick section selection would be sweet as well, to practice specific speeds in the modes (currently I'm getting absolutely slaughtered by death level 300 onwards 👀)

I actually don't mind not having the music, since I've heard it so much already at this point, but having the option would be great!

Oh, and any chance you could add the TGM1 backgrounds?

Another feature that would be fantastic would be high score saving, though I'm not sure how much extra work that would be, and I'm already used to just writing down my scores by hand.

Anyway, fantastic job, it really feels like what an official port could have looked like - especially since the release of TAP and the GBA falls in roughly the same era. As much as I appreciate the switch/ps4 releases, they're "just" emulation, and I always enjoy seeing how actually porting a game looks on the specific hardware.

One particular thing that I prefer in this version is the centered, single playfield - the dual playfields in TAP and TI always bothered me a bit, since I don't like playing off center (obviously it makes sense on arcade cabs, but it looks odd on a handheld).

By the way, I like your Wario Ware avatar 👌 I'm currently playing through Twisted again!
Post automatically merged:

Wow, I'm so rusty at Death, let's see how long it takes me to beat my old 304 PB ☠️

Also, thanks for including the 20G modes, because I'm currently trying to hone my stacking skills by trying to reach 999 in TGM 20G, and now I don't need to switch between games 👌


1000142971.jpg
 
Last edited by Mmmagnetic,
  • Like
Reactions: Skv0ra
Wow, this is amazing! It's pretty much exactly what I'd want in a TGM port. I love the inclusion of 20g modes as well, especially having TGM1 as a mode. It runs great on all the GBA emulators I've tried it with, and also on a Miyoo Mini. Having the playfield take up the entire screen is great as well!

It'd be cool to see the music added in with the option to toggle it on and off, and I'm all for having a level selection (maybe each 100 section) to help with practicing certain sections or the m-roll as well. I'd also love to see TAP's big mode added, and I can echo mmmagnetic's thoughts in the addition of a high score board, although that one isn't that big of a deal to me either. These are all just wishlist items for me though, and I love what you've got in this already so far! It's my preferable portable version for playing TGM1/TAP. I appreciate the hard work you've put into this. I'll be playing a lot more and will let you know if I encounter any bugs or inaccuracies.
 
I put out a small update today:

1.0.1:
- Fixed the last timer digit's number progress to match arcade
- Added the applause sound effect on clearing a tetris
- Updated Butano to [hopefully] fix an audio assert that only seemed to occur running on MiSTer FPGA

The values my code was rounding the hundredths of a second digit to weren't the same as the arcade versions which meant you could get times that are "impossible" on the arcade versions, that should be fixed now.

I also learned that the arcade version of TAP actually runs at 61.68 FPS rather than the usual just shy of 60, so I put a note about that in the OP as well. It's probably not a huge issue especially since the official Switch version of the game also just runs at 60, but I wanted to note it for completeness.

Wow, this is amazing! It's pretty much exactly what I'd want in a TGM port. I love the inclusion of 20g modes as well, especially having TGM1 as a mode. It runs great on all the GBA emulators I've tried it with, and also on a Miyoo Mini. Having the playfield take up the entire screen is great as well!

It'd be cool to see the music added in with the option to toggle it on and off, and I'm all for having a level selection (maybe each 100 section) to help with practicing certain sections or the m-roll as well. I'd also love to see TAP's big mode added, and I can echo mmmagnetic's thoughts in the addition of a high score board, although that one isn't that big of a deal to me either. These are all just wishlist items for me though, and I love what you've got in this already so far! It's my preferable portable version for playing TGM1/TAP. I appreciate the hard work you've put into this. I'll be playing a lot more and will let you know if I encounter any bugs or inaccuracies.
Thanks, I'm glad you're enjoying it!
I'm still leaning towards not adding too much stuff so I don't step on the official arcade ports, but I will certainly consider it. Something like a level select practice mode is definitely on the table since that's something unique and it also fits TGMA's place as a practice tool type utility.

I'd love to get music going, but I don't believe it's in a format that I can easily convert to GBA.
 
Last edited by Yakkers,
That's fantastic! 👏 The missing Tetris applause was the one thing that was actually making it feel a bit "off", so thank you for adding it!

And I definitely know what you mean in regards to not making it a complete port, but a practice tool. After playing it for a while, the missing music isn't a big deal in my eyes, since I mostly play just loud enough to have the SFX audible.

A section select would be extremely useful, as I don't have a convenient way to access this otherwise. And right now, everything about level 300 is usually killing me very fast right now 👀

Thank you for your work! I'm playing this a lot right now 🔥
 
  • Like
Reactions: Garcimak and Skv0ra
1000143919.jpg


I love that the physical size of the playfield is almost the same on my Anbernic RG35XX as on the OG Switch 😂 Makes it so much more comfortable for my aging hands.

Also, I'm still fascinated with how accurate it looks. You even put in that black gradient behind the next piece and the golden flashing numbers in Death mode 👌
 
  • Like
Reactions: Skv0ra
Well it's no Apotris, but it's definitely some kind of Tetris... Can hard drop be added? And how about getting rid of the annoying ghost piece?
This is a port of modes from two of the Tetris Grand Master series, which has its own set of mechanics and rules, as well as an entirely different rotation system that differ from guideline Tetris games.

The equivalent to hard drop would be sonic drop, which is done by tapping up. This won't immediately lock the piece in place though, as you'll still need to tap down to manually lock when your piece is sitting on top of the stack. Combined with the lock delay and other TGM-specific mechanics, this allows for some very interesting piece movement with satisfying tucks and slides (see zangi moves). The game was originally designed for arcade hardware and is a ton of fun to play on an arcade stick considering these points above (I still find it fun on dpad too!). One thing to note is that TGM1 doesn't have sonic drop, but TAP (TGM2) does. Tapping or holding down will still act as soft drop as well, in both games.

The ghost piece is visible from levels 0-100 and then disappears for the rest of the game. This is also another TGM-specific mechanic.
 
If you´re used to guideline ("modern") Tetris like Apotris, you will probably not enjoy this very much, at least not immediately. I remember when NDS_TGM came out and I tried it on my DS, and I was quite put off by the different mechanics. It´s definitely an aquired taste, but these days I can´t go back to guideline Tetris, to be honest.

Apotris is a fantastic game, though, and playing Death with the BARS rotation system is very fun!
 

Site & Scene News

Popular threads in this forum