mwpenny / portal64-still-alive

A demake of Portal for the Nintendo 64
MIT License
286 stars 39 forks source link

Compiling for Steam Release.(future planning stuff) #88

Closed FoxbitDreamtail closed 6 days ago

FoxbitDreamtail commented 1 week ago

Version of the game

What is the enhancement?

I know this seems really outlandish, but there is a project that allows you to statically recompile N64 Roms for any platform you want, I'm only bringing this up because at one point James Lambert originally wanted to find a way to put his creation, Portal 64 on Steam as like a portal mod or something similar and this would allow you to do it.

Screenshots

If applicable, add screenshots to help explain your enhancement. If it is a feature/enhancement that was in the original portal, please include screenshots or video of that as well.

Additional context

The project I am talking about is linked here, this isn't really a bug or a feature request just saying that in the event that we eventually remove all of Nintendo's proprietary code from this project, this could be a way of getting it onto Steam(as james origionally intended).

mwpenny commented 1 week ago

This is possible. It works by using a reimplementation of libultra for modern hardware (similar to what high-level emulators do). That project is here: https://github.com/N64Recomp/N64ModernRuntime.

However, there'd be some work to get everything integrated together. Some caveats and unknowns are mentioned in the readme as well, like potential trouble with modern GCC versions.

These can likely be overcome although I think it would be cleanest to just do a native port. N64Recomp is great for existing closed-source games (and avoids the need for decompilation - which is irrelevant here) but doing it natively requires less hackiness and patchwork, and allows for more control over the final result.

The good news is that the abstraction/refactoring work required for a native port is also required for libdragon and so doing that once helps for both. Also libdragon + emulator avoids legal issues too so that is an option too.

Doing something like this would and be cool eventually. Targeting platforms other than N64 is a long long way off though.

FoxbitDreamtail commented 1 week ago

Doing something like this would and be cool eventually. Targeting platforms other than N64 is a long long way off though.

I understand, just wanted to make this issue because it's something James wanted to do before the project died.

hackgrid commented 1 week ago

Not at all, James only planned to supply the Portal64 rom file as Portal 1 mod. (To be sure players bought Portal PC) No PC port of Portal64 was ever planned at all - does not make any sense at all, there already is a PC version of Portal: Portal. The source code even is public to port to other systems with enough performance.

Foxbit @.***> schrieb am Mi., 4. Sept. 2024, 00:33:

Doing something like this would and be cool eventually. Targeting platforms other than N64 is a long long way off though.

I understand, just wanted to make this issue because it's something James wanted to do before the project died.

— Reply to this email directly, view it on GitHub https://github.com/mwpenny/portal64-still-alive/issues/88#issuecomment-2327556165, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAANGLGKN45T6ILKFJDXFELZUY2MVAVCNFSM6AAAAABNRMJ2Y6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRXGU2TMMJWGU . You are receiving this because you are subscribed to this thread.Message ID: @.***>

FoxbitDreamtail commented 1 week ago

Not at all, James only planned to supply the Portal64 rom file as Portal 1 mod. (To be sure players bought Portal PC) No PC port of Portal64 was ever planned at all - does not make any sense at all, there already is a PC version of Portal: Portal. The source code even is public to port to other systems with enough performance.

HL2, HL2: Episode 1, HL2: Episode 2, Portal, HL: Source, Day of Defeat: Source, HL2: Deathmatch, Team Fortress 2(old dated 'classic') And all of that source engine source code is entirely open source, not due to valve's choice, but because of a leak that happened in 2020. And in order to release something on Steam, it can't be just a file. You need to have an executable that does something. Otherwise, it can't be published. I think of it like micromages. Micromages is an NES game released in 2019. And because of the aging hardware, there had to be a port made for PC in order for people who don't own the original hardware to play the game. Not to mention, It would still need to be there as poor the requirement. They allowed users to still obtain the ROM by putting the ROM in the files of the game. Also, if we may have more light weights than the base portal game, there would be a reason to play it on PC, as well, for underpowered devices that can not run the source engine version of the game.

mwpenny commented 1 week ago

James knows the actual reason, but I think it was to make it easy to distribute.

Even though the original game exists, it's still a fun idea. But it would just be for the fun of it: I believe Micro Mages uses an emulator for PC releases, and I could run Source engine games well on a very low-spec laptop in 2009. So a native port would be for the novelty alone.

In any case, this isn't a focus right now, but may be eventually.

FoxbitDreamtail commented 6 days ago

In any case, this isn't a focus right now, but may be eventually.

and that's why I made this, though, I have many devices that cannot use the source version of portal(eg. Netbooks/NetTops, PCs from pre 2009(maybe back to 2002 on XP?)), I get it but eventually, this will be brought up again and when that happens, feel free to reopen this issue.

mwpenny commented 6 days ago

I get it, I'm just setting expectations. I'm good with either keeping this open or reopening later. It's definitely something to keep in mind as the platform specific parts of the game are abstracted so we're not boxed in unnecessarily.

FoxbitDreamtail commented 4 days ago

I get it, I'm just setting expectations. I'm good with either keeping this open or reopening later. It's definitely something to keep in mind as the platform specific parts of the game are abstracted so we're not boxed in unnecessarily.

I was just saying this because we're definitely going to need some sort of executable in order to release it on steam as a mod. Steam requires either a Windows Mac or Linux executable to be present in order to release a software. Therefore, that's why I'm saying a recomp would be in order of some kind If this were to go on Steam. Just like micro mages, we could potentially port it to desktop. if not just only for the novelty of being able to play it on PC without needing an emulator, It could be seen as a way to glimpse into what the N64 is capable of without actually having people own an N64! Micro Mages doesn't use an emulator, It's a native port with some quality of life features for running an NES game on PC. Not too dissimilar from the Legend of Zelda N64 games recomps on PC.

hackgrid commented 4 days ago

Not sure that Steam really requires an additional executeable for a Mod? What is your source for that? There are many texture Mods or stuff which reuse the existing binaries. Or is that the workshop then?

FoxbitDreamtail commented 3 days ago

mods to the source engine which you get from external places outside of steam don't require an executable but if you look in any mod on the steam store you'll find that every single mod released on the steam store has an executable in it it doesn't just execute portal 2 or execute portal it executes its own executable to run the game, Only games obtained from other places and placed into the source mods folder functioned this way. Unfortunately, those mods cannot be distributed through the Steam storefront.