PCSX2 development plan,thoughts,contributions
#1
OK, guys, let's cool down please. I've just read all the comments so far, and the situation is far simpler that you make it look.

Let's start with everyone's favorite subject, and hopefully it's also the last time it's mentioned on this thread - the AVG toolbar.

1. We don't like crapwere the same as anyone else doesn't like it, and we don't like dropping crapware on our users. But AVG is here now, it might go away tomorrow, and we might replace it with something else next week. We've discussed it internally extensively, we've rejected tons of alternatives, we've added AVG only after we've met with them personally and toured their offices, and took as much precautions we could think of to make it as least sneaky as possible (option isn't hidden, only for official builds which are typically released once a year, can be uninstalled, etc). Take it as a fact for now. There's no point in conditioning contribution because some builds have an option to install AVG. This is how it is right now. We would not like to see people go away for this, but we're also not going to argue this.

Take it for granted that we care about our users. Really all of us do, and we won't drop sneaky crap on them. And yet, it's our decision to make - and we didn't take it lightly or quickly and we took precautions, and it's your decision if you can live with it or not.

Now, if you want to read on, please do.

2. PCSX2 has no devs working full time on the code, very few devs who contribute code occasionally, and definitely not enough resources/knowledge to handle the vast majority of bug reports. Several very involved coders left the project due to various reasons about 2-3 years ago (NOT due to any of the issues mentioned on this thread - e.g. some were snatched by ... big companies), and the devs team has been very lacking since. This includes gabest which was the main power behind GSdx, and existing devs are not knowledgeable enough to rewrite GSdx (Gabest has been known to come back once in a year or so and make changes, but otherwise he's not "in the loop").

3. Code complexity and deterrence/simplification: see 2. Contributions are very welcome.

4. PCSX2 prefers speed over accuracy: absolutely not true. We do sometimes have tough choices, but if a choice is between speed and accuracy, we'd always prefer accuracy, and at most will add the "speed" option as an optional speed hack. It's really simple.

5. Plugins yes no: it's an endless debate. However, you should know: PCSX2 needs only 3 plugins: gamepad (Lilypad), audio (SPU2-X) and graphics (GSdx). These plugins are part of the main repo and occasionally updated/fixed. They're the only main plugins, and no other plugin should be used (most are also not bundled). There were no complications (as far as I know of) due to the plugins system, and there are not enough plugins to duplicate code. Just 3 non-overlapping plugins, all of those are selected by default when starting PCSX2 for the first time, and there's no plugin hell. That's how it is and has been for many years now with PCSX2.

6. C++11 . True, it has more features. So far we didn't have a need to use them, so it was easy to reject rare contributions which rely on it in order to maintain VS2010 compatibility. However, personally I think that if there's a major contributor[s] who really thinks C++11 can add real value, we can drop VS2010 compatibility and make the jump. That's only my opinion, however. Also, preferably such contributor would show some competency with PCSX2 without c++11 - before we drop backward compatibility.

7. PCSX2 has way too many options - especially for reporting bugs, but also hard for users to learn it. First, there's the "presets" system (at the bottom of emulation options). It takes away most of the internal pcsx2 options and turn them into a 6-notches slider. From "Safest" (and slowest) to "Mostly harmful" (and probably also not fastest). The first one is the "no hacks" preset. 3-4 are probably the safest bets to try when trying out a new game (in terms of balance between compatibility and speed). Done, don't mess with options. Same for GSdx (graphics) and SPU2-x (audio) - the defaults are best, and the rest only enhance the quality or speed at the cost of potential incompatibilities. If they works for you - great, otherwise, use the default settings.

It's true, however, that over the years PCSX2 collected some/many per game hacks/workarounds. This is apparent at two places: Games DB ("automatic games fixes" at the main menu) and GSdx's CRC hacks (can be disabled via the HW hacks dialog of GSdx). If you want absolutely vanilla PCSX2 with zero (or close enough to zero) per-game workaround, disable those two. Note however that many games may stop working or exhibit different levels of issues.


8. compatibility list. Our ranking system is very old, but also very accurate and explicit. "playable" (5 stars) means the game can be completed start to finish. Regardless of speed, visual issues, etc. However, games with extreme issues (way too slow on a modern system, or enough visual bugs to make it really not fun, etc) usually don't get "playable" rate even if they can be completed from start to finish. We're open to suggestions on a different rating system (maybe just add a 6th star: "perfect"?), but redoing the whole list is going to be a considerable effort, and I'm not even sure how possible it is. Nevertheless, constructive suggestions, especially those which won't make us throw away all the current data which was collected over many years of testing - will be appreciated.

As you can tell, we don't have enough resources to make a real shift, but we try to welcome to new contributors as much as we can. There have been several new contributors over the past few years, so it's not impossible. If you feel like helping without conditioning it with something we should do first, you're welcome. That's more or less it.
Reply

Sponsored links

#2
(07-06-2014, 10:20 AM)BlackTelomeres Wrote: I'm not really saying the point of the performance version would be to make PCSX2 faster or run on worse hardware than it does now, just that it would continue to try to fix problems in existing games while keeping performance more in mind than an accuracy version. Essentially the current PCSX2 is already performance minded.

Stuff that is fixed on the accuracy version might still help provide insight to improve emulation on the performance version. An accuracy version is almost inherently for a more niche audience in the case of PS2 though because it requires much better hardware than most people have. But Monochrome100 brought up going for more accuracy so I responded. Maybe he just meant maybe a bit more accuracy like Dolphin has while still keeping performance in mind, but his comment about not worrying even if some people couldn't run games they could run before seems to indicate he's for a bit more than just a little more accuracy if it's going to take playable games and make them unplayable-level slow for some people.

A Dolphin-like accuracy would be great achievement but speed depends on optmizations.
Reply
#3
@avih - Nice wall of text. All joking aside, it's good to have it all explained in one place. I explained #4 and #5 a couple of times already myself.

And as for the gameindex.dbf, as I said a few posts back: If we are gonna continue using it, I am interested in updating it. How might I go about that?
[Image: XTe1j6J.png]
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Reply
#4
(07-06-2014, 10:28 AM)avih Wrote: list of stuff

Thank you for posting this. I may not agree with some of those things, however this is probably one of the most constructive things in the thread.
Reply
#5
Avih: I definitely can understand all of your points. I won't argue about the AVG thing, I was coming to the same conclusion on my own. I can express my opinion, but if the PCSX2 devs disagree, they disagree. If I thought something was worth it for me and a bunch of outsiders disagreed, I'm not sure I'd be easily swayed either. In the end, I don't know the whole thought process or situation.

About rewriting the rating system. What I'd do to make it a lot easier (at first) would be to revamp it, but use the current ratings as a guideline, and let it be updated from there. Have a playable/completeable/enjoyable (something that means fairly well emulated) as a 3 or 4 star rank, and just put all of the playable games there. Simply changing 2000 games based on merits and testing that is outdated would be insane, so, by doing this, you allow a more accurate compatibility list in the long term without really compromising the list (too much) in the short term. I'm sure there are problems with this plan that would have to be discussed in detail, but, it's the only reasonable way I can put it.

One thing that bugs me a tiny bit, was something refraction said earlier about a rewrite of the plugin costing $30,000 a year. I think that's really looking at it the wrong way. The OpenGL rewrite done in Dolphin, for speed and in preparation for porting it to Android/ARM did not cost anything extra to develop. By making the code more accessible, more developers should, in theory, show up and work "full time" on the project. Now, developers come and go, and some work faster than others, so you never really know what's going to happen. Treating it like a business with jobs instead of a group of people working together on a hobby is a dangerous step. I'm not accusing refraction of thinking like this, but that statement sort of points me in that direction.
Reply
#6
(07-06-2014, 10:26 AM)Blyss Sarania Wrote: That's what I am saying though, go for accuracy from here, and leave 1.2.1 as performance.

I think what you are saying is maintain two builds - add accuracy enhancing features that slow the emulator down a lot to the "accuracy" build, and add general bug fixes to both builds. I can see how this would be viable if we had a lot of manpower, but at least right now we don't.

In my opinion the development should continue much as it has - with weighted decisions based on how much a given improvement slows things down. Someone said a few pages back(MaJoR I think), that Dolphin did a similar thing - merged changes that were useful now and didn't slow things down too much, and put other ones that did slow it down too much on the back burner until hardware got fast enough that it became reasonable.

The problem with leaving 1.2.1 (un-updated) as performance is it's kind of like dx9 (which doesn't seem to be updated in sync with dx11 improvements) being performance vs dx11. It's faster yes (at least it has been for me when I tried it), but when you play some games you notice things like missing text that would be easy to fix and have been fixed in dx11 but break the experience. Essentially something small that could be fixed becomes a stumbling block due to lack of support on that version.

Obviously I'm not saying that system requirements shouldn't gradually increase though because people will naturally keep upgrading their PCs and the low end will eventually be a smaller group than it was a few years ago. But I'd be against big jumps in requirements that accuracy sometimes needs.

I'm generally for things continuing as they are with accuracy improvements that don't knock performance down too much being done, which is essentially what I'd think a performance version would be. I offered the idea of an accuracy version due to Monochrome100's comment.
Reply
#7
(07-06-2014, 10:44 AM)JMC47 Wrote: About rewriting the rating system. What I'd do to make it a lot easier (at first) would be to revamp it, but use the current ratings as a guideline, and let it be updated from there. Have a playable/completeable/enjoyable (something that means fairly well emulated) as a 3 or 4 star rank, and just put all of the playable games there. Simply changing 2000 games based on merits and testing that is outdated would be insane, so, by doing this, you allow a more accurate compatibility list in the long term without really compromising the list (too much) in the short term. I'm sure there are problems with this plan that would have to be discussed in detail, but, it's the only reasonable way I can put it.

I don't forsee too many problems with this. First of all, we don't really use a star rating anyway. Aside from deciding what we think "Perfect" is, the only real structural change that need be done is adding that category above "Playable" in the compatibility site. Our compatibility site is pulled from the first post of every game in our compatibility forum. 5 is playable, so adding 6 as perfect should not be hard. From there, we just update games as reports roll in.
[Image: XTe1j6J.png]
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Reply
#8
(07-06-2014, 10:28 AM)avih Wrote: 8. compatibility list. Our ranking system is very old, but also very accurate and explicit. "playable" (5 stars) means the game can be completed start to finish. Regardless of speed, visual issues, etc. However, games with extreme issues (way too slow on a modern system, or enough visual bugs to make it really not fun, etc) usually don't get "playable" rate even if they can be completed from start to finish. We're open to suggestions on a different rating system (maybe just add a 6th star: "perfect"?), but redoing the whole list is going to be a considerable effort, and I'm not even sure how possible it is. Nevertheless, constructive suggestions, especially those which won't make us throw away all the current data which was collected over many years of testing - will be appreciated.

I like the idea of adding a 6th star for "perfect" or "polished" or "enjoyable" or whatever. It's simple enough that it doesn't require tons of people doing all kinds of changes to past contributions like reallocating stars beyond just adding one more if the game emulates above and beyond just playable, and it encourages taking games beyond just playable to a state that at least looks flawless to the average person (although even if under the hood it isn't perfectly accurate or whatever).

One thing that might be a stumbling block is: perfect for which option: hardware or software? Some games have decent differences where the software mode looks accurate and bugless but hardware has apparent issues.
Reply
#9
(07-06-2014, 10:44 AM)JMC47 Wrote: One thing that bugs me a tiny bit, was something refraction said earlier about a rewrite of the plugin costing $30,000 a year. I think that's really looking at it the wrong way. The OpenGL rewrite done in Dolphin, for speed and in preparation for porting it to Android/ARM did not cost anything extra to develop. By making the code more accessible, more developers should, in theory, show up and work "full time" on the project. Now, developers come and go, and some work faster than others, so you never really know what's going to happen. Treating it like a business with jobs instead of a group of people working together on a hobby is a dangerous step. I'm not accusing refraction of thinking like this, but that statement sort of points me in that direction.

That is slightly out of context of what I said, I'd much prefer it if people did it for fun, we all have all these years, we aren't here to earn a wage off this which as you say is a hobby, something we do for entertainment and feeling achievement. The comments about $30,000 wage for someone to do it was because somebody said yiu should get somebody to just work on that solid for a year or two, to which I said they would have to pay them that so they could leave their full time job and live, it wasn't an implications we should start hiring people to do the work..
[Image: ref-sig-anim.gif]

Reply
#10
(07-06-2014, 11:00 AM)BlackTelomeres Wrote: One thing that might be a stumbling block is: perfect for which option: hardware or software? Some games have decent differences where the software mode looks accurate and bugless but hardware has apparent issues.

I think games requiring software mode would still qualify for "Perfect." My reasoning is that perfect to me means "replicates the experience of the original console" and so since the only limitation of software mode(other than speed) is native resolution, I think it would still be perfect.
[Image: XTe1j6J.png]
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Reply




Users browsing this thread: 1 Guest(s)