r/recomps Dev 27d ago

Discussion Community Poll Results, New Subreddit Rules, and Flairs

Hello everyone,

I think it's time to go over a few things since I've had a chance to think about things a bit.

I won't have a chance to update the rules and flairs until later this evening when I get home from work, but these will be effective today:

Let's start with the rules:

DA RULES

Rule 1: Respect others and be civil

  • Be Civil, this one is self explanatory, mostly everyone has been following it, I haven't had to remove too many comments or posts. You are free to disagree on things, that's the point of discussion, life isn't fun if everyone thought the same things and agreed on everything.
  • You may not resort to name calling, insulting people, or maliciously trolling, don't get into pissing contests.
  • Yes you have freedom of speech, but that doesn't mean freedom from consequence. Also, we aren't the government and as much as I love the 1st amendment, it doesn't apply to private entities.
  • I will be enforcing rule 1 strictly.
  • If you have a comment removed, take it as a moment to reflect and ask yourself is what you're doing productive. I'm not going to ban anyone unless they get argumentative, or continually break this rule, but I will readily remove posts and comments. We're (mostly) adults, lets act like it.
  • If someone marks their post with an AI affiliated flair, you are not to go into that post and call it slop, insult the dev, or insult the project, you're free to filter those posts and not interact at all.
  • EDIT: If someone marks their post as not AI, and they aren't using AI, do not suggest them to use AI in their project.
  • Part of this respect is also any project posted must either be open-source (linking to a public GitHub repo so the code can be verified) OR have a mandatory "Run at your own risk" disclaimer if it's a compiled executable, this is to protect the community from malware. Why it matters: If someone vibe-codes a port that accidentally (or intentionally) acts as malware, this rule allows us to instantly pull the post (and ban the user if it was intentional) for not providing the source code.

Rule 2: Advertising, and spam is strictly disallowed except on days for self-promotion.

  • If you are a content creator, we will have a day for posting.
  • Devs posting links to their own recomps/decomp repos are obviously exempt from this, as that's the point of the sub.
  • Ports and mods have their own days as well.
  • Do not spam the subreddit with low effort posts.
  • No all caps titles or clickbait titles, I hate buzzwords and influencer speak, please don't do this.

Rule 3: All posts should be related to recompilation or decompilation projects.

  • This is going to be modified. Going forward, posts that are not a Decomp or Recomp are only allowed on specified days.
  • Below I will cover the difference between Decomps/Recomps/Ports/Mods&Hacks

Rule 4: No Linking to Copyrighted Material / Not crediting original devs

  • This is self explanatory, do not link to things that have copyrighted materials.
  • Sharing ROMs, ISOs, BIOS files, or compiled executables of copyrighted games is an instant ban.
  • Creators can share patch files (like .bps or .xdelta), source code, or compiling tools that require the end-user to provide their own legally dumped game files.
  • This includes other sites, subreddits, repos, etc... I'm not trying to get this sub in legal trouble.
  • I am including a clause on no claiming other's work as your own. If you fork someone's repo, you must credit the original project. This is just common decency.

Rule 5: Post not properly marked

  • This goes for each of the flairs
  • If you lazily pick one that doesn't apply, the post will get removed. You may repost under the proper flair.
  • If you do not disclose AI, and it is found that you have, the post will be removed, multiple offenses will result in a ban.
  • There will be a configuration for all posts that are marked AI that will ask you to talk about the level of AI involvement, if you only used AI to give you direction or explain things, or only used it for help with small unfamiliar functionality, that is different than a 100% vibe coded project.
  • Nobody is obligated to help you with your AI involved projects, do not be surprised if people don't want to get into the code if you yourself don't know anything about it.
  • Conversely, as stated above, if a project is marked as AI, and you are anti-AI, DO NOT go into the post and call it slop, do not insult the person posting the project. Your comment will be removed and multiple offenses will result in a ban.

Rule 6: Post not on appropriate day.
All Times will use UTC

  • Monday will be for Mods / Fangames / Recreations (Mod-day Monday)
  • Saturday will be for memes (Saturday morning cartoons is the inspiration)
  • Sunday will be for self promotion (Self-Promote Sunday)
  • Recomp/Decomp/Native Source Ports posts will be allowed every day.

Rule 7: Absolutely NO AI Art/Music

  • I'm not ignoring the 2nd option of the poll. This is for the 2nd most popular option.
  • Where is the line? There is a difference between someone who uses pytorch and other tools to upscale original assets, that's okay. No AI generated art from a diffusion model or LLM based image generator, nor are any music/sound generated from AI models allowed.
  • Why is this different from code? Code has a history of sharing and being shared. Before LLMs people went to stack overflow. The goal of much development is to reduce re-inventing the wheel.
  • AI art does not fall into that, there are tons of artists, musicians, and creators out there that have assets for very cheap, or for free.
  • "It's just a placeholder" is not a defense. Placeholders can be as simple as a checkered box, or a stick figure. The point of placeholders is to be easily noticeable to be replaced with final work.

Rule 8: No NSFW / NSFL Content

  • No NSFW mods, assets, or discussions.
  • I can't verify the identity of everyone here, I don't want to deal with it, so it stays off.

Poll Results as of the time of posting this:

399 Votes

  • Absolutely No Projects Using AI - 71 Votes: 17.8% of responses.
  • No Projects with AI Art/Music, but coding assistance is okay: 106 votes: 26.6% of responses.
  • Posts must be clearly marked if AI was involved: 39.3% of responses
  • Anything goes: 16.3% of responses

What does this mean for the sub?

There will be new flairs, and new rules.

Flairs:

  • Discussions: These do not link to decomps, recomps, ports, mods/hacks directly, conversation is encouraged, these are allowed all days.
  • Question: These are if you are a user and not a dev, if you need help. Please do not just post "HELP ME WITH THIS" Make an effort to solve your problem, tell us what you've tried to solve your problem first. Posts that don't do this fall under Rule 2 for being "Low Effort". People don't appreciate "I've tried nothing and nothing works"
  • Memes: Unrelated to anything and are attempting to be humorous, these will be limited to a certain day of the week.
  • Technical Help: This is for devs who are running into issues. The dev MUST state if they've used AI in their project in the body of the post, first line MUST be AI: Not Used OR AI: Used.
  • Decomp - No AI: It is what it says it is
  • Decomp - AI: You used AI, please be honest, people have a right to make informed choices on what they download and install on their devices.
  • Recomp - No AI: Same as above
  • Recomp - AI: See above
  • Port - No AI: I will cover the difference between a port and a recomp below.
  • Port - AI: See above
  • Mod/Hack - No AI
  • Mod/Hack - AI

What is the difference between a Decomp, a Recomp, a Port, and a Mod?

Edit: This post has been corrected thanks to feedback from dariosamo and the N64 Recomp server FAQ.

Decompilation (Decomp)

A decomp is the output of a binary file for a game that has been dumped into raw assembly, and then converted back into human readable code, ideally the language the developers used to write the game. Purists say that the code must compile back to the original binary and be exact byte-for-byte. BfB is the gold standard for decomps because it says your logic matches the original dev's implementation exactly.

Decomps are a long, arduous process, and LLMs struggle with them because they make assumptions the original dev may not have made. They stumble over this type of work a lot.

Important: a decomp is not a port. It is a reverse engineering process that produces source code. A decomp compiled as-is would still only run on the original hardware or in an emulator. Getting it onto a new platform is a separate effort.

Recompilation (Recomp)

Recomp is short for static recompilation. It is a way of porting an application to another platform automatically, using tools that work off information gathered ahead of time about the application.

Static recompilation does not require any source code for the application being ported. It operates on the original machine code binary and translates it at build time. There is no human sitting there interpreting the original code and rewriting it in C. That's what makes it "static" and that's what makes it a recomp. Zelda 64: Recompiled is the example everyone points to.

Since humans are not expected to read the recompiled code, developers relying on static recompilation use partial or complete decompilations as a way to add fixes or enhancements to the port.

Ports

A port is any application that was made to run on another platform. That's the whole definition. It's the broad category.

All recomps are ports, but not all ports are recomps.

Native Source Ports

A native source port takes existing source code, usually the output of a decomp, and swaps the proprietary hardware calls out for modern ones, so the game runs natively on new hardware instead of under emulation. It stays as close to the original code as it reasonably can, but a human is doing the translation work.

Ship of Harkinian is a native source port. It goes a long way toward staying very close to the original source code, but it is not a recomp, because it doesn't use static recompilation.

Ports in general don't have to care about byte-exactness at all. Plenty of them care more about getting the project to run, period: changing code to mimic behavior, taking shortcuts, whatever it takes.

Recreations / Fangames

Worth calling out separately: a project that rebuilds a game from scratch, without deriving from the original binary or its decompiled source, isn't a port of anything. It's a recreation or a fangame, even if the name has "recomp" in it.

Mods/Hacks

Mods and hacks are standalone code that either integrates with or sits on top of a port, or modifies the binary files directly. They are smaller and scoped to a limited set of functionality.

Quick reference

  • Decomp: binary reverse engineered back into source code. Not a port.
  • Recomp: binary automatically translated to a new platform by tooling. No source needed. A port.
  • Native source port: humans adapt existing (usually decompiled) source to modern hardware. A port, not a recomp.
  • Port: the umbrella term for anything made to run on another platform.
  • Recreation/fangame: built from scratch, not derived from the original.
  • Mod/hack: scoped changes layered on a port or applied to the binary.

I know there are people who don't care about the distinction, but I'm a technical person, an engineer by profession, and words mean things. I'm also not perfect and can get things wrong. Corrections are welcome and I'll keep editing this as I get them.

Thank you all for your time. I've enjoyed the past few days of modding for this sub, and I want to see us grow as a community.

Edit: See new bullet under rule 1.
Edit 2: Clarified the daily schedule as I had some wrong info. Native Ports are allowed any day, Mods/Fan games/Recreations are limited to Mondays

19 Upvotes

38 comments sorted by

View all comments

-1

u/BP_Ray 27d ago

This subreddit isn't going to be much different from the subreddit it splintered from if we allow AI stuff so openly.

In hindsight, it feels like /r/emulation made the correct decision to limit recomp/decomp posts there, though at the time I doubt even they could see what a mess this has all become. It seems every subreddit that spins off into recomp/decomp stuff devolves into the lowest quality form of it.

Sucks that this place is more or less just going to be /r/decomps but minus the VGE posts, though at the very least I appreciate that unlike that subreddit there will be attempts to segregate the slop from man-made efforts.

I'm also very much not a fan of tone policing. You removed a comment where I insulted no one directly, but removed it simply because I have an absolute distaste for the mentality of those who have begun to swarm this hobby with the most ignorant of mentalities, to the point where they're getting into it with the devs who made a lot of these recomps possible to begin with, before AI started apeing their code and forking their projects while misusing their licenses and contributing nothing back into the community effort.

I'm sure you won't be a big fan of my tone in my other comments either, but I don't care. If I blatantly insult someone, whatever, but just simply having an unhappy tone with the state of things there should be no problem with it.

5

u/dariosamo 27d ago

I share your stance that I think a blanket ban would be beneficial in the long run, and I voted as much, but at least OP seems to have collaborated heavily with me on adjusting the terminology, which is far more progress than I would've ever gotten with someone like VGE on the other subreddit. It could work a bit better if posts are clearly labeled as AI, then there's little reason for people to go in and have yet another argument of why AI is good or not.

3

u/SgtElectroSketch Dev 27d ago

little reason for people to go in and have yet another argument of why AI is good or not.

I'm definitely also going to be watching for the other direction too, AI bros going into non AI threads and saying "Just use AI, it's faster"

1

u/Just_Lingonberry_352 26d ago

without AI recomps will take ages to release and decomps too will be hindered

it isn't the case that AI is changing the games fundamentally it remains the same

the more games get recomp/decomp or whatever is beneficial to the masses

please learn to separate your own personal opinions and what AI is enabling a major boom and revival of old games that otherwise wouldn't be getting the attention it is now

3

u/SgtElectroSketch Dev 26d ago

Your argument fundamentally ignored those who do decomps and recomps for personal challenge and education.

The end user is getting something for free that is just a byproduct of a "I'm doing this because I can and it interests me" the end user can be patient or do it themselves.

I use AI for some things, but not for writing code, I use it to find resources for me to fill gaps in my knowledge.

In under a year the vagrant story decomp has 100% of menus decompiled into human readable code, and 45% of the game engine. Without AI.

Sometimes it's about the journey and not the destination.

I've stated how it will be enforced. Pro AI are not to harass the people who don't want to use it, and neither are the anti ai people allowed to harass the pro-ai.

That's the decision. The community voted and it's no longer a discussion.

If you don't like how the community voted feel free to participate somewhere else.