Main > Main Forum

the state of mame

<< < (93/112) > >>

ark_ader:
.

sjbaines:

--- Quote from: BadMouth on January 17, 2011, 04:38:38 pm ---Most of this thread reminds me of the Monty Python skit where you pay for a good argument and all you get is simple contradiction of everything you say.

--- End quote ---

No you don't.  :laugh2:

Grasshopper:

--- Quote from: Haze on January 16, 2011, 05:45:48 pm ---The main problem is it's a community that lacks direction, and lacks vision.  If they could focus their efforts instead of forking all over the place and going in different directions they might get somewhere, but it's not my place to go and troll their forums over it, because I have nothing to contribute, nor any real desire to.  Your continued mentioning of forking of MAME and working from older versions seems to indicate that you believe such methodologies to be the way forward, when really they just lead to userbase confusion, developer confusion, a lack of management, a lack of overall direction and endless dependency conflicts between so called modern versions and distributions.  I encourage you to try it if you really want, but I can't help but think you'll quickly find yourself getting nowhere.

--- End quote ---

Well at least we can agree on one thing. Forking is generally a bad idea and should be considered a last resort. But it's ironic that you of all people should be saying that. Right throughout this thread you and Derrick have repeatedly said that "if you don't like what we're doing with MAME then create your own fork" as a stock response to any criticism. The trouble is that sooner or later someone is going to call your bluff and do precisely that.

It's not that anyone really wants to fork the project. It is, after all, a lot of work, and dilutes the resources available. But your unwillingness to compromise means that we'll eventually get to the point where some members of the community that actually want to play the games feel they have no choice.


--- Quote from: Haze on January 15, 2011, 09:30:05 am ---If somebody forks an old version they will (quickly) find themselves taking the same paths as the official dev team, and find their version ends up just as slow as the official one as they actually reinvent the wheel, and discover, and therefore have to support new features in order to progress.

Either that, or they end up with an unmaintainable mess.

........

If somebody _wants_ to try what you're suggesting they're more than welcome, however, I absolutely guarantee you that they will fail, and most developers or potential developers will see that before they even start, which is why it's never been done with any great success.  The ones who HAVE tried have quickly ended up seeing the vast amount of progress made in new versions, and the simple impossibility of porting some newer code over to old systems where a great deal of the functionality that is required, or makes MAME easy to program for simply doesn't exist, and can't be backported.  The guys doing 'uberMAME' have tried this, and end up spending half their time trying to fix things which have already been fixed, and pestering the devs with questions which simply have no answers because they're using such an old version.

--- End quote ---

Except that's not the way it would work. A far more likely scenario is that a team of developers would pick an old version of MAME released before all the good stuff started getting ripped out, but where the performance and quality of emulation was still deemed to be "good enough". They base their fork on that version and don't even bother trying to keep up with the ever changing codebase of the main build. Instead they just concentrate on those aspects of the program that enhance the user experience. Effectively any improvements to MAME since their chosen version would be ignored, and the accuracy of emulation and the number of games available would be frozen. It's far from ideal but many people would consider that to be a price worth paying.

On a personal note, if I was creating a fork, I would also make sure I chose a version of MAME created before the switch from C to C++, partly because I'm much more familiar with C, but mainly because C++ irritates the hell out of me for a variety of reasons. I've tried really hard to like C++ but I just don't.

I was initially opposed to a fork. But I have to say I'm beginning to warm to the idea. The differences between the two sides here do appear to be irreconcilable, and are just creating bad vibes within the community. So perhaps a fork is the least bad of the options available.

bkenobi:
Question:  Why does it have to be a single version for every game?  If you are trying to play a game that works better on an older/alternate build, why not just use that build and move along?  Gun games are an example of this...  I think they are fixed now, but when the RAW input system was added, the drivers for guncon controllers broke.  If you wanted to play those games, you just had to fire up an older version and play.  ALTERNATELY, you could compile your own copy with the RAW system disabled...  Anyone using a front end can simply tell it what emu to use to load what game.  It works, move on.   :dunno


The MAMEdevs are improving the code for accuracy.  That's not the same as improvements for playability (stated many times as a "side-effect").  Users want to use the system to play games from bygone times the way they remember them (which includes at playable speeds).  Again, speed is not an important part of emulation because it will eventually fall out with improved/faster/cheaper hardware on the end users desk.

If a user wants to improve the performance of a game, they can do one of several things:
1) Buy a better computer
2) Use a different emulator
3) Buy the PCB and stick it in an actual cabinet so you are playing the original game!

If you love the game so much that you are willing to complain to the MAMEdevs about fixing it, why not just buy the thing and move on?   :cheers:

Haze:

--- Quote from: Grasshopper on January 17, 2011, 06:11:37 pm ---
--- Quote from: Haze on January 16, 2011, 05:45:48 pm ---The main problem is it's a community that lacks direction, and lacks vision.  If they could focus their efforts instead of forking all over the place and going in different directions they might get somewhere, but it's not my place to go and troll their forums over it, because I have nothing to contribute, nor any real desire to.  Your continued mentioning of forking of MAME and working from older versions seems to indicate that you believe such methodologies to be the way forward, when really they just lead to userbase confusion, developer confusion, a lack of management, a lack of overall direction and endless dependency conflicts between so called modern versions and distributions.  I encourage you to try it if you really want, but I can't help but think you'll quickly find yourself getting nowhere.

--- End quote ---

Well at least we can agree on one thing. Forking is generally a bad idea and should be considered a last resort. But it's ironic that you of all people should be saying that. Right throughout this thread you and Derrick have repeatedly said that "if you don't like what we're doing with MAME then create your own fork" as a stock response to any criticism. The trouble is that sooner or later someone is going to call your bluff and do precisely that.

It's not that anyone really wants to fork the project. It is, after all, a lot of work, and dilutes the resources available. But your unwillingness to compromise means that we'll eventually get to the point where some members of the community that actually want to play the games feel they have no choice.

--- End quote ---

I think for such a specialist application it actually makes sense.  The divide is clear, the different target groups are clear.  It's not like there are going to be 2 separate MAME projects with people duplicating work if it gets forked in that sense.  Linux on the other hand seems to have tons of forks, and distros competing for the same already limited user-space with nothing but incompatibilities to choose between them.


--- Quote from: Grasshopper on January 17, 2011, 06:11:37 pm ---
--- Quote from: Haze on January 15, 2011, 09:30:05 am ---If somebody forks an old version they will (quickly) find themselves taking the same paths as the official dev team, and find their version ends up just as slow as the official one as they actually reinvent the wheel, and discover, and therefore have to support new features in order to progress.

Either that, or they end up with an unmaintainable mess.

........

If somebody _wants_ to try what you're suggesting they're more than welcome, however, I absolutely guarantee you that they will fail, and most developers or potential developers will see that before they even start, which is why it's never been done with any great success.  The ones who HAVE tried have quickly ended up seeing the vast amount of progress made in new versions, and the simple impossibility of porting some newer code over to old systems where a great deal of the functionality that is required, or makes MAME easy to program for simply doesn't exist, and can't be backported.  The guys doing 'uberMAME' have tried this, and end up spending half their time trying to fix things which have already been fixed, and pestering the devs with questions which simply have no answers because they're using such an old version.

--- End quote ---

Except that's not the way it would work. A far more likely scenario is that a team of developers would pick an old version of MAME released before all the good stuff started getting ripped out, but where the performance and quality of emulation was still deemed to be "good enough". They base their fork on that version and don't even bother trying to keep up with the ever changing codebase of the main build. Instead they just concentrate on those aspects of the program that enhance the user experience. Effectively any improvements to MAME since their chosen version would be ignored, and the accuracy of emulation and the number of games available would be frozen. It's far from ideal but many people would consider that to be a price worth paying.

On a personal note, if I was creating a fork, I would also make sure I chose a version of MAME created before the switch from C to C++, partly because I'm much more familiar with C, but mainly because C++ irritates the hell out of me for a variety of reasons. I've tried really hard to like C++ but I just don't.

I was initially opposed to a fork. But I have to say I'm beginning to warm to the idea. The differences between the two sides here do appear to be irreconcilable, and are just creating bad vibes within the community. So perhaps a fork is the least bad of the options available.

--- End quote ---

If people fork an older build for speed purposes, yet somehow expect to develop it further, that is pointless.  You end up being boxed in by your own goals, and can't actually improve it without sacrificing the reason you forked it in the first place.  People would come to you with the same bug reports, and requests we were getting years ago, and you'd be unable to fix them because the fixes involve great sacrifice in speed.  You'd very quickly give up and realise that MameDev had the right idea all alone, hence the demise of most other arcade emulators which were made for this purpose.

Somebody already did this split, of an older C build, because they hated C++... Now they keep bugging us about how to port new C++ drivers to the old codebase, it isn't productive, and they're already asking me how to fix bugs I fixed years ago, they're not liking my answers and they're finding debugging the problems themselves for such builds much harder, because it's not only the emulation that's improved, and the architecture that's improved, but also the built in debugging tools.  Again it's just further proof really that the direction taken by MAME is the natural one for progression of the project, standing in the way of it and expecting the best of both worlds doesn't work.

I've also got people sending me the sources to the unathorized X-Box builds of MAME, asking me to put the latest changes / emulated titles / improvements in it.  There are a few problems with this
a) I don't own an X-Box
b) We don't approve of that build
c) There's no freaking way the X-Box is going to run half of them because to support what they want I'd have to remove the hacks that actually make it go fast, and that's if it had enough memory in the first place.

They've reached a dead-end within their own constraints, in this case ones applied by the hardware.  Working within artificial restraints when you're on a PC makes even less sense!

It's the same reason all the MAME4ALL Handheld ports based off 0.36 have the same problems (poor sound, noticable glitches in certain games)  They're constrained by the version they used, and their target hardware.  They can't move forward, so people using it will always end up making the same complaints, because the things they complain about can't be fixed without moving to a more modern, slower code-base.  I've heard enough people complain that MAME sucks because of these problems with it running on their GP2X / whatever, when in reality the problems they're complaining about have been fixed years ago, just the GP2X is incapable of taking advantage of them because they up the system requirements.  By forking off .3x they've cornered themselves into a position where it's really hard to add new features even if the target hardware does improve in spec.

You can't port an old version and have a happy userbase unless those users are completely blind to some of the glaring imperfections in those older versions, which can't easily be fixed.

MAME - the main development tree is avoiding all these problems.

I'm not a huge fan of C++, but the object oriented approach does make sense for some componenets.  Old MAME was very much pesudo-C++ anyway, multiple instances of different components slotted together etc.  Actually using C++ takes away a lot of the pain of trying to have your own pseudo-OO system, and thus stops people just copying and pasting huge chunks of code to create 2nd copies of VDPs and such.  MAME isn't forcing C++ down your throat, but it is using it where applicable to avoid a lot of ugly code.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version