Something that AFAICT doesn't exist that would have value: a FOSS Super Mario (SMB1/2/3/World) "port" that functions like most Doom ports, ie you provide the copyrighted content (ROMs) and the code is a faithful, legally unencumbered reverse engineering of the original games. Mods could be easily distributed as single-file archives of json maps, PNG tilesheets, some simple music/sound format.
So many "make your own Mario game" things out there, but they almost always use ripped copyrighted assets or something else legally dubious, or they're just closed source because they don't know or care about FOSS, so they have to operate in semi-secrecy for fear of Nintendo shutting them down.
A proper "port" would be out in the open from day one, and have a Freedoom-like public domain full asset replacement pack for people who don't want to deal with ROMs.
Lastly, and this should be obvious, its name shouldn't contain "Mario", and its code probably shouldn't refer to anything NTDO has trademarked like "koopa", etc. That's one difference with Doom ports, where source is available and use of terms like "Cyberdemon" in code are implicitly approved.
https://github.com/Gatete/GMEAnniversary This project is 1) built atop Game Maker, a proprietary tool whose continued existence is dependent on a single for-profit company's support commitment, 2) includes copyrighted assets in its depot (sprites/images/ subdir)! So as far as I can tell, nobody has even *tried* to do this the right way.
@jplebreton yeah exactly
@jplebreton sounds interesting, but extracting resources from a rom file is harder than from a wad, and ensuring it works with anything but the simplest rom hacks is even harder.
@devurandom Is it? I've read specs on various NES and other 8 bit sprite formats and it doesn't seem any more complex than rooting through Doom.wad for various things like sprite lumps, especially considering the "marker lump" concept. ROMs at least you can assume fixed locations for various resources, ie in SMB1.ROM with checksum X you can always start reading data from location 0x001F02AB.
I *think* the *NES Mario games hard-code most of the gameplay mechanics in machine code. There's not really the same assets/engine divide that we get these days, where that stuff is encoded in script assets.
So ideally, it'd be:
1) Generic retro-side-scroller engine/construction kit.
2) Script set to mimic the Mario game feel.
3) Quasi-legal extracted NTDO assets.
1) and probably 2) are going to be pretty safe from legal threats (and usefulf or other stuff). 3) can be its own thing.
@jplebreton something kinda like this almost existed. the guy who later made terraria worked on a huuuge smw clone called super mario bros x, including a full level editor and world sharing features (almost like a primitive super mario maker). it was like lunar magic but usable and fun.
unfortunately (of course) it was never open source and it did include copyrighted material so they got shutdown and as far as i can tell they scrubbed all mention of it
@jplebreton this is also why i'm continually bummed out about super mario maker / the playstation dreams thing et al. they're all amazing but all those creations will be short lived and impossible to archive. i feel like the "closed garden" term doesn't quite cut it. it's more like "worlds doomed from the beginning"
@jplebreton related, i know they're just floss clones made by hobbyists and not with that generalized "maker" engine goal in mind but i wish secret maryo chronicles, supertux, supertuxcart etc. weren't so bad from a gameplay perspective
@jplebreton in the "open source reimplementation using original proprietary assets" space i have high hopes for OpenMW which is really functional already and ships with an editor that already surpasses the original in some respects. they plan to support other gamebryo games in the future
@jplebreton p.s. why the hell is spelunky only "source available" and not gpl'd dangit
@Ludonaut I dunno, stuff that's built on proprietary tools tends to be a hopeless case even though legally it's totally possible to release code for it under a huge range of licenses. Also lots of games people just don't tend to understand or see any benefits in open source. Unless it's using free libraries to build their games, ha ha
@hypolite I don't know for sure that it wouldn't, but I can't see any specific legal basis so long as the code was cleanly reverse engineered, no trademarks used, and no copyrighted content was included. None of the SMB-derived works I've come across online have met this standard.
@jplebreton (you probably already know this, but for everyone else) "cleanly reverse-engineered" is a big part of the problem. You have to either recreate it the best you can from *playing* the game (possible but difficult for action games), or you have to clean-room it by having separate people read and re-implement. There are a bunch of Nintendo projects on GitHub now, but they're all just cleaned up decompilations, which is technically a derivative and violates copyright.
@impiaaa Yeah the decomps are definitely not legally clear and are the closest thing folks have come to real science on this. Given all the effort put into these kinds of works, and how frequently efforts have been invalidated by legal issues, I'm just very surprised nobody has tried the proper way.
@jplebreton It's definitely the way to do it. Only trouble is that it wouldn't stop litigious companies like Nintendo from sending DMCA takedowns and ultimately from suing the developers whether or not it has legal merit.
@pervognsen Yeah, odds are very good Nintendo would still try to bully them. But it would probably turn into a much larger public story, to have a project that exists fully in the daylight and hasn't done anything illegal vanish, than any of the semi-shady things that quietly disappear. It's a weird avenue of activism but I think it'd be good in the long run.
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!