7 ms·
Super Monkey Ball ported to a website
- OutThisLife 8mo agoSeeing the translation from the decomp to ts is pretty interesting. Makes me wonder how one would actually write it these days
- tyleo 8mo agoI feel like it’s more sensitive than the original but this is a solid job.
- drivers99 8mo agoI 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 https://www.youtube.com/watch?v=rIs7bCOCQj0 )
- adzm 8mo agoAdjust the input falloff thing and it is actually usable on mobile
- zoklet-enjoyer 8mo agoIt almost works on my phone but glitches out. Pixel 7, Chrome browser
- rjh29 8mo agoAmazing!
- msephton 8mo agoIs there any info how this was done?
- letmevoteplease 8mo agoThe 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"
- _zagj 8mo agoAnother poster commented that it was likely done with Claude.
- qingcharles 8mo agoI was a professional game dev working on 3D engines and the scale of this task is significant for a single person. I started a task yesterday looking into decompiling Elite PC version which runs on a 256Kb XT. My goal is to replace the math and rendering with more modern algorithms which should be able to improve the framerate. Weirdly Gemini isn't bad at writing 16bit x86 CGA code. It had me set up with a dev environment in 2 mins using DOSBox.
- msephton 8mo agoI've been watching the Quake and Quake III ports to Three.js with great interest! And people using AI to help with matching decompiles of N64 games. Amazing.
- sjml 8mo agoLooks and feels great, but is missing the monkey in the ball? :(
- MiddleEndian 8mo agoSuper Ball!
- TZubiri 8mo agoBall
- TZubiri 8mo ago[flagged]
- echelon 8mo agoThis 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 https://www.youtube.com/watch?v=5zxL77g1em4
- TZubiri 8mo agoI'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.
- kilpikaarna 8mo agoMonkey 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.
- skeaker 8mo agoThis is essentially a port, it was done by transpiling a decompilation.
- deleted 8mo ago[deleted]
- functionmouse 8mo agoHahahah no wayyy I miss the "woop woop woop woop" noise you get when you move though, and it feels a little fast somehow?
- unleaded 8mo agoFor 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 https://github.com/sndrec/WebMonkeyBall
- calflegal 8mo agouh that code looks like claude to me
- TOMDM 8mo agoPull 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
- throwup238 8mo agoI went through a bunch of the commits and didn't see a single comment. That definitely seems human to me.
- tarantino-sax 8mo agoAuthor 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 8mo ago`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).
- flykespice 8mo agoWHERE THE MONKE IN THE BALL?!
- jhbadger 8mo agoAnd the "Aaaah!" when you fell.
- fHr 8mo agoAbsolute cinema!
- snorbleck 8mo agoso good!
- cgg1 8mo agoforgot how much fun this game is. really takes me back
- slowcache 8mo agoReally blown away at how well this works on mobile. Awesome stuff
- andrewcraft 8mo agohow does something like this work so well but scroll-based animations on mobile still choppy?
- CuriousRose 8mo agoThe 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.
- DANmode 8mo agoYou’re supposed to fork and/or save it.
- al_borland 8mo agoGTA 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 8mo agoThe experience of re3 and reVC were dramatically better than the new remastered versions, or the iOS sandbox version (which has no clean keyboard binds).
- keyle 8mo agoWe'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.
- losvedir 8mo agoMan, this really takes me back. I loved that game!
- willio58 8mo agoThanks, got to stage 10 without messing with any of the settings on iPhone!
- alexarena 8mo agoIn 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.
- pjmlp 8mo agoFast forward to 2026 and after 15 years, the browser vendors have not yet provided anything remotely similar to RenderDoc, only SpectorJS survives, barely usable. Also this game remains the exception, Infinity Blade was released in 2010 to show what iPhone could do with OpenGL ES 3.0, the base for WebGL 2.0, and yet most Web games are basically Flash like remakes. https://en.wikipedia.org/wiki/Infinity_Blade https://en.wikipedia.org/wiki/Infinity_Blade "Infinity Blade: iPhone Trailer", 15 years ago https://www.youtube.com/watch?v=JDvPIhCd8N4 https://www.youtube.com/watch?v=JDvPIhCd8N4
- pixl97 8mo agoAn easier answer to this is "why build web applications when you can build phone applications and monetize them?"
- pjmlp 8mo agoNot necessarily, because you get Web games via cloud streaming, where developers get a better experience and tooling instead of trying to work within the constraints of Web 3D APIs.
- laborcontract 8mo agoI 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.
- Joel_Mckay 8mo agoApple has had some good chips, but is not a high priority for game developers. If you are on ARM, than the emulation performance hit will heavily limit what kind of games are playable. https://github.com/86Box/86Box/releases https://github.com/86Box/86Box/releases https://github.com/Moonif/MacBox/releases https://github.com/Moonif/MacBox/releases Note, Steam will also natively run on many Apple ARM systems now, but again the compatibility of game titles will be sparse. Have fun =3
- yuppiepuppie 8mo agoYou may like hnarcade.com You’ll find a bunch of these types of games there
- tombert 8mo agoWell 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.
- bsimpson 8mo agoI 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.
- renewiltord 8mo agoEmbarrassingly, 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.
- djl0 8mo agoThis is awesome. Monkey Target was my favorite part - I hope that makes it in one day.
- steezeburger 8mo agoI 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 8mo agoskill issue
- hiprob 8mo agoIs there a chance Super Monkey Ball will finally see a Dreamcast version?
- syndeo 8mo agoWouldn’t that be wild? I don’t know that the Naomi version runs on it yet, but that would probably be a decent place to start. At least as a reference implementation for most of the engine!
- tarantino-sax 8mo agoSo. 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.
- Cloudef 8mo agoI know HN is riding the LLM hype, but this codebase has no LLM in it.
- kuschkufan 8mo agoSo. Certainly didn't expect this much toxicity and negative attitude this early in the morning.. I think that's enough HN for me today.
- tarantino-sax 8mo agonot trying to be negative, friend. I think clearly the author of this put a ton of effort into this project to make it functional, and I am acknowledging that. But, there are no disclosures about this anywhere from the author when so much of the work has been done by AI. I find this especially concerning when you realize the author is soliciting money for this project on X and other places.
- neonmagenta 8mo agoWelp, there goes my productivity for the next week
- rda2 8mo agoThe 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);
- jader201 8mo agoAre gyro controls broken? This would be prefect for iPhone gyro controls, but I’m not getting it to work. Edit: never mind, the permissions are broken: https://news.ycombinator.com/item?id=46791545 https://news.ycombinator.com/item?id=46791545
- modeless 8mo agoI'm really at a loss to explain why there aren't more web games of this quality. It's totally feasible to make these, and yet they are so rare. I've ported a couple of games myself (https://thelongestyard.link/q3a-demo/ https://thelongestyard.link/q3a-demo/, https://thelongestyard.link/cave-story/ https://thelongestyard.link/cave-story/), but there ought to be hundreds like this.
- iFreilicht 8mo agoWhat was your process? Decompilation and porting to typescript? Crosscompilation to wasm?
- socalgal2 8mo agoCool. There's this from 13 years ago https://experiments.withgoogle.com/world-wide-maze https://experiments.withgoogle.com/world-wide-maze (only a video is still up)
- kidfiji 8mo agoOh man, this nerd sniped me. This brings me back to my childhood :)
- NickC25 8mo agoI don't want to spam comments, but I was absolutely hooked on SMB 1 and 2 for Gamecube and Wii. This is incredible. Well done.
- hackernudes 8mo agoNeverball is a similar game that's been open source for ages. It has a web based version too: https://play.neverball.org/ https://play.neverball.org/
- gwef 8mo ago[dead]