Audio, Polygon Subdivision, and Much More! [SM64 GBA]
HTML-код
- Опубликовано: 10 сен 2024
- Thank you so much to @Pack64 and @LK64DSH for their superb assistance in porting and simplifying assets, the game only looks at good as it does because of their work.
hey two contributors that's me and lk64dsh! :DDD 5:47
*yes i know i'm credited in the description but some people are too lazy to read that shi so i'm putting it here just in case
Your work here looks beyond incredible! Good job mulching the polygons and pixels into something that could fit in a gba while still looking stunning, 10/10
Great work!
hello pack64
ZOMG ITS SACK 64
If you took these techniques back in time to when GBA games were being actively developed you'd probably be considered the best developer who ever lived.
Look up Asterix and Obelix XXL on the GBA, it came out in its lifespan :D
Check out Super Monkey Ball Jr.
I saw an impressive 3d racer for the GBA at ECTS, but I don't think it was released.
Asterix & Obelix XXL was a pretty good try!
It's pretty similar graphically to Smashing Drive's port, except for the use of textures.
I seem to recall retro games being produced up to last year. Don't remember if the latest was for Sega console or one of the Gameboy. Point being there's no need to time travel. I even feel that fan made games are sometimes superior to the triple A titles being produced today.
The fact now we can hear "Wahoo" and Peach's Castle in the GBA is awsome
Still waiting on the "bing bing"
why so many likes LOL
1:14 he mentions it’s sample-based instead of soundfont playback. Looking forward to the implementation of that later on!
@@retroworldfrom90s because bing bing wahoo
So long...
It's incredible the work you've continued to put into this!
Hi
Aint you Nathaniel B? Yo but fr this is sick!!! 🔥
hol up? Ain't that Nathaniel B? 🗣🔥🔥‼️💯
Damn, Nathaniel B still lives on 💀💀💀
He's been chatting here during the development of this demake.
This project came a really long way in the past 3 months.
For me it's almost done
Hell the fact this much got done in _3 months_ alone is insane
@@HandlesAreReallyBad yeah, since this type of projects only progress a bit in two or three years and then they die forever
that polygon subdivision, while not perfect, just single handedly changed this from looking like a mess to really looking good.
thank you so much, this is even more amazing now!
I totally agree. You can still see some warping if you pay attention but it's subtle enough that it's not an issue. I'm floored
@@MaxOakland i mean it is very noticable, but its definitely at a point where you can ignore it if you dont look at it too hard.
also that approach is impressive
It looks more mass appealing now, and probably better for long-term playing, but idk something about the way it looked before still captivated me. I felt nostalgic looking at it for some reason.
@@gipadonimus It looks a ton better now
This will be the definitive version of SM64, for the simple fact that Iggy is playable.
Jokes aside, amazing work dude.
erm aktually it's larry 🤓
@@Pack64 Lol sorry
Should I make Iggy playable? Since I can compile the game as well and make changes to it, I can add Iggy if you'd like, lol.
@@larrykoopa64dshacker64 larry but pride month
@@larrykoopa64dshacker64 I'm not big into playing SM64 hacks or mods, but it existing will definitely put a smile on my face, only if you'd want to though.
I like how Mario is constantly interrupting your voice over with a "YAAHOOOOOW" like a dog begging for a treat while his owner is in conversation
Thanks now I can't focus on what he's talking about anymore 😂
''YAHOOOO''
''Mario want-a pasta''
''....''
''YAHOOOO YAHOOOO YAHOOOO YAHOOOO YAHOOOO YAHOOOO YAHOOOO YAHOOOO''
Yea
he'd look so good on his knees, waiting for that treat... 😉
someone give that mario a treat
I know some people are disappointed you can't post the game anywhere, but honestly it's just really cool to see someone work this hard and do something that seems impossible.
I'm disappointed too. If you send me a private message I can send you a personal copy of the ROM though.
@@jsbarrettohow may we send you a personal message?
@@jsbarretto Hey! I'm interested. Where can I send you a PM?
@@jsbarretto hi ! Where i can send u a personal mensaje?
@@jsbarrettocan a random joe ask for the rom too 👉👈 im moreso interested if it could work on open agb firm for the 3ds
4:58 Just casually switches into Larry without saying a word
Was looking for this comment. It’s such a neat but hilariously niche and random playable character to add - and the fact he refused to acknowledge them made it so much better. It's as if someone made a Sonic game with 3 playable characters with one of them consisting of Bean the Dynamite. Like I'd be glad he was there, but why lmao.
@@20000dino Larry's there because of me, lol. I can see the "SM64GBA lore reason" for him being playable being that it's an au where Mario decides he will help Larry with his plight (talk to Bowser, since Larry, despite his respect and admiration for Bowser, does what he says because he's scared and doesn't wanna be scolded and is not smart enough to know Bowser's work is voluntary, so from his perspective, he's stuck between a rock and a hard place when it comes to Bowser's orders and thinks he has no choice despite not wanting to do the bad stuff like stirring up random trouble or fighting Mario, all too much hassle and he doesn't feel like doing the work and pointless when Mario is so much stronger than him, he doesn't understand how that's gonna work) but Mario will do that if Larry joins in restoring the castle stars. That's my silly idea I made up anyway.
@@20000dinolmao exactly
@larrykoopa64dshacker64 Oh ok, neat!
@@larrykoopa64dshacker64and how did you convince him to put your character in the game??
I think the RUclips algorithm likes this guy. I wasn’t even subscribed before today, yet all of his videos on this project have popped up in my recommended as they’ve released
Folks seem to really like this project and it seems like the algorithm has figured that out. Nothing I've done before has got much attention.
@@jsbarretto well it's incredible so the attention is well-deserved :D
I'm happy to have contributed to this project!
lol i knew it was you right away as soon as i saw larry koopa before checking the description
Thats why Larry Koopa is there
Nice work! I was not expecting you to show up in this project, but when I saw Larry appear on screen, I knew something was up
Oh that's why the Larry Koopa model looked so familiar to me...
@@sawyerr1335 Thanks! Yeah, I added Bowser in the Dark World (the stage, entirely on my own) and added the Snow Mountain music, the Dire Dire Docks music and the Koopa's Road music entirely on my own (added as in also copy-pasted stuff in the code to get those in the code). I also added Larry's voice clips (but I didn't know how to make it change voices depending on the figure, so Joshua did that, Joshua is pretty much the only one doing coding, I just copy paste sometimes to add stuff since I can compile it and play around with the source code, lol)
And Larry's model, of course I made that one, hahah!
I really need to get LarryDS Chapter 1 out though, for LarryDS, been focusing on story important scripts and I pretty much wrote all that, just need it voiced now then I can storyboard the story important stuff and then get back to focusing on Chapter 1 with the story important moments out of my system...
Dude, this is really unbelivable
I can't believe the video of a moving triangle turned into this!!!
we went from 🔺 to the single-handedly coolest technological advancement for the gameboy advance
Him: explaining the programming
What i can hear: *bitcrushed wahoo*
Amazing considering that all of the GBA's sampled sound is CPU driven and I never expected any sort of better texture mapping to be implemented. I really thought that all the music would be PSG Game Boy-style chiptunes and the sound effects would be samples. I also really enjoy how Larry Koopa is apparently playable, as well as Yoshi from SM64DS
Unbelievable work you’re doing! Basically fulfilling the dream of my 13 year old self!
You'd be surprised what some of these guys can do. Check out a rom hack of Aria of Sorrow called Serenade of the night. It straight up uses the ps1 music and the quality is immaculate.
Nintendo really fucked up not providing proper audio hardware.
From what I understand, the GBA can output directly to two PCM channels with minimal performance penalty- as seen here- but the main issue is when devs try to do software mixing to get around that limitation: playing multiple sound effects and instruments at the same time, and then combining them into a single channel on the fly. That chews up a lot of CPU time, and it gets worse as more sounds are added or higher quality audio is used.
Making a recording of the N64 music and effectively "streaming" it (breaking it into chunks, or samples, and playing through those in order) ensures that the music only takes one channel. If one channel is used for music, and one is used for sounds, then no soft mixing is needed. The downside is that the music will take up a ton of space, as the GBA can't effectively handle good audio compression (or at least not without taxing the CPU hard)!
See also: F-Zero X. The N64 had similar issues around audio, and FZX's streamed music (mono ADPCM) was very fast to play back, leaving more time for the RSP to push thousands of polygons around at 60fps.
Joshua: *talking about sfx*
Mario: YAH WAH YAHOO YAHOO YAHOO YIPPEE HOO!!!!
Who cares about the texture warping, Larry Koopa is playable, best SM64 version 11/10
Whenever an update comes out I think this project couldn't possibly look better, yet here you are, improving it so much every time. Keep up the great work!
Damn, this game just looks better and better with every update. It's gone from an impressive but clearly limited tech demo to something close enough to Mario 64 DS that we're genuinely surprised it even runs on the GBA. Sorta curious what the extra character models were about though, they reminded me of certain Mario 64 DS mods, especially the Larry Koopa one.
Great work with the game so far!
The Larry model was created by the person that created those DS mods, I believe, @lksm64dsh
@@jsbarretto Yeah, I'm the one who created the Larry Koopa SM64DS mod, with Larry meeting Madoka Magica characters, hahah!
I made the yoshi model for an npc but the yoshi rig fit Mario’s rig perfectly so I decided to make it playable
@larrykoopa64dshacker64 That's probably the silliest thing I've read in a while, but in the best way lmao. Did Larry get duped by Kyuubei into making a wish?
This is absolutely mindblowing
The fact your models, textures, and audio samples are running this well on gba hardware is genuinely amazing and a feat to behold
This project might take years to be done, but I'm gonna be here all the way through! The progress you're making is absolutely amazing and, for me, learning some coding of the GBA is gonna be great!
Knowing how a lot of CPU power is required to keep the buffer full and make best use of the GBA's sound hardware, I had my doubts that this little experiment was ever going to have concurrent voice clips and music while also doing yet-improved 3D rendering, but by god you've done it. Hats off to you.
I've seen so much improvement since the first video and its absolutely amazing! That idea with dividing the triangles as they get closer is really smart.
That idea is used in pretty much all 3D ps1 and saturn games, and many software rendered PC-DOS games as well... Some of the few 3D games released for GBA did it too.
@@buzinaocara Cool to know that. I tried making my own 3d engine in JavaScript last year, and I had a similar problem with triangle sorting. Would’ve been good to know when I was making it.
This is genuinely one of the most incredible ongoing projects I’ve ever seen, it amazes me not only that you manage to make the project technically functional, but also that you clearly know what you’re doing when it comes to the finer details, like how smooth and satisfying the camera is and how well optimized the controls already look for the GBA’s d-pad. You even taught me something I did not know about how games on my favorite console, the ps1, render their graphics, which is a great bonus! Awesome vid and amazing project, can’t wait for what comes next.
I want to thank you for the heads up about the flashing images around 5:30 since i have epilepsy.
Is it not suggested to epileptics to try and refrain from computer screens anyway?
@@haken7016 No, it's ok.
this is absolutely insane. sm64ds was considered mindblowing, but this is on hardware 5 years older and made by a team probably a hundredth of the size. with the texture warping problem solved, this really looks just like something nintendo wouldve released back in the day. i assume you're running all this on an emulator, so it would be really cool to see this running on an actual GBA. again, it's amazing seeing super mario 64 running on GBA, keep up the good work :)
No, he's running this on an actual GBA. He shows it in one of the previous videos. It can really run on the actual hardware!
Yep, it all runs on real hardware. Running it on an emulator makes for faster testing and debugging though. Every few days I put it on my flashcart just to check that the real hardware still likes it though.
@@jsbarretto that's so cool! :O
like, obviously it'd still be ridiculously impressive even if it only ran on emulator, but knowing this can run entirely on original hardware makes it just that much cooler. if/when you release a ROM for this and I can play it on my actual GBA I think I'll lose my mind. seriously, you're doing amazing stuff here
In your last video i asked about audio, you said it seemed far off but I can see you have been making strides brother!
It was easier than I anticipated, it turns out.
Woah dude, looks awesome. Iggy Koopa is a REALLY cool concept. I loved the koopas in Mario 3 but they never really went anywhere. Good to see ur having fun!
The extra player models are the work of @Pack64 and @LK64DSH, not me!
That was Larry...
@@michaelcarlton1484I bet you also know who his mother is
@@dannyboots Miyamoto-san?
The homebrew community never ceases to amaze me. Kudos to everyone involved.
you are an actual wizard. the way you explain your work makes the whole process much more understandable. not only have you made a piece of art, you've built heavily upon it and made something that nintendo literally thought was impossible...
It's wild that this is possible at all and insanely impressive that you've managed to take it this far.
This is amazing work. The amount of processing power we left on the table after each generational jump is astounding.
AUDIO!!
fiv e freddy
Fred dee fazb air
Even if I don’t understand everything here, the work you’ve put in is amazing and the technical skill is mindblowing. I appreciate the explanation of texture correct; very interesting and good luck on this amazing project
Dang. This continues to be an insane feat. Reminds me of playing old software mode games on my family's first PC as a kid.
I am amazed by the speed of this progress
knowing how much processing and space streamed music requires, i’m excited to hear the sound font renditions!
Cool to follow this project and seeing how much more complete and polished it becomes with each update.
The character models especially are impressive to see. Most official 3D GBA games (even the impressive VD-Dev ones like Asterix) usually opted for sprites on characters/objects.
at this speed, we'll have a fully functional demo by the end of the year... seriously man, amazing job you're doing ! every update video of yours brings a smile to my face.
This is genuinely great, the dedication you put into maximizing the GBA advance is wonderful to watch.
Just found this and am amazed by this project. Excellent work!
As a side note: It saddens me to see people in the comments not know what Koopaling that is. It's clearly Larry due to the spiked up blue hair.
As well as his face, he's got the blue eyes and the kitty smile shaped mouth. His mohawk looks specifically like a chicken cockscomb and his shell is blue.
It makes you sad that some people don't recognise a cartoon turtle?
@@RootVegetabIe no no no, its a KOOPALING
not a turtle
silly commenter
I didn't have high expectations and its amazing how much things have improved!
Really awesome project, and great progress in a really short period of time. Would be cool to see a GBA version of the SM64 sound font playing the background music!
Yes. I need to do some reading on exactly how MIDI mixers are designed before implementing one.
Iggy being a playable character was *NOT* on my bingo card.
I've been watching each of these videos in order. The gradual evolution from a small, red triangle to a fully playable Mario with accompanying animations for various actions is impeccable.
Did not expect Larry.
Next is Curly and Moe
Dude, that realtime subdivision algorithm is SICK! Major props!!! This is super impressive!
You're doing an amazing job with this as usual
This is so nuts! Makes you wonder what else could be demade into GBA games!
Although I can't wrap my brain around how you did this, I know it took WORK! Keep it up 👍
You’re doing what Nintendo never thought was possible.
This is amazing stuff!
Keep going on your project! 😁
This is actually incredible, it blows my mind how fast you are progressing through this project
This is so awesome! What surprises me the most is that you lead with the audio instead of the massively improved rendering!
I didn't think the project could be pushed to such incredible levels!
It's already almost like a low-res version of the original sm64 ds + ps1-like artifacts that are totally bearable.
Excellent job Joshua! Keep up the good work! Looking forward to the next update!
Watching this grow and grow and grow even bigger, makes me so happy, the people who contributed and you are the best dude
Huge improvement and love the characters. Keep up the fantastic work.
Super impressive. For me, this is right up there with the best projects that came out the golden age of PSP homebrew.
Other consoles have totally had their share of cool stuff too, but this stuff is on a whole different level of cool.
So amazing, if this would have released on the actual gba it would have blown peoples minds
Every update looks more and more incredible.
This is so crazy, wow!
A 3D platformer running on GBA!!
Not sprites with some 3D objects, not sprites moving perpendicularly, no mode 7, it's ENTIELY 3D on a 32-bit handheld of 2001!!!
Well, there was a 3d asterix and obelix platformer game on the GBA, but it's nowhere near as polished or recognisable as Mario 64
ruclips.net/video/b0pknb4ghUA/видео.htmlsi=3h-JN_dmuvPmf94B
this is unbelievable. keep up the great work, king.
Wait, there's more characters? 5:00 he switches to a Koopaling!
He Hearted It Your Right! Im Love this project tbh its insane
Lemmy
Larry actually. You can tell by the spiked up blue hair.@@FGGAMER7899
Always great to see more Koopaling appreciation!
@@FGGAMER7899 That's Larry, Lemmy has rainbow hair. :P
This video deserves all the views/praise it can get. This is really impressive work
Absolutely amazing
Nice work, this is starting to look pretty damn good for a GBA demake
HYPE!!!
you continue to do the impossible! :D
Absolute genius, can't even believe it but there it is. This is a huge technical feat, and i'm sure it will continue to get even more impressive over time.
Retro plus spotted!
@@kenzieprice6745 We definitely enjoy the same things
I didnt think this project would get very far, now Im pretty sure the full game will eventually be playable
Incredible. Also like the subtle reveal of the koopaling!
Great work
This has come so far, it's awesome! I'm looking forward to seeing just how far you can take this!
PlayStation 1 used fixed size bins, which are faster. Variable size needs a tree search. Can do quicksort in the same time. 2:40
Yep, exactly. ~1000 is few enough that skipping through the empty ones isn't a huge performance hog, but also high enough that draw order irregularities are pretty rare.
Another advantage of subdivision that I didn't mention in the video is that subdivision occurs before depth sorting, so the subdivided triangles end up getting sorted into the depth bins independently, resulting in even fewer depth issues.
@@jsbarrettoI thought that psx only sorts z by bin? Inside each bin Sony uses a linked list, which would be pretty slow to sort. The easy structure of a z buffer makes it fast. Even a hierarchical buffer doesn’t need malloc. Would be interesting to benchmark it at this low resolution.
Correction: quicksort works well on a linked list. As separating value start with the middle of the bin. Needs to be double linked or seek for center first? We need links anyway for the triangle structure. Still sorting array of z:id sounds faster to me
This is actually insane, can’t wait to see how the project progresses!
Quite incredible considering the GBA has 288KB of main ram and 96KB of VRAM.
EDIT: changed from MB to KB.
It's really impressive how much this evolved and perfected, really crazy stuff
Dude this amazing
this project truly showcases the power of the GBA.
Finally, super Mario advance 5
I can't wait for the Super Mario Advance 6: Mario Sunshine released in 2032
cant wait for super mario advance 7: Mario Galaxy released in 2037
This is impressively optimized. Been loosely following the whole project when Mario was simply a shape. Now look at it. As a kid with a GBA, I wouldn't even think this was possible.
if you add coins goombas and bob-ombs and try to make the king bob-omb boss fight and first working stars, that will be the first major improvement so far for casual viewers.
I like how Yoshi looks in your project :)
Keep going. No matter what you do with the project eventually, it'd be really interesting to see how much of the original you can put in this.
me is very happy of this project
So amazing 😍🤩😍 thank you so much! Please keep going this is incredible!!! Beats that driver game dude you're amazing! 💪
what an achievement, keep up the good work
Absolutely stunning, every time!! Love your channel
Congrat, look really amazing😃👍🏻👋🏻
It's 2024 and this is by far the most impressive project in gaming right now. Unbelievable!👏👏👏
these videos look alot better when you zoom out as far as you can so its around the size of an actual gba
You have such a vast amount of knowledge and talent. Thank you for explaining how things work and continuing showing us your amazing work!
FONALLY
The draw distance is what floors me. That is what killed almost every 3D GBA game. Well done.
Cant wait for a public demo
I think he said he wouldnt be releasing it but maybe he will change his mind
Hes not releasing it. (Cringe I know)
@@ReeceTheTroll I'm not releasing it publicly. That doesn't mean I'm not going to send you a ROM if you send me a message though.
@@ReeceTheTroll Oh I thought He said he wouldn't release the assets and you would need to compile it yourself
@@ReeceTheTroll Darn then this project is even more useless than I thought
This is incredible. I always amazed by the amount of progress that's made in each update.
🥳🥳🥳
Dude, that is so cool! Really looking forward to your next update. I am anxious to see how far you can push this port! 😮
Remember this all begin by a red triangle
Im really liking how this is turning out. Keep going! You are doing great
2:34 that sounds incredibly memory innefficient tho
This is by far the most excited I've been in years for this community. The amount of raw work and talent being put into this is absolutely insane.