09-06-2013, 02:37 AM
That has nothing to do with plugin architecture. Plugin or not it is no guarantee that it will be perfect. And I think no emulator, plugin or not, can play every single game perfectly.
(09-06-2013, 02:37 AM)xemnas Wrote: [ -> ]That has nothing to do with plugin architecture. Plugin or not it is no guarantee that it will be perfect. And I think no emulator, plugin or not, can play every single game perfectly.It's certainly never going to get perfect if every dude goes ahead writing everything from scratch and fixing some things but then makes similar mistakes over and over again.
(09-06-2013, 04:57 AM)neobrain Wrote: [ -> ](09-06-2013, 02:39 AM)ExtremeDude2 Wrote: [ -> ]So I hear you like CEN64?Holy... I don't even know what to say. Hats off to this guy.
I really don't see why he decided to have any plugin interface at all, but anyway this just looks incredible.
(09-06-2013, 05:25 AM)xemnas Wrote: [ -> ]The main benefits of the plugin architecture are modularity and flexibility. It's the choice of the developer/designer/architect to use plugins or not. Plugin-based software provides choices to the users which plugins they would like to use.
Also, the core module and the plugins can be developed separately and the users don't need to upgrade the core module if they only want to use a newer version of a plugin. For example, I can use a core module 1.0 with a plugin 1.2. And if some users who can write code don't satisfy with some plugin, they can write their own plugin and plug it without the need to understand the rest of code.
It's quite popular nowadays. Most popular web browsers like Firefox, Chrome, and IE use plugins.
(09-06-2013, 05:09 AM)delroth Wrote: [ -> ]Cargo cult ftw.
(09-06-2013, 05:25 AM)xemnas Wrote: [ -> ]The main benefits of the plugin architecture are modularity and flexibility.Yes, they are. I never denied that. Just because something has benefits doesn't mean it doesn't have any catches, however.
(09-06-2013, 05:25 AM)xemnas Wrote: [ -> ]It's the choice of the developer/designer/architect to use plugins or not.Obviously. That doesn't mean I can't criticize people for making the wrong choices though.
(09-06-2013, 05:25 AM)xemnas Wrote: [ -> ]Plugin-based software provides choices to the users which plugins they would like to use.There are two points I'd like to mention here: One is that it's often a better not to let users make too many choices (you'll likely disagree; it's one of those things end users never understand). The other (and more important) one is that there are other (and better) ways to provide choices to users.
(09-06-2013, 05:25 AM)xemnas Wrote: [ -> ]Also, the core module and the plugins can be developed separatelyThe core and the code which would go into "plugins" can be developed separately as well. I haven't ever had to look at Dolphin's CPU emulation code when working on the GPU code.
(09-06-2013, 05:25 AM)xemnas Wrote: [ -> ]and the users don't need to upgrade the core module if they only want to use a newer version of a plugin.Yes, that way you end up with lots of useless issue reports because people use outdated cores/plugins and/or incompatible plugin combinations. Also if people decide to only update plugin X while keeping everything outdated, that's the best way not to get any testing done on anything but plugin X. So you end up with less issue reports on stuff that's happening currently and more invalid reports. But it's cool, because users have had choice after all.
(09-06-2013, 05:25 AM)xemnas Wrote: [ -> ]For example, I can use a core module 1.0 with a plugin 1.2. And if some users who can write code don't satisfy with some plugin, they can write their own plugin and plug it without the need to understand the rest of code.Yes, thanks to Dolphin's plugin interface lots of people went ahead and wrote their custom video plugins. Oh wait, they didn't.
(09-06-2013, 05:25 AM)xemnas Wrote: [ -> ]It's quite popular nowadays. Most popular web browsers like Firefox, Chrome, and IE use plugins.Comparing apples to oranges.
(09-06-2013, 05:47 AM)xemnas Wrote: [ -> ]I forgot to say that with the plugin architecture, we don't need to build to whole thing. If I'm a plugin developer, I can just build my plugin and plug it and it just works. The plugin developers don't need to see the source code of the core module or other modules. Just explain it in case anybody is interested.You don't have to "see" the source code of the core module to build it.