Remix.run Logo
Super Monkey Ball ported to a website(monkeyball-online.pages.dev)
220 points by rebasedoctopus 4 hours ago | 60 comments
unleaded 3 hours ago | parent | next [-]

For some reason the opening settings page made me think this would be someone who just told claude to make a monkey ball style game.. maybe from seeing too much of that on HN. forgive me for that, this is awesome.

As far as i can tell it's not even an emulator or a decompilation running in emscripten or anything like that, they remade the game in TypeScript. love stuff like this https://github.com/sndrec/WebMonkeyBall

calflegal 3 hours ago | parent [-]

uh that code looks like claude to me

TOMDM 3 hours ago | parent | next [-]

Pull Request: chore: remove node_modules

I don't see much of a reason to keep a copy of node_modules on the git repository considering they can be reinstalled for deployments and it is generally bad form.

sndrec (the author):

Thank you for this - I'm newbie at webdev so I wasn't sure what was and wasn't needed. I'll merge this soon.

Haha, almost certainly Claude

laborcontract 2 hours ago | parent | next [-]

counterpoint:

- The readme is two lines and has six words, one of which is a typo.

- Claude would never commit a node_modules folder unless coerced.

It’s disrespectful to casually call things AI-generated. I wish people would do it less unless they have 1) proof and 2) a meaningful reason for it.

throwup238 an hour ago | parent | prev | next [-]

I went through a bunch of the commits and didn't see a single comment.

That definitely seems human to me.

tarantino-sax 28 minutes ago | parent [-]

Author claims this was made in 5 days on twitter. Nobody knew about this project until they released it and their inital commit contains 200,000 lines of code. Curious

throwup238 2 minutes ago | parent [-]

`tokei --exclude node_modules` says only 40k lines, but yes point taken. 40k lines in 5 days is unrealistic for a human unless we're talking about Fabrice Belard (or the 40 people in a trench coat pretending to be him).

rezonant 3 hours ago | parent | prev [-]

But... it doesn't use React, so how?

Tiberium an hour ago | parent | prev | next [-]

If anything, it seems that the author used GPT 5.2 (-codex) in Codex, which is actually far more capable at such work than Opus 4.5 in Claude Code.

sublinear 3 hours ago | parent | prev [-]

Can you tell from the pixels?

calflegal 3 hours ago | parent [-]

no it f*ckin rocks. Don't mistake me for a claude hater. I just know my boy's handiwork

sublinear 3 hours ago | parent [-]

Guess that's why it doesn't work on mobile then :)

bikelang 3 hours ago | parent | next [-]

Works on Brave iOS for me. If anything I’m kinda blown away at how well it works on mobile

aprilnya an hour ago | parent | prev | next [-]

works perfectly for me on iOS Webview even with a virtual joystick !

horacemorace 2 hours ago | parent | prev | next [-]

iOS Firefox seems fine to me. Nice and snappy.

DANmode 2 hours ago | parent | prev [-]

What’s your mobile?

iPhone 12 mini works TOO well.

alexarena 2 hours ago | parent | prev | next [-]

In 2006 the iPhone was announced without an App Store and Apple’s party line was to just build/use web apps.

Fast forward to 2008 and the App Store is launched along with Super Monkey Ball – a day one app – the perfect game to demonstrate the power of a true native app that could _never_ be achieved on the web.

rda2 12 minutes ago | parent | prev | next [-]

The gyro permission request doesn't work on iOS since it's not tied to user input. If you're feeling brave, you can paste this into your phone's javascript console to add a button that requests permission.

var b=document.createElement('button'); b.textContent='Gyro'; b.style='position:fixed;z-index:999'; b.onclick=()=>{DeviceOrientationEvent.requestPermission();b.remove()}; document.body.appendChild(b);

laborcontract 2 hours ago | parent | prev | next [-]

I was in the market looking for some fun iOS games, things that I could play casually, pick up in a moment, load quickly, and not be burdened by the ridiculousness of modern gameplay and incentive mechanics. To my surprise, it was very hard. I couldn’t find anything. This is exactly what I’m looking for.

tarantino-sax 34 minutes ago | parent | prev | next [-]

So. this code was most likely generated with AI trained on community decompilation efforts, possibly without their knowledge. I know that the community has not yet reverse engineered custom model skinning for the game, so it does not appear here because it wasn't in the training data. Why would somebody who has supposedly already implemented billboard object support, or as the code calls it "flipbook objects", couldn't just stick a similar animated billboard texture inside the ball? probably because they have no clue how the code actually works or is structured.

It's genuinely impressive that generative AI has advanced to the point where this was possible, but it also feels like this was built backwards, extremely niche mechanics in the game are rendered nearly perfectly, where the base elements of the game had this been built from the ground up are implented wrongly or completely absent.

jader201 10 minutes ago | parent | prev | next [-]

Are gyro controls broken?

This would be prefect for iPhone gyro controls, but I’m not getting it to work.

sjml 4 hours ago | parent | prev | next [-]

Looks and feels great, but is missing the monkey in the ball? :(

MiddleEndian 3 hours ago | parent [-]

Super Ball!

TZubiri 3 hours ago | parent [-]

Ball

CuriousRose 3 hours ago | parent | prev | next [-]

The GTA Vice City in browser was also really impressive, but it seems it has been taken down. How much of an advantage has AI got on decompilation projects? Complex assembly seems to be still done to some degree by hand these days (see - ffmpeg), and I wonder how big of a training set you could provide. I have wondered if it was possible to take the re3/reVC code and the assembly and use it for training data to get GTA San Andreas on macOS.

al_borland 2 hours ago | parent | next [-]

GTA Vice City and San Andreas were released on iOS more than a decade ago. I tried installing the mobile version on my Mac with Apple Silicon. It launches fine (if I remember right), it just needs an update for the controls to work, since it was made for touch. I haven’t tried hooking a gamepad to the Mac, maybe that would solve it.

It seems like Rockstar could make a relatively minor update to officially support macOS and sell a lot of additional copies. At this point, they could simply not support Intel Macs and I don’t think anyone would mind.

CuriousRose an hour ago | parent [-]

The experience of re3 and reVC were dramatically better than the new remastered versions, or the iOS sandbox version (which has no clean keyboard binds).

DANmode 2 hours ago | parent | prev [-]

You’re supposed to fork and/or save it.

neonmagenta 13 minutes ago | parent | prev | next [-]

Welp, there goes my productivity for the next week

hiprob 35 minutes ago | parent | prev | next [-]

Is there a chance Super Monkey Ball will finally see a Dreamcast version?

tyleo 4 hours ago | parent | prev | next [-]

I feel like it’s more sensitive than the original but this is a solid job.

adzm 3 hours ago | parent | next [-]

Adjust the input falloff thing and it is actually usable on mobile

drivers99 4 hours ago | parent | prev [-]

I think it's because the Game Cube had a proportional joystick, and using a keyboard is 100%

For me, it's not really the same without the monkey yelling when you fall off the level. (example: https://www.youtube.com/watch?v=rIs7bCOCQj0 )

bsimpson an hour ago | parent | prev | next [-]

I tried to put on a movie while I was home for the holidays and my brother instantly complained that the drone shot made him motion sick. Was weird to me to hear that a stationary screen could upend someone's vestibular senses.

Seeing this, I understand.

tombert 2 hours ago | parent | prev | next [-]

Well this was a fun way to see that Firefox on Linux finally fixed the shader cache being broken (at least for NixOS). This is great.

Though I gotta say, I am a little disappointed that there are no monkeys inside the balls. It's just a big ball, at least for me on Firefox and Chrome on NixOS.

OutThisLife 2 hours ago | parent | prev | next [-]

Seeing the translation from the decomp to ts is pretty interesting. Makes me wonder how one would actually write it these days

steezeburger an hour ago | parent | prev | next [-]

I completed stage 10 and it shot me into space but the timer kept going and then counted it as a failure and restarted the map.

functionmouse 42 minutes ago | parent [-]

skill issue

djl0 an hour ago | parent | prev | next [-]

This is awesome. Monkey Target was my favorite part - I hope that makes it in one day.

msephton 4 hours ago | parent | prev | next [-]

Is there any info how this was done?

letmevoteplease 3 hours ago | parent [-]

The author commented on their ko-fi: "there isn't much to say that would require a big writeup - a lot of the code is already reversed, and anything that's missing can be yoinked from ghidra decomp output and cleaned up, so it's just a matter of transpiling to a different language. plus much of the game's proprietary formats are thoroughly documented by the modding community. time consuming but quite easy if you're just patient haha"

anonnon an hour ago | parent [-]

Another poster commented that it was likely done with Claude.

slowcache 3 hours ago | parent | prev | next [-]

Really blown away at how well this works on mobile. Awesome stuff

losvedir 3 hours ago | parent | prev | next [-]

Man, this really takes me back. I loved that game!

flykespice 3 hours ago | parent | prev | next [-]

WHERE THE MONKE IN THE BALL?!

jhbadger 3 hours ago | parent [-]

And the "Aaaah!" when you fell.

willio58 2 hours ago | parent | prev | next [-]

Thanks, got to stage 10 without messing with any of the settings on iPhone!

andrewcraft 3 hours ago | parent | prev | next [-]

how does something like this work so well but scroll-based animations on mobile still choppy?

cgg1 3 hours ago | parent | prev | next [-]

forgot how much fun this game is. really takes me back

renewiltord an hour ago | parent | prev | next [-]

Embarrassingly, I only ever knew this game as Neverball because there was a period when I would only play open source games and this, Xmoto, and tux racer.

zoklet-enjoyer 4 hours ago | parent | prev | next [-]

It almost works on my phone but glitches out. Pixel 7, Chrome browser

snorbleck 3 hours ago | parent | prev | next [-]

so good!

fHr 3 hours ago | parent | prev | next [-]

Absolute cinema!

functionmouse 3 hours ago | parent | prev | next [-]

Hahahah no wayyy

I miss the "woop woop woop woop" noise you get when you move though, and it feels a little fast somehow?

TZubiri 3 hours ago | parent | prev | next [-]

dude you like Super Monkey Ball for the HTTP2? Bro, HN, I knew I liked you dude.

Other notes:

Is there supposed to be a monkey inside the ball? That might be lost in portation

The bananas appear to be 'Dole' branded, interesting early example of Product Placement in games.

I like the category of products that are quite simple to make (read cheap) but can be very successful. I know of course that nowadays making something like this would be much easier, but I can imagine at the time it was still very simple for a nintendo console title. It feels like games this simple might have existed for the N64 when 3D was a novelty so building literally anything was bleeding-edge high-tech million dollar projects (PilotWings 64), but in the NGC era games were much more polished and deep than this. I think its every hacker's dream to publish something they coded in a month and have it be an overnight success.

NEVERMIND MOST OF THIS, I JUST REALIZED THIS IS NOT A PORT, BUT A SIMPLER REMAKE

kilpikaarna 41 minutes ago | parent | next [-]

Monkey Ball (without the Super iirc) was an arcade game initially. With a banana-shaped joystick and everything. Then SMB added some extra modes and came out as a release title for the Nintendo GameCube. It was probably intended as kind of a low-budget thing, but ended up being recognized as one of the best games for the system, especially early on.

echelon 3 hours ago | parent | prev [-]

This is immediately what my mind went to.

If you haven't seen Smiling Friends, you're in for a treat. Zach Hadel is a genius.

The mix of 2D animation, 3D animation, claymation, stop motion, live action rotoscoping, and comping in guest animators like Joel Haver and David Post amazing. You know they appreciate the art form.

You've probably already seen the gif of this scene: https://www.youtube.com/watch?v=5zxL77g1em4

TZubiri 3 hours ago | parent [-]

I've seen the multiple techniques becoming more popular (Wabie shorts), it really showcases a dominance of your craft when you can use multiple techniques instead of overrelying on a simple one. Great comedic/expressive technique as well.

I imagine how it would be with software, you have a whole ass huge website, but out of the blue you download a .jar for Nokia and you have to run it in a nokia or a very niche VM,(Or just in a JVM). Maybe to get a 6 digit verification code so you can log in to an account.

rjh29 4 hours ago | parent | prev | next [-]

Amazing!

keyle 3 hours ago | parent | prev [-]

We're only 2 years away from "Claude, Make GTA VI!" /s

Looks fun but keyboard doesn't seem great for this, it feels like it needs an analog stick. Note I've never played the original.

Perf wise it seems bang on.