LogFAQs > #979552691

LurkerFAQs, Active Database ( 12.01.2023-present ), DB1, DB2, DB3, DB4, DB5, DB6, DB7, DB8, DB9, DB10, DB11, DB12, Clear
Topic List
Page List: 1
TopicWriting an NES emulator ama
Yellow
03/25/24 11:31:37 AM
#19:


el_cheato posted...
You're probably safe unless you're stupid about it like Yuzu was by selling cracked copies of games. If Dolphin can keep going strong for 20+ years with barely a whiff of legal trouble you're probably fine to continue.
Yuzu didn't sell cracked copies, I think at worst some mod or developer linked to a pirated copy in their discord. They also took a settlement, which doesn't really set any precedent or even confirm they would have lost. Another thing is that they had an LLC set up, so most likely no developer is going to pay a dime.

The lesson to be learned from Yuzu is that you don't take $30k a month emulating superior ports of Nintendo's games on day 1 and then immediately fold in court because obviously they're going to put pressure on you. But most likely they were a bit screwed because of one or two off handed comments made by developers in the discord involving piracy, and they worked out a mutually beneficial deal where the developers wouldn't suffer real consequences while scaring the emulation community as much as possible. The whole "keys" thing doesn't even hold water, they didn't do anything wrong there, it was just a settlement.

Sahuagin posted...
hmm. a hobby C# NES emulator...

FYI I will be strongly tempted to contribute, or at least make suggestions, though I have very little time and energy, and I'm not terribly familiar with the etiquette of coding with others.

(I think I slightly overdid it the last time, but I'm not sure what to avoid or not avoid. maybe I should just work on a fork that I keep updated and not worry about merging my changes into yours.) (last time I was relatively new to git but have been using it quite a while now.) (due to the limited time and energy I may not be able to do much even if I want to.)
Having had some experience developing with others on community projects, I am opposed to fork/branch spam lol. It's the real rookie mistake.

The optimal workflow for a small casual team is on the same branch kept in sync as often as possible with minimal oversight from one single person. Forks are for entirely new repositories that are not meant to merge again. Branches are either for large reworks/revisions, or keeping a version of the source available from different points in time, like a "release" and "development" branch. That said a forum where short frequent casual messages can be sent is very useful for communication, like discord. I'm just going to set up a forum real quickly here where we don't have to spam PotD

I've had to deal with a lot of devs creating 6 branches for each person, and then they get upset when their work got lost here and there and came to me to fix it (even though they could go into the git history and fix it the same way I ended up doing). I ended up managing everyone else's work, which took time out of implementing the core of the code myself.

I find it much easier to review and merge smaller commits instead of one massive branch. I didn't discard any of the changes you made last time at any point, btw. I'm not a snob about commits or formatting or anything. I've accepted lots of commits by "junior" devs and usually spend a lot of time helping them improve, because community projects are all about having a good time anyway. Not to imply that you're a junior dev.

If you want a rundown on how the code works, it's actually very simple at the moment and I'm trying to keep it more "legible" than "genius level", if that makes any sense. Don't worry about screwing anything up, the history is right there and I can just as easily fix it anyway. Any time you feel like working on it I can easily point you in the right direction, an emulator is easier to coordinate since it's a very objective goal.

Sahuagin posted...
Seem to be missing types in the namespace MNES.Core.Machine.Log
Nullable disabled in MNES.Core?
Are you ok with file-scoped namespaces?
do you have any particular coding conventions that I should adhere to such as braces, etc? (I will try to use 4 spaces though I am used to 3)
let me know if I'm too annoying (as soon as there's a second dev things get a lot more complicated so if it's too much definitely let me know and I'll just work separately)
Yeah any namespace issues you describe are accidental on my end.

I've mostly stuck to the formatting that you used last time since I really liked your style of fitting as much stuff on the screen as possible. I've stuck to that idea ever since. Idk how I feel about using 3 space indents, but sure, let's do that. I liked everything else you did last time.

If () {
}

---
https://www.youtube.com/watch?v=5C_Wrt6pNSw
... Copied to Clipboard!
Topic List
Page List: 1