MAMEWorld >> EmuChat
View all threads Index   Flat Mode Flat  

StilettoAdministrator
They're always after me Lucky ROMS!
Reged: 03/07/04
Posts: 6451
Send PM
Alright
11/18/20 12:33 AM


Okay, let me try again to share some insight, since you're eager to learn:

This isn't the 1990s or even 2000s any more. If it helps, at least 50% of MAME developers are middle aged, age 40s or older. They all have jobs, a lot have families.

Anyone left still working on MAME is about 60-70 people, of which maybe 20 if we're lucky are "active" and the rest submit code a couple times a year, maybe once a year, or maybe even every other year) have become deaf to requests.

At least half of these people, maybe more, came from the project formerly known as MESS when the projects merged. They like to work on computer and console emulation, but sometimes look at arcade too. Arcade for them is sometimes only something they fix if their computer and console emulation affected it, but maybe they'll become more interested as the years go on. Part of the reason the projects merged was to bring these people IN, MAME could use the manpower and there was a lot of people straddling the fence with hands in both projects. But don't fret, there's still plenty with priorities and goals on arcade, and an eye on arcade.

To the vast majority of people still working on MAME, the distinction breaking apart "arcade" and "computer/console" has completely disappeared over the last 15-20 years. It's all "MAME project". So weighing one over another comes across as nonsense. There's still fans of one over another but too many varying opinions to be sure.

The only thing that keeps things fun and interesting for them is to work on the things they want, the way they want, with no one giving orders that something must be done, either project leaders or users.

Anything else feels like work, feels like their day job. No one left involved wants MAME to be their day job (I don't think). No one is left who thinks that would be fun or "cool".

Therefore money can't really affect these people. (You mentioned paying a developer in your reply to EnvisagedOne's sarcastic comment.) If ever there was to be income, it would go towards very specific costs, and not to assign priorities.

The MAME developers remaining want the freedom to work on whatever they want or it gets too annoying and they quit. Money would merely make them responsible to the users to accomplish the goals the users want. (And to that end, as often the goals the remaining MAMEdevs do have are often incomprehensible to the users, the goals the users have are often just as nonsensical.)

So also, there's no real "bosses" who give orders.

There's some planning. The few priorities that are set are BIG ones, like "how do we make a 3D graphics engine that works on every platform from Android to Windows to MacOS to iOS and still keep things accurate to arcade hardware" or "how do we make MAME sourcecode more and more modern and not still looking like something that came out of the late 90s and mid 2000s."

Things like "Spy Hunter engine sound isn't 100%?" That's an error. It gets logged at places like MAMETesters.org if it is indeed true, or mentioned in the sourcecode. Someone will come along to work on it, when they can, when they are interested - nothing more.

Because of the age of this project, and the age of its "team members", at this point every question "asking to fix things" comes across as a demand. It's okay, you didn't know. If you only knew how many people have come before you, asking similar things. We'll acknowledge it, we'll log it if it isn't already logged (most of these things are logged), but we'll give you no promises or guarantees.

Furthermore, most if not all of these developers are battle-hardened against years and years of requests. There's quite literally nothing you could say or do, from asking nicely - to cheerleading - to whining and pleading - to getting together a "team" - to sending colossal amounts of "donations" / bribery - to lighting yourself on fire - nothing that would sway them to jump to do what you say. And quite a number of these things would -actively discourage- the current membership from ever looking into it. As was said recently, a decent experienced software engineer of the kind that have worked on MAME forever command at least $125,000 USD yearly at their dayjobs, there's really nothing more that will help here.

If everyone still working on MAME was forced to take demands, or even answer requests, everyone would quit.

Then all the people with the knowledge of working on MAME currently would be gone.

Someone new could come in at that point - MAME is open source - and maybe you could get them to do what you ask - but that's a very specific set of skills and knowledge concentrated into some very specific experienced individuals.

This is barely a team. Maybe it's a team in mindset. But it's more like a "collective", if you can understand the difference.

---

Why do these people still work on MAME?

- they are idealists chasing perfection

- they are addicted to the challenge

- they feel responsible to their past selves to see it through

- they feel responsible to the future to accurately emulate things while they still have the skills and knowledge, as it will be harder for the future to have the skills and knowledge.

- their ego maybe gets a boost

- they're exploring other knowledge, other skills, or learning new knowledge that their current career cannot help, or reliving past careers.

- it's been their hobby for a decade, maybe two decades - hard to imagine but true.

- they're burned out, but their diligence is still so high that it's seemingly masochistic (loving the pain), working through their depression and anxiety.

Some mixture of all of this, each and every one.

---

It's not quite that dire.

There is then obviously the need for new blood, of fresher hope, higher positivity, pure ideals, maybe even younger.

And MAME development is a huge target of delights for the hackers, coders, reverse engineers - especially those who hyperfocus on perfection, on the littlest details. There's a lot to love, still to this day.

(It's even quite common to see those "on the spectrum", not neurotypical, or attention deficit disorders, or any number of other personalities spread throughout the "development team" (and amongst its users).)

And we're trying to do a much better job of being open and welcoming to new developers, to make sure that the information they need is well documented and the features they need relatively stable and unchanging. That all takes a lot of work, and fighting inertia and burnout.

But MAME development often only attracts a certain kind of people. Maybe the right age, maybe the right personality, maybe the right self-driven initiative. The skillset required can be rather high, and often no one is perfect, so we cobble together "a team" from the people who have specific knowledge, try to pass on what other knowledge we can through "onboarding", and sooner or later some of the people who joined with very specific knowledge become more broad experts.

If you went to BountySource or whatever and placed a bounty for a random developer to take on your problem, you'd probably only get someone who has a quick but inaccurate hack of a fix, in order to get your money. (Not saying you couldn't find the right person, but it would be challenging, and how would you know?). They likely wouldn't "fix it right" and take the time, most would lack the knowledge and skill and talent. And if it was submitted to MAME, the MAME team would probably reject it. MAMEdev has basically stopped accepting "quick fixes", and they've often been looked down upon.

These days in order to make further progress in arcade emulation of 1970s-1980s games, people on the MAME team NEED to be able to read and understand electronics schematics. The average programmer off the street usually lacks this knowledge. The majority of active MAME developers are only so-so. Some are quite good. A few are experts. Likewise, I could go to KLOV.com right now and find some expert arcade schematics readers. But few could write code for current MAME.

So as mentioned before, we DO see the skills required become rather narrow focus, but broad expertise required.

At the moment, the number of developers already on the team I could name off the top of my head who could maybe make progress on your Spyhunter engine sound issue is maybe 5 people. And those people depend on the work of one specific person, for now at least.
And as said, that person has a life outside MAME that needs them right now.

Maybe we should spread that person's knowledge among more people. But that takes time to teach and learn those skills. And there's few "teachers" on the team generally, everyone has to be self taught. And while the other 3-5 people may be able to learn those skills and make the changes that that one person can do, they also have to be interested in doing so above anything else. And not have any other interest in MAME and outside of MAME in their Real Life getting in the way.

---

The final core of the problem, as already mentioned, is that with arcade, everything EASY has been done.

Okay, that's a gross over simplification, but it's basically true.

Your sound issue you want to have solved... it's not an issue of "a ROM needs to be redumped", while there's still some of these out there, we have resolved most of that ages ago.

Most things that are EASY have been logged in the sourcecode, at MAMETesters.org (which is primarily for end user error reporting) or at the MAME project on Github.

A lot of things left with arcade are HARD

- a lot of 3D arcade games are waiting on a new rendering system that's both accurate to MAME's goals without cheating, multiplatform, and fast.

- a lot of PC based arcade games are waiting for someone to write a new Intel x86 dynamic recompiler. MAME will probably never use virtualization as it's not easily cross-platform. The dynamic recompiling engine that handles MAME's other recompilers has been seeing some deep engine work so it doesn't make sense to work on x86 emulation now.

- a lot of early 80s arcade games need to have their sound emulation reimplemented according to schematics, using our new subsystem for doing so (which has one project lead). That subsystem has generally been under active development, with new features added as new games need them, and then everything having to be tested to make sure it's working.

- and much more.

There's still a few people working on SIMPLE things, usually newcomers to team or members of our army of "external contributors" (MAME team adjacent?). Anyone who's been here a decade-plus? Usually working on HARD problems, and it's better for them to do so.

A lot of what I see this era of MAME development about is paving the way for a glorious future:

- dynamic recompilers for anything that could use one, for every host CPU architecture

- re-architecting everything to be more forward looking, and discarding support for old operating systems and ways of doing things.

- making things even more accurate to the original hardware, which will require more enhanced performance from the host PCs, since a lot more people have PCs with Intel Core i7 or comparable AMD (or even ARM! Hello Apple M1!)

- laying the groundwork for a new 3D engine we can run on everything but be accurate to the pixel pipelines and 3D architectures that the previous one-off arcade systems used

But - that takes a lot of work, with very specific skillsets, and is all comparably HARD.

Focus on EASY things? A lot of those people are needed elsewhere.

---

A lot of this, you had no way to know.

What can YOU do:

- Learn to ask questions the smart way: http://www.catb.org/~esr/faqs/smart-questions.html

- Learn to research your problem before even asking a question. As I said, there's:
https://mametesters.org
https://docs.mamedev.org
https://wiki.mamedev.org
https://github.com/mamedev/mame
As always on the Internet, RTFM and "read the f'n manual". With MAME, that's a lot of stuff.

- Understand the project background/history/mindset (see above)

- Check if your issue you've spotted has been logged (MAMETesters, MAMEDev Wiki, sourcecode)

- If you still need to, then ask, unreservedly, without contingencies, without expecting an answer. Learn the other places to do so - MAMETesters, official MAMEdev.org forum, bannister.org forum, reddit, IRC... everything's mentioned at mamedev.org.

- Try to respect the answer given, even if it's not to your liking.

- Document document document, evidence evidence evidence. Don't just say "you remember Spy Hunter engine sound differently", post a video to YouTube, record sound by hooking up an actual arcade board's speaker output (cellphones don't count), find the particular part of the sound schematics.

- Understand the community - there's reasons why "MAMEWorld" isn't currently in the top menu list of "official support forums" at https://mamedev.org . It could maybe someday but it would take some work by the community and its admin/moderation team, if they wished it, and for the most part they don't. I say this both as a longtime MAME team member and as someone who somehow was bequeathed admin powers at MAMEWorld. It's been something like 18 years though so it probably won't happen - and you probably see those reasons now. It can be a fun community, don't get me wrong, but there's other forums and websites and chatrooms out there too to be a part of.

- Still not getting done? Still not satisfied? Learn to develop for MAME, start small. Learn C++ programming, learn assembly programming for the architectures you are interested in, learn electronics engineering, learn reverse engineering, learn encryption/hacking...

---

What can WE do:

- Keep working to attract newer developers

- Understand that everyone was new once

- Try to remain patient, stay positive, etcetera

- Keep documenting every issue so that every user knows what's known about and how to find out.

But we're most likely gonna keep assigning priorities as we see fit - which is everyone for themselves, for whatever interests them.

---

- Stiletto







Entire thread
Subject Posted by Posted on
* Spyhunter engine sound spisi 11/16/20 10:41 PM
. * Re: Spyhunter engine sound TafoidAdministrator  11/16/20 11:07 PM
. * Re: Spyhunter engine sound gregf  11/17/20 09:38 PM
. * Re: Spyhunter engine sound spisi  11/17/20 05:28 AM
. * Re: Spyhunter engine sound Rotwang  11/17/20 05:52 AM
. * Re: Spyhunter engine sound spisi  11/17/20 06:46 AM
. * Re: Spyhunter engine sound Envisaged0ne  11/17/20 10:00 AM
. * Re: Spyhunter engine sound Rotwang  11/17/20 07:01 AM
. * Re: Spyhunter engine sound gregf  11/17/20 10:26 AM
. * Re: Spyhunter engine sound spisi  11/17/20 04:46 PM
. * Re: Spyhunter engine sound Mr. DoAdministrator  11/17/20 06:11 PM
. * Re: Spyhunter engine sound Jason  11/17/20 05:56 PM
. * Re: Spyhunter engine sound spisi  11/17/20 06:34 PM
. * Alright StilettoAdministrator  11/18/20 12:33 AM
. * Re: Spyhunter engine sound Jason  11/17/20 07:22 PM
. * Re: Spyhunter engine sound Mr. DoAdministrator  11/17/20 07:13 PM
. * Re: Spyhunter engine sound spisi  11/17/20 07:50 PM
. * Re: Spyhunter engine sound Envisaged0ne  11/17/20 09:18 PM
. * Re: Spyhunter engine sound spisi  11/17/20 09:33 PM
. * Re: Spyhunter engine sound spisi  11/17/20 09:29 PM
. * Re: Spyhunter engine sound TafoidAdministrator  11/17/20 10:36 PM
. * Re: Spyhunter engine sound Envisaged0ne  11/17/20 10:03 PM
. * Re: Spyhunter engine sound Mr. DoAdministrator  11/17/20 08:17 PM

Extra information Permissions
Moderator:  redk9258, URherenow, Tafoid 
0 registered and 11 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 355