This is a brilliant demonstration of low-level optimization that defies the GBA's hardware limitations through pure mathematical ingenuity. It’s a masterclass in squeezing modern 3D mechanics into a twenty-year-old handheld.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
It's Happening!
Added:I am currently working on a version of Mario Galaxy for the Game Boy Advance, [music] and these are some updates.
The game starts with a title screen.
There's not a menu yet, but I am definitely planning to create a menu that looks exactly like the original Galaxy one. But right now, you just start in the first stage with Peach's Castle. Many parts of this arena already look pretty good, but [music] I need to reduce the triangle count of every single stage [music] I use for this. And this is a lot of work, which means that right now there are still a lot of holes and a lot of artifacts from the automatic triangle reduction that I did in Blender. And some parts of the stage are already reconstructed, [music] but there are many parts of each stage that I need to manually reconstruct in 3D to reduce the triangles and still make it look good on the hardware without creating too many holes and other problems. That the [music] stage is really good and playable. The Mario model is now a Mario model that looks very much like the one from Mario Galaxy. Also, in the movement set, now the spin jump works. And there are now more advanced animations, but still a lot of the other movements are missing and I need to implement them. I'm also working on a star pointer, but this is still very much work in progress and I will show [music] it at a later time.
And now let's talk about the 3D engine that makes all of this possible. Because this engine has gotten a big update. I was already using a rasterizer engine with fixed point math, LUTs, [music] and other tricks to make it work fast on the GBA, but I still want to have a high triangle count and a high fidelity to make it really look good. So, there are much more things that I actually need to do. And this is where Joshua Barreto comes in.
Because he actually shared his code with me how he made Super [music] Mario 64 work on the GBA. And this is still one of the most impressive 3D things I've ever seen on the GBA, and it is also one of my key motivations [music] to even start many of my projects. And by actually looking at how he did all [music] of it, I was able to implement many aspects of his engine. The most important thing that changed is how much work I'm now able to save just by [music] moving a lot of work to the compilation phase of the game. For example, there are now a huge array of shared points that triangles can use together, and they only need to be transformed once. Before, each triangle that I rendered had nine individual points that always had to be calculated individually by the GBA, and just this is already saving so much work. And there are so many other tricks that I now managed to implement, and yeah.
Now the game runs so much better and looks so much better, >> [music] >> and all of this is thanks to Joshua Barretto's work. This engine is now very much based on his [music] engine, and in some cases the code is identical. But I am still planning to do more optimization and see how far I can push [music] this. If you don't know about Joshua Barretto's work, it is incredible and you should definitely [music] go and support him.
Another thing I managed to improve now is the planetary gravity. And before, it was not possible to get any good performance out of it, but now it runs as fast as the regular engine. I also managed to implement star rings, so now you can fly to another planet. The gravity also works just with two-sided planets, so if you go to the other side, it can actually switch the gravity. But right now, the camera is still not [music] implemented properly, so the camera will not move with the gravity, and this is something I need to work on.
As you can see, some of the stages still run very slowly if I show them at full render distance, but this is just the optimization work I need to do with the 3D models themselves. [music] The nice thing is that now the engine is at the level where I really feel comfortable with it, and I can now really focus on making many parts of Galaxy playable and just implement them properly, which is very exciting. And [music] I will post many updates on this project in the future. Thank you so much for watching, and if you enjoyed this video, then you should definitely watch the one where I put Minecraft on the Game Boy Advance.
>> [music]
Related Videos

TOP 15 Data compression Interview Questions and Answers 2019 Part-2 | Data compression | Wisdom jobs
wisdomjobs
281 views•2019-06-28

CTS 158: 802.11w Management Frame Protection
ClearToSend
4K views•2019-02-04

NDSS 2019 Send Hardest Problems My Way: Probabilistic Path Prioritization for Hybrid Fuzzing
NDSSSymposium
496 views•2019-04-02

How realistic is Cities: Skylines?
CityBeautiful
159K views•2019-02-14

GUIs & TUIs: Choosing a User Interface for Your Python Project | Real Python Podcast
realpython
2K views•2025-04-04

The OSI Model - Explained by Example
hnasr
225K views•2019-05-12

Cloud Computing - Introduction
elithecomputerguy
98K views•2019-10-07

From Traveler's Dilemma to Dynamic Routing | Demystifying Networking
IITBombayJuly
5K views•2019-08-04
Trending

Playstation NO DISC/NO BUY Fight Is Over...
DavidJaffeGames
4K views•2026-07-23

Americans Confused in Australia for 17 Minutes Straight
IWrocker
17K views•2026-07-23

Bitcoin Social Interest: Dozens of us Left
benjaminjcowen
12K views•2026-07-23

Tesla Profits Plunge & SpaceX Stock Continues Fall
TheJohnJohnstonLounge
6K views•2026-07-23