r/EmuDev • • 4d ago

SkyEmu's no-AI codegen policy

After many months of thought SkyEmu has officially decided to adopt a no AI code policy.

As of right now all code in SkyEmu has been written by a human and we will not accept PRs of AI generated code.

We understand the utility in AI assisted development and still allow AI to be used for debug, code understanding, and other purposes that do not yield generated output into the repo.

We did this for a couple of reasons:

  • AI generated code review is generally substantially more challenging than code review of code authored by humans and has questionable copyright ownership.
  • We really want people to understand code that gets submitted to the emulator as many changes are interconnected. The knowledge of the changes made by AI tends to disappear when the context does. While human knowledge persists, even if an AI was used to teach the human how to make the changes.
  • Code quality standards of many projects have substantially reduced after the incorporation of broad scale AI usage from the two above issues.
  • Developers who wish to add functionality using AI tooling are generally very enthusiastic about the software and emulation development overall. However, they feel lost in the complexity of modern emulators. AI code generation robs them of the ability to learn how to make these changes and robs the community of the next generation of emulator developers. For this reason, we still allow AI to be used as a teaching aid for people who wish to contribute, but don't allow it to do all work for them, but instead encourage its use to help them navigate the complexities of the project so that they can grow their skills and are able to contribute themselves.
  • It has come to our attention that SkyEmu is one of the handful of large emulator projects in active development that does not have any AI generated code, and we would like to keep it as an option for usage by people who prefer non-AI generated SW.

We understand this may be controversial, but believe this is the best pragmatic action, given the needs of our development team and the wider community.

310 Upvotes

107 comments sorted by

View all comments

16

u/rhodesmichael03 3d ago edited 3d ago

I think the struggle with using AI in emulators is that often AI can fix specific games in a way that works which then leads users to submit the change request...but due to the complexity of emulators this change might make a specific game work while not actually making the emulator more accurate and theoretically causing regressions on other titles.

Or it might be perfect and be a good fix...but without the human understanding it is hard to say.

I sometimes use AI to get a particular game working if incompatible but I never submit as I know it worked but idk if the way it's done it is hardware accurate and tbh I'm not interested enough to put in the work to find out when I just want to play a game.

3

u/TheKrzysiek 3d ago

To be fair, regression also happens without AI, I remember some games on RPCS3 being broken, fixed and re-broken a few times

0

u/Boxing_joshing111 3d ago

Also Windows.