Jump to content

MFME with post process bloom


Mort
 Share

Recommended Posts

Creating the lamp glow effect

I have used Reshade and SweetFX for a few years now on PC games. It's purpose is to add post process visual effects to a game, using shaders, which you can configure with lots of sliders. It achieves this by having a customised graphics api .DLL (in this case, the DirectX10/11 one, dxgi.dll) in the local path of the MFME executable, which allows those API calls to be intercepted and these effects injected.

I had never thought about doing this with MFME before. @johnparker007 suggested it some time ago, and showed examples. I had a play at the time, and have come back to messing with it again today.

It's really easy to try, but has some caveats:

1. If you don't like tinkering around with things, then don't bother with any of this.

2. It's settings are global at the level of the executable. What I mean by this is that layouts cannot have individual tailored settings. It's one setup globally for MFME. Although you can change it whenever you wish, which is easy to do. Settings which look good on one layout, may not look so good on another.

3. Some of you will love it for the added realism aspect, some of you will hate it and say we have gone back to the eyebleeders of the past ! 

Reshade

Reshade has hundreds of filters and shaders, but the custom install I will upload here only contains a few mandatory ones to ensure MFME loads as quickly as possible. The bloom shader I use is called PirateBloom.  I found this one very good, as I used it to configure Outrun 2006 on PC to re-create the bloom glow effects present in the Outrun 2 SP arcade machine. 

I have also configured this install to have a couple of shortcut keys:

B   this turns the effects ON and OFF (sometimes you may need to wait a while, and try again, or hold it down to toggle)

HOME  this allows you to configure the PirateBloom effect

How to install

The 01. Reshade.rar file below contains 1 folder, and 3 files.

    reshade-shaders/
    dxgi.dll
    ReShade.ini
    ReShadePreset.ini

You simply extract these 3 files and 1 folder to the location of your MFME.exe executable. Normally this is 'C:\Program Files (x86)\MFME\MFME v20'

That's it. 

The next time you load MFME, and open a layout you should find my bloom settings are applied. Please be patient when loading a layout as it may take a bit of time to apply. Sometimes it's best also to go into full screen mode by pressing F3.

Remember B can be used to toggle the bloom effect on and off

HOME can be used to configure ReShade.

The bloom settings I have dialled in here, are probably way too much! I love excess in everything, but it's easy enough to change them yourself.

I have also included Pook's excellent Happy Hour DX, which I feel is a good example of the effect working on a very detailed, high quality DX.

I hate this, how do I uninstall ?

That's cool, it's a subjective thing adding effects like this.

Close MFME down.

Simply navigate to the location of MFME.exe (normally C:\Program Files (x86)\MFME\MFME v20) and delete these folders and files:

    reshade-shaders/
    dxgi.dll
    ReShade.ini
    ReShadePreset.ini

01. Reshade.rar 02. Happy Hour (Qps).rar

  • Like 4
  • Awesome 3
Link to comment
Share on other sites

On 06/09/2024 at 17:27, Mort said:

If you press HOME when a layout is running, you should get the Reshade gui below, in which you can adjust the sliders for the PirateBloom effect to change it.

image.thumb.png.b91f1e16cd9af27498f3f2f31f60a445.png

That looks like some kind of hybrid Arcade Sim <> MFME mash up going there with the MFME background image! :) I remember that old carpet I was using in Arcade Sim before the neon style one from Mr Ps...

[ 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
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

Haha! I have been hoping you would notice JP. I use Arcade Sim backgrounds for all my playable DXs now. I often 'visit' the arcade on a photo shoot run, grab lots of different backgrounds, some with DOF, and also toggling the lights with 'R'.  I hope you don't mind, it makes the machines (those which are not in Arcade Sim natively of course) more immersive back in normal MFME. I have the newer carpet for most of the machines now! :)

 

Edited by Mort
  • Like 2
Link to comment
Share on other sites

On 08/09/2024 at 19:43, Mort said:

Haha! I have been hoping you would notice JP. I use Arcade Sim backgrounds for all my playable DXs now. I often 'visit' the arcade on a photo shoot run, grab lots of different backgrounds, some with DOF, and also toggling the lights with 'R'.  I hope you don't mind, it makes the machines (those which are not in Arcade Sim natively of course) more immersive back in normal MFME. I have the newer carpet for most of the machines now! :)

 

I don't mind at all, nice to see this new use case of it! :) 

  • Like 1

[ 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
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

  • 3 weeks later...

I'm over the moon with these bloom settings, It might just be me of course! And of course the way it looks will depend on your individual screen settings, but I really think it works well on @Tommy c 's excellent Big Banker DX. The bloom looks bloody awful on some layouts, and perfection on others (at least to me!). In my mind, this DX layout, suits it really perfectly YMMV!

Big Banker (JPM).rar

  • Like 1
Link to comment
Share on other sites

The 7-seg glow alone! Love it!

I'm sure Wizard would have built this sort of effect in natively eventually. 

This sort of effect is subjective though of course, so maybe not something you can emulate 1:1.

It's just the way I see the machine in my memory, and adds that extra bit of immersion.

I know you have discussed this for Oasis @johnparker007 and of course you had it, and DOF, in Arcade Sim.

The key is to be able to control it on a per layout basis, something, sadly, I cannot work out how to do with this form of injection.

Classic layouts look fucking awful though lol! But again, simply press B (or another key input of your choice) to turn it off.

Edited by Mort
  • Like 1
Link to comment
Share on other sites

2 hours ago, Mort said:

I know you have discussed this for Oasis @johnparker007 and of course you had it, and DOF, in Arcade Sim.

The key is to be able to control it on a per layout basis, something, sadly, I cannot work out how to do with this form of injection.

Some kind of per-machine visual effects override could certainly be a feature for the 'Machine Player' and the 'Arcade Simulator' components of Oasis... though hopefully we will be getting a lot more 'normalised' lighting across the layouts with the new lighting model I have planned, so it may not be as necessary as it is currently.  If I seem to have forgot when the far off time comes, and it still seems necessary after the new lighting model, give me a nudge! :) 

  • Like 1

[ 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
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

In general it's always going to look better on the 'night mode' style layouts, which @Tommy cdoes well :)  So you get haloing around the 'on lamps' but the off lamps and general background won't blow out with haziness since they're dark and bloom has more effect on the brighter source pixels.

  • Like 1

[ 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
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

8 minutes ago, johnparker007 said:

Some kind of per-machine visual effects override could certainly be a feature for the 'Machine Player' and the 'Arcade Simulator' components of Oasis... though hopefully we will be getting a lot more 'normalised' lighting across the layouts with the new lighting model I have planned, so it may not be as necessary as it is currently.  If I seem to have forgot when the far off time comes, and it still seems necessary after the new lighting model, give me a nudge! :) 

Thanks @johnparker007. I think I say for all the FME community how thankful that someone with your genius, because you are a genius, and I understand some of the struggles you have from time to time, that you continue to look into innovation in the FME scene. I find it hard to see positives (it's in my nature!) going forward as so much has been done, and the people who care about these machines get older and start to care less of course. I want to thank you for pushing past all that, and hope you can find the interest going forward. I do worry though that some of that enthusiasm time has past us by, and during those golden periods, we saw creativity shine, in part through the addictive personalities many of us have. I hope you can find a way to make it easy to build upon existing layout work, because I fear the interest to do layouts from scratch is faded. It's just due to the time line of it all. Please keep going though, without you, I do feel this scene is lost to any innovation.

  • Like 2
Link to comment
Share on other sites

40 minutes ago, Mort said:

I hope you can find a way to make it easy to build upon existing layout work, because I fear the interest to do layouts from scratch is faded.

100% - the basics of this are already in place :)  There is a program in the suite; MFME Tools.  This is what can perform the 'extraction' of a layout from MFME (such as this classic I'm currently using for testing):
image.thumb.png.9f41fda75426c67f095428aacf4afb83.png

Then the Layout Editor program (shown above) can import these 'extracted layouts'.  So you end up with an Oasis layout, from an MFME layout.  This will all be part of the suite that users install, so anyone will be able to do this process (and the Layout Editor will be able to call MfmeTools to do a one-click 'Extract & Import'.

So I think that should solve the issue of having to make layouts from scratch.

Additionally, even just for 2d, there will be various quality of life improvements that should make working on layouts less painful :)  So a big one is a proper Undo history system, that will look something like this:
image.png.e27de653d5b200d537ecad064287af06.png
So you can review the operations you've done and select different points in the timeline, or use the standard keyboard shortcuts, Ctrl+Z to Undo further and further back, Ctrl+Y to Redo.

Also, with the new Inspector, I am planning to implement 'multi component editing'.  This means that say you want to change all of the buttons to have say a blue background instead of red; you would select them all, then in the Inspector, change the background color to blue, and it will apply that to all of the selected buttons.
image.png.cc3d4ac01f998e18b4779ac73a7a6c24.png

And of course, this will ultimately allow for the full conversion of 2d layouts into 3d machines, like in Arcade Sim... also with 3d buttons, proper lighting/reflections etc.

Those machines can then be placed in a custom arcade, and played in the new Arcade Sim.  Plus shared, and played in multiplayer etc.  So plenty of cool stuff to look forward to, but it will all take time to develop :)   

Oh also, no more waiting for booting up machines, even a Scorpion 5 will load in around 1 second, as we will be using save states, to restore the machine to the exact state it was last in when it was exited.

And then of course multiplayer and VR... the list goes on...

There's lots to do (literally years of work), but lots of new cool features planned.  And of course this is all 100% open source this time from the get go :)https://github.com/johnparker007/Oasis/commits/main/
 

Edited by johnparker007
  • Like 1
  • Awesome 2

[ 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
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

Hiya @johnparker007 sorry I have been busy and not been able to reply properly until now.

I think the MFME extract tools are essential and great to see you are building tools to do this.

The ability to import into the 3d arcade is also amazing, as there are many machines/layouts I would love to see incorporated into the Arcade Sim.

Also the Multiplayer aspect is important, I recall that Guitar built something similar into Amber, and it provided a great way for the community to share play states for machines, something which, of course, is really missing in MFME. Every time I come back to a layout it's as it was when last played it, but it will be great to be coming to a session on a machine when I have know idea how it will play (although normally, it's very likely that @thealteredemu would have killed it!)

Above all thanks for your openness and providing all the updates you do, it's great to see the work that goes into development.

Looking forward to seeing the continued progress :)

  • Like 2
Link to comment
Share on other sites

10 minutes ago, Mort said:

Hiya @johnparker007 sorry I have been busy and not been able to reply properly until now.

I think the MFME extract tools are essential and great to see you are building tools to do this.

The ability to import into the 3d arcade is also amazing, as there are many machines/layouts I would love to see incorporated into the Arcade Sim.

Also the Multiplayer aspect is important, I recall that Guitar built something similar into Amber, and it provided a great way for the community to share play states for machines, something which, of course, is really missing in MFME. Every time I come back to a layout it's as it was when last played it, but it will be great to be coming to a session on a machine when I have know idea how it will play (although normally, it's very likely that @thealteredemu would have killed it!)

Above all thanks for your openness and providing all the updates you do, it's great to see the work that goes into development.

Looking forward to seeing the continued progress :)

Thanks man :)  And yeah, multiplayer will be cool for those mystery machine states!

I've just done a quick update video on the dev thread showing the bits I'm working on at the mo :) 

[ 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
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

17 hours ago, thealteredemu said:

I met JP through a mutual friend in the early 1990’s.  He’s such a geek like myself, I was like where you been all my life!!  Suffice to say we just get on.

He’ll talk about an insane idea, next thing he’ll have started work on it. He’s another level clever guy for real.

J

Cheers mate, you're making me blush now though! :11_blush:

  • Like 1
  • Haha 2

[ 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
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

  • 2 weeks later...
On 29/09/2024 at 18:20, Mort said:

Hiya @johnparker007 sorry I have been busy and not been able to reply properly until now.

I think the MFME extract tools are essential and great to see you are building tools to do this.

The ability to import into the 3d arcade is also amazing, as there are many machines/layouts I would love to see incorporated into the Arcade Sim.

Also the Multiplayer aspect is important, I recall that Guitar built something similar into Amber, and it provided a great way for the community to share play states for machines, something which, of course, is really missing in MFME. Every time I come back to a layout it's as it was when last played it, but it will be great to be coming to a session on a machine when I have know idea how it will play (although normally, it's very likely that @thealteredemu would have killed it!)

Above all thanks for your openness and providing all the updates you do, it's great to see the work that goes into development.

Looking forward to seeing the continued progress :)

The multiplayer idea is outrageously good and something I would love to see.

I wondered if in lieu of something like arcade simulator/oasis it might be possible to build out something augmented and played via a browser. Think evolution live games controlling an instance of MFME.

The challenge with this approach is that it's likely to be expensive from a compute point of view due to the resource requirements of MFME but over time that will mellow out. I also wonder about the lag/sync issues as fruits require a reasonable amount of user interaction. Hmmm.

Link to comment
Share on other sites

5 hours ago, redbags said:

The multiplayer idea is outrageously good and something I would love to see.

I wondered if in lieu of something like arcade simulator/oasis it might be possible to build out something augmented and played via a browser. Think evolution live games controlling an instance of MFME.

The challenge with this approach is that it's likely to be expensive from a compute point of view due to the resource requirements of MFME but over time that will mellow out. I also wonder about the lag/sync issues as fruits require a reasonable amount of user interaction. Hmmm.

The way I plan to implement this will be that the user will be running the emulator (in this case MAME) in their own machine, not in the cloud.

So for the 'arcade' version, the simplified version of how it will work is: when you walk up to a machine to play it (that doesn't have someone else currently playing it), the latest uploaded save state will be downloaded from the server, and the emulator will start up with that save state.  User plays, money goes in, money pays out etc... then they exiting playing the machine, and the machine's current state is uploaded to the server as the new latest state, ready for the next user.

If you get close to another player who is playing a machine (specifically in terms of the fruit machines), there will be a stream of the lamp/segment/dot matrix data, in a highly compressed lossless format.  So then it'll be like how the fruit machines do their attract modes in the current Arcade Sim when you are walking around - it's just a somewhat compressed data stream, that flashes the various lamps etc.  Unsure what direction to take wrt. streaming the emulated audio yet, will get into that when I actually come to implement this stuff ... though button clicks, coin payout, meter clicks etc will also play back perfectly as again it can be wrapped in the highly compressed codec as mere trigger bytes.  :)   So you'll be able to wander around and watch people actually play the machines next to you...

In terms of doing something for MFME, I couldn't get into that myself, since I need to use my free FME dev time to work on Oasis... but someone could knock something up that would work like how Amber did it, so simply uploading the RAM save when the user finishes playing locally, and then the next user downloads that RAM save, and boots up the machine... 

Edited by johnparker007
  • Like 1

[ 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
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

On 13/10/2024 at 16:00, johnparker007 said:

The way I plan to implement this will be that the user will be running the emulator (in this case MAME) in their own machine, not in the cloud.

So for the 'arcade' version, the simplified version of how it will work is: when you walk up to a machine to play it (that doesn't have someone else currently playing it), the latest uploaded save state will be downloaded from the server, and the emulator will start up with that save state.  User plays, money goes in, money pays out etc... then they exiting playing the machine, and the machine's current state is uploaded to the server as the new latest state, ready for the next user.

If you get close to another player who is playing a machine (specifically in terms of the fruit machines), there will be a stream of the lamp/segment/dot matrix data, in a highly compressed lossless format.  So then it'll be like how the fruit machines do their attract modes in the current Arcade Sim when you are walking around - it's just a somewhat compressed data stream, that flashes the various lamps etc.  Unsure what direction to take wrt. streaming the emulated audio yet, will get into that when I actually come to implement this stuff ... though button clicks, coin payout, meter clicks etc will also play back perfectly as again it can be wrapped in the highly compressed codec as mere trigger bytes.  :)   So you'll be able to wander around and watch people actually play the machines next to you...

In terms of doing something for MFME, I couldn't get into that myself, since I need to use my free FME dev time to work on Oasis... but someone could knock something up that would work like how Amber did it, so simply uploading the RAM save when the user finishes playing locally, and then the next user downloads that RAM save, and boots up the machine... 

Apologies if I'm going off topic here but my understanding is that MFME is closed source or rather nobody has the source code - is that correct?  Meaning knocking up something like Amber did (not sure what you're referring to specifically but I get the gist) means using some sort of wrapper to manipulate MFME?

re: your idea.  It's obviously the best possible experience possible.  I do, however (as a general principle) like thinking about browser based tools as it makes things a bit more accessible.  I'm also curious about how I would approach something like that from a development POV.

Link to comment
Share on other sites

8 hours ago, redbags said:

my understanding is that MFME is closed source or rather nobody has the source code - is that correct? 

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

8 hours ago, redbags said:

Meaning knocking up something like Amber did (not sure what you're referring to specifically but I get the gist) means using some sort of wrapper to manipulate MFME?

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 :) 

8 hours ago, redbags said:

re: your idea.  It's obviously the best possible experience possible.  I do, however (as a general principle) like thinking about browser based tools as it makes things a bit more accessible.  I'm also curious about how I would approach something like that from a development POV.

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 :) 

Edited by johnparker007

[ 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
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

2 hours ago, johnparker007 said:

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.

I'm sure you've thought of this but you need to cover the situation where someone checks a machine out but then say whilst they are playing they lose communication with the server and hence are never able to submit it back in.

Your box will be CASHPOT

Link to comment
Share on other sites

3 hours ago, dondplayer said:

I'm sure you've thought of this but you need to cover the situation where someone checks a machine out but then say whilst they are playing they lose communication with the server and hence are never able to submit it back in.

Well this was just some very broad pointers, for if someone did want to do this system (I won't due to the time cost, as I'll be doing a system in Oasis that will work 'somewhat' differently to this (much less janky and much less straightforward to cheat! ;)).

At the basic level, if it's working on an 'honour' system, so say everybody uses their Dif forum username as their username for the Windows-side app... then if a machine stays 'checked out' for a week or so, a message could be sent thru Dif to ask them to do check the file back in.

And on the Windows app side, you'd have a button to check in the machine you currently have checked out (so it wouldn't matter if communication was lost at some point during play, they only need to be connected at the point when the click to check the machine back in again).

Need to be online: Browse and check out an available machine from the list via the Windows app
Don't need to be online:  Play the checked out machine, launching it from the Windows app
Need to be online: Check in (aka 'submit') the machine again

[ 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
[ Sound ROM Editor ] Source code: https://github.com/johnparker007/SoundRomEditor

Link to comment
Share on other sites

 Share

×
×
  • Create New...