Nintendo right now: Get Boeing on the line
Nintendo’s execs calling Boeing’s execs: “Hey, can you refer us to your…fixers? You know…rhymes with shmassassin…yeah you know, those guys.”
If they want the job done, he’s not taking a 747
No thats how he kills them
Change it to “Boeingman” lol
Smash Sassin*
Nintendo on their way to file a DMCA C&D letter.
You’re not wrong and I’m shocked this hasn’t been shut down yet. Not to mention, the Nintendo 64 has been discontinued for years, but I have a feeling that won’t stop Nintendo.
When that older DX game port was released, I think it took like 3 or 4 days for them to take it down. Probably even like a
patchstomp tuesday situation when the interns hand off the script detections off to the lawyers.It might take a bit longer if people stopped using sites like Youtube and Github, and tried not to include trademarked terms (or super-identifiable audiovisual content) anywhere.
Video: “Even Superman64 -a direct affront to God- has a port”
lol
I wouldn’t call it an affront.
More of a proof that a god doesn’t exist
Obligatory AVGN link: https://www.youtube.com/watch?v=1dJXgJ1c4vY
Superman 64 Wide-screen with ray tracing?! Now that’s gaming!
Here before Nintendo files a cease&desist for daring to make a way better service than their shitty phoned-in subscription emulation service
deleted by creator
a comment on that site really condescendingly claims this is how he would have handled it and that a script could be written in half a day to do the work.
my understanding is that an emulator effectively recreates the hardware’s different components in software so that from the game’s “perspective” it’s running on a real machine more or less.
This process instead decompiles the game code and recompiles for a new target machine.
I suspect one can’t just pump out a script in an afternoon to do this, but I am curious what is the complexity here?
For graphics, the problem to be solved is that the N64 compiled code is expecting that if it puts value X at memory address Y it will draw a particular pixel in a particular way.
Emulators solve this problem by having a virtual CPU execute the game code (kinda difficult), and then emulator code reads the virtual memory space the game code is interacting with (easy), interprets those values (stupid crazy hard), and replicates the graphical effects using custom code/modern graphics API (kinda difficult).
This program is decompiling the N64 code (easy), searches for known function calls that interact with the N64 GPU (easy), swaps them with known valid modern graphics API calls (easy), then compiles for local machine (easy). Knowing what function signatures to look for and what to replace them with in the general case is basically downright impossible, but because a lot of N64 games used common code, if you go through the laborious process for one game, you get a bunch extra for free or way less effort.
As one of my favorite engineering phrases goes: the devil is in the details
that makes sense, it’s like only really feasible now that we have enough decompiled, readable n64 games
So, you’re pretty much spot on with how emulators work. I also like using claymation to demonstrate it, like this. Your computer bends over backwards to give the game the exact environment it expects.
What makes recompilation more than a simple script is the rebuilding aspect. I brought up claymation because it’s a great analogy for this, too. An n64 ROM is a complete set of characters, sets, and a script for a claymation movie. It’s I in one studio right now, and that studio is the N64, but you need this to be in your PC studio.
First, you have to decompile your sets and characters. You take reference photos and rip out every tree in a forest set and roll each tree back into it’s own ball of clay, with its own reference photo each time. Every little clay cobble on a road, characters outfits, hair, limbs, you meticulously separate every piece of clay that Nintendo shaped, ball them up, and pack them. You now have a million little clay balls and reference photos for every one of them. You take these back to your PC studio. Thankfully, with these reference photos, your clay 3D printer (compiler) can return these balls into something very close to their original shapes, except there’s a bunch of little mistakes. One character’s leg is slightly thinner and longer than it should be, which messes up their gait when you re-film this, so you manually tweak the leg to be accurate. The cobbles don’t quite fit the same, they’re a bit smaller, but you have extra clay because of that so you just make more cobblestones. The road doesn’t look exactly like the original, but that’s fine. The trees, again, don’t quite fit right, but you’ve made similar trees in your studio before and you know those will work so you actually just use those as references instead of the originals. You get filming but this one scene just isn’t lit right, and you can’t figure out why, but you eventually figure out the N64 studio opened the blinds on their window to get natural sun in this shot, but your studio doesn’t have a good view of the sun at that angle, so you have to get a good lamp.
You face a million little hurdles decompiling and recompiling. Its almost literally reinventing the wheel. Almost all the work goes into little details that almost seem unnecessary, but there’s so many that it’s absolutely necessary. I was watching a playthrough of a recompiled majoras mask earlier today, and the Dev of this project found his way there, too, and he said it took a few days to get majoras mask to decompile and recompile, and about a year to fix all those little details that in software become lag or new bugs. So the script guy isn’t really wrong when he said he could do it fast, but he definitely wouldn’t do it right.
Someone fucking message me when we have a working Battle for Naboo ROM.
IIRC, the original cartridge had an extra chip in it that emulation hasn’t been able to use. I’m not sure if any progress has been made on this and a few other games that used these.
Nah it didn’t have an extra chip – but large portions of the game were written in microcode for the N64’s processor specifically. It’s part of what makes it and Rogue Squadron kind of a pain to emulate – along with using their own audio drivers (MoSYS/MusyX that were later used as the basis for the GameCube sound systems).
IIRC there was an official Windows port at some point though. Not sure how well it worked or works on modern systems.
Wait… Y’all are talking about X-Wing: Rogue Squadron and Star Wars Episode 1: Battle for Naboo, right?
I owned those windows ports!
They worked great back in the day - I had such a blast with them that I begged my parents to get me a shitty Logitech joystick! If you want to check them out, it looks like Rogue Squadron is only $10 on Steam; and Battle for Naboo seems to be abandonware, but it seems to be hosted on a lot of “better spread than dead” game sites.
SuperFX SNES games can be emulated, right?
I’m pretty sure that has been able to be emulated and run through most emulation software now. These Star Wars games had specific code and drivers that, when I looked up why it wouldn’t emulate years ago, had not been cracked open to get the source code to enable people to program it into emulation software.
Probably a lot of work for a single game.
Battle for Naboo actually had an official PC version all the way back in 2001. No idea if it works on modern PCs, though.
The keyboard controls are very janky. You’d have to do custom button mapping with a controller, and there’s no analog input. At least not without some mods that I’m not sure exist.
Saw the twitter post yesterday, good thing they waited until it was basically ready to go before showing off, now even a C&D can’t stop it.
I don’t think there’s grounds for a C&D here anyway. I don’t think it uses any copywritten material. It transcodes the game into C I think, and that’s all. It does not rely on anything Nintendo created.
Nintendo is a Japanese company.
Sure. They could do something in Japan, but if they want to force the development to stop they need to use the laws where the developers are (probably the US). If they want to go after the github (assuming they’re using that for some reason) repo, Microsoft is an American company so US law applies.
https://www.wipo.int/treaties/en/ip/berne/
Actually because Nintendo is a Japanese company it means Japanese law applies to their work in America and America will facilitate the laws execution as if it was it’s own because we are in this treaty.
It’s why Nintendo gets away with all of its bullshit already. Because they are following Japanese copyright law which is significantly more heavy than American.
OK, yeah. Even still, looking into Japanese copyright law (as an outsider with little understanding), it doesn’t seem like there’s anything that would protect against this, which makes sense because that’d be crazy. This is a totally new work that happens to operate on existing work. It doesn’t use anything created by Nintendo. It should not be an issue.
If you can point to something that actually says this would be protected against, go for it. I highly doubt there is such a thing though. It’d make something like a printer with a scanner potentially illegal because it operates on someone else’s works to produce an output.
It doesn’t really matter is the problem man. It’s an argument and the answer is very expensive. If Nintendo comes a knocking, neither the people who made it nor Microsoft will pay to figure out that answer.
That’s how legality works in practice. It’s fucking stupid and terrible. Better to know that and spread that information so people can grab it before it’s gone. And thankfully there will be forever extra-legal ways to get it now that it’s our precisely because people know what I’m saying.
What is the point in trying to argue that nothing will happen? For fun?
Yuzu was using proprietary code though. That’s why they got shut down but so many other emulators are still up. Sure, Nintendo tries, but they haven’t gotten anywhere with the others.
Also, yeah of course people should make backups and put it in other places. That’s regardless of any risk of a C&D. Just the fact the devs could dissappear or something is reason enough for that.
That’s logical. Nintendo’s lawyers don’t follow logic.
I wish that would stop Nintendo.
I think Sesame Street owns the letter C. The devs better watch out for Elmo.
I’m wondering how much this will help the handheld scene. N64 emulation is pretty notoriously shitty on many handhelds.
It won’t help emulation but on pc/steamdeck you can natively compile it so that there no need for it anymore. Not sure about smartphone but I’m sure that it should be possible!
Yes, that was kind of my point. N64 emulation on handhelds often sucks. So being able to have games recompiled to be better optimized on something like the Miyoo Mini would be great. While it is cool for the PC because it can allow for enhancements much more easily, just getting games up and running at a minimum is not an issue for any PC made in the last decade or two.
Why is n64 emulation so bad in particular? I got my girlfriend one of those handhelds preloaded up with roms and although I haven’t tried any n64 games it seems to run other 3d games from other consoles of that Era fine. Also I remember having an n64 emulator on my modded original xbox that could run games fine, I played through all of mario64 on it during quarantine before I built a new gaming pc. I feel like handhelds should have similar power to an old Xbox by now but maybe not.
unique hardware that doesnt follow the conventions of standard hardware, so you have to write code to get around that fact. Take for example one of the reason why Wii/GC development went fast eas because the PowerPC processor is fairly well documented, similar to the Tegra X1 with the switch. Its always obscure hardware that makes hardware emulation harder (e.g PS3, Sega Saturn)
Delta is a great app if you have iPhone and a Backbone controller 👀
Nintendo makes it as hard as possible to use their computers generically.
Nintendo fanboys: “Thankyou, sir, may I have another?”
May i pay 60 dollars for a 10 year old game mayhaps?
M’Nintendo
*tips red fedora with embossed white ‘M’
Nintendo still doing that thing where you have to buy your eshop game on every device you own due to no transfers or anything?
Of course. Backwards compatibility for Nintendo died with the original Wii. That’s almost certainly never coming back.
Can confirm that 60fps Perfect Dark goes hard on the SteamDeck.
How did you get it to work? Any guide specifically you would use?
I just used the i686-linux steps here:
https://github.com/fgsfdsfgs/perfect_dark
As with most of these decomps there is no copyrighted material included in the link and you have to provide your own ROM (and a very specific version of it) in order to build and get it to work.
After that I believe I just copied the folders to the Deck, mapped it as a non-Steam game, added updated artwork with the steamgriddb plugin etc.
I might have messed with the controls a bit but I don’t recall. There is probably a more detailed Steamdeck-specific guide somewhere if you care to dig.
Hi, dumbass here, I’m vaguely unclear what’s being discussed here. So you made Perfect Dark 60fps on steamdeck.
But what is raytracing, and can these improvements be done over retroarch?
Broadly speaking, ray-tracing is a graphic rendering technique that produces more accurate light reflections (and realistic looking graphics) but is demanding of rendering hardware and therefore associated with modern games and consoles/PCs.
The project I linked is a decomp specific to Perfect Dark that uses existing ROMs. Basically it builds you a standalone runnable Perfect Dark with more modern enhancements, but I don’t think it supports ray tracing.
The project in the original Tom’s Hardware article appears to include a separate tool that is generic and could potentially be used on various N64 games with user-supplied ROMs. I don’t see a list of games that are supported so I can’t speak for Perfect Dark.
I know there are raytracing plugins for n64 emulation but I’m not sure which Retroarch core and settings would support that. Probably requires experimentation to see what works and what doesn’t.
This is all I need in life.
Will be interesting to see if this is useful for non-PC platforms as well; I’ve got a Myioo Mini Plus (basically an ARM SBC in a GameBoy-esque case designed to run RetroArch) - it’s not really powerful enough to run a N64 emulator, but if I could recompile the games in my PC and run them natively then maybe that’ll work better?
Emulating N64 is particular can be a lot of overhead - it’s possible this could help!
Yeah, I was a little surprised - the MMP can do PS1 emulation no issue, but apparently N64 is too much. I would have thought it would be the other way round
Idk about this, but the Mario 64 decompile was recompiled to run on my Anbernic 353 at 60fps, runs amazing. So I think it should be at least theoretically possible.
When Conker’s Bad Fur Day is available with unlocked resolution and widescreen, let me know.
🎵 I am the grrreat mighty poo… 🎵
Shame the sequel was just dlc for an unrelated game and only lasted a year before Microsoft pulled the plug
I wonder if online multiplayer mods could be made for multiplayer games.
That would be awesome. My guess is yes but it would probably take a lot of work. Can you imagine N64 Smash online multiplayer that actually works?
You can already do this with some N64 emulators with built in netplay like, Project64KSE. There is a small community dedicated to it with a website here.
Smash Bros Melee is much more popular to play online nowadays, and there is a great update for online play called Project Slippi. It works with the dolphin GameCube emulator and makes it very quick and easy to find games against similar skill level players. It also adds rollback netcode, stats, and other QOL features.
If Nintendo, themselves, put out an online Smash Melee remake, it would never be as close to good as Project Slippi already is.
Netplay isn’t exactly ideal, as from what I understand it generally requires the syncing of all players emulated console hardware simultaneously (basically, every emulator tricks the game into thinking they’re all being played on one single console), which is a lot harder to reliably achieve than having native netcode to handle multiplayer
Slippi, in particular, has rollback netcode built on top of the emulator. It is way less laggy than Smash Ultimate and most other fighting games on the market, for that matter.
It is used for high level tournament play by players who have played the game in person since its release, with no complaints. It’s really impressive how smooth it is.
I think you are right about general netplay. Some emulators are better about it than others, and fighting games are of the type where the lag differences will be especially noticeable.
Well holy shit. Nintendo’s frankly terrible online for the last several Smash games has always been particularly offensive to me. As I’ve grown older all my friends stopped caring about Smash so online play was the only way I’d get to play with anyone. Even with gigabit internet not once did I get a match I would describe as good. The closest to tolerable was at least half a second of input lag. That’s for the last 2 games. It made me so mad, like why fucking bother putting online play in your game?
Easily. That works even in an emulator cough cough netplay cough cough
Support would be way better if implemented within the game itself (although I think that goes without saying, 😝)
I saw a Ocarina of Time one a while back. There is also some tool that can link randomizers of different games togther.
Nintendo is preparing to sue the proper technologies out of existence. Anyway, what did you say the researchers last names were? First names too if you got them. Nintendo would love an address and possible information on their whereabouts around lunch time. It’s all for the benefit of all players out there!
Damn. Thats impressive.
Seriously! To push through in spite of Nintendo’s reputation.