Jump to content

MFME with post process bloom


Mort
 Share

Recommended Posts

16 hours ago, johnparker007 said:

That is correct.  The author Chris Wren sadly died, and so the source code is lost.

Yes that's right.  There is something on the Oasis repo that would probably be useful for this, as it's also used by MfmeTools to control Mfme for extracting the layout, and not polluting the real Mfme data in the Windows Registry.  It's part of the dll injection that Arcade Sim uses - it does cause false positives with virus detection software though!  The code's probably a mess, as it was a bit of a whirlwind developing all the technology to make Arcade Sim work, so I wasn't doing my tidiest work :)  Oasis code is better, honest lol :) 

You prob do something like have a server running, or ideally set it up on an Amazon instance.  That could manage the database of ram saves, who currently has a machine 'checked out' from the collection of machines (i.e: they are playing it).  It could provide a web interface purely for viewing the data.  It could then also provide some JSON IO stuff (something simple with plaintext GET/POST to start), that's how the Windows-side app would check out/submit RAM saves to the online database.

The Windows app would display a list of the machines in the database, and whether they are currently being played by another user, or available to check out.  When a machine is checked out by a user thru the app, it downloads the save, and prob fires MFME up under the DLL control, using its own copy of the layout.  Then at some point the user can choose to submit this machine back to the server, making it available for others to play.  You could also add some basic tracking of the meters, ensuring the layouts specifically set up for this system have them set correctly, I think it's in the .gam file where the accumulated values are recorded.  So you could then give users a balance or 'high score' of how much they made/lost.

This would all be extremely easy for someone to cheat on if they were so inclined btw!  Editing gam file In/out totals, exiting MFME without saving the ram if they do poorly, plus other ways to cheat, hacking credits into RAM with something like cheat engine.

It'd also all be highly janky, but that's a way it could be implemented in theory, if you chose to develop it :) 

The approach I would take (and I might do a POC) is actually streaming the video of a running instance of MFME and combining the video stream with user controls implemented in a browser window with the actions relayed to the running instance to control. Suspect lag might be a bit rubbish so forget anything skill related.

But actual MFME or anything running MFME is never directly exposed to a user. It's also something very different to what you are building with oasis and no real comparison.

I can think of a few things which might be interesting from a playing point of view. Either just letting a machine run and people come along and play or things like giving someone £50 of credit to get a high score from a specific RAM save etc.

I did actually start looking at the video streaming part earlier today but ffmpeg and the myriad options is a bit of a learning curve. Wanted to see if I can avoid something like obs as I believe it's a bit of a resource hog.

Link to comment
Share on other sites

16 hours ago, redbags said:

streaming the video of a running instance of MFME and combining the video stream with user controls implemented in a browser window with the actions relayed to the running instance to control. Suspect lag might be a bit rubbish so forget anything skill related.

Well that is certainly a novel approach!  :) So a bit like those console streaming services.  If several people want to play at the same time (on different layouts), that could get hairy, as you'd need to be running and streaming out 3x MFME windows.

You can pretty much simulate how it might be, by using something like TeamViewer or Chrome remote desktop, and then you could run MFME on your PC desktop - however!  You will see much better results if both the host and client are on the same network (i.e: your house).  As then it won't go out onto the internet and will all be done over your house ethernet/Wifi, giving a false sense of performance.

You could kinda simulate real world conditions by playing it on your phone over 4/5G perhaps.

[ Arcade Simulator ] Pre-alpha installer: https://tinyurl.com/2kcrkprh | Donation info: https://tinyurl.com/yzvgl4xo
[ Community Drive ] The drive: http://tinyurl.com/yckze665
[ Fruit Machine Database ] Initial google sheets (WIP): https://tinyurl.com/2c5znxzz
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb
[ Fruit Machine Settings/Tests Guide ] https://tinyurl.com/yuebw8b5
[ MAME (fixes/improvements) ] Commits: https://github.com/johnparker007/mame/commits/master/?author=johnparker007

[ MFME Launch ] Source code: https://github.com/johnparker007/MFMELaunch
[ Oasis ] Source code: https://github.com/johnparker007/Oasis
[ ROM Hacking Tutorials ] Index: https://tinyurl.com/4yw4zfw5
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

41 minutes ago, johnparker007 said:

Well that is certainly a novel approach!  :) So a bit like those console streaming services.  If several people want to play at the same time (on different layouts), that could get hairy, as you'd need to be running and streaming out 3x MFME windows.

You can pretty much simulate how it might be, by using something like TeamViewer or Chrome remote desktop, and then you could run MFME on your PC desktop - however!  You will see much better results if both the host and client are on the same network (i.e: your house).  As then it won't go out onto the internet and will all be done over your house ethernet/Wifi, giving a false sense of performance.

You could kinda simulate real world conditions by playing it on your phone over 4/5G perhaps.

Yep that's the idea. The tricky part is relaying the video. Lots of tools out there but its fiddly. And I challenge you to find an executable with more parameters than ffmpeg 😂

I did spend about 4 hrs yesterday mucking about with the video relay but didn't crack it. I'll take another look when I get some time.

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...