Jump to content

Development Updates


johnparker007

Recommended Posts

I've recently been tinkering with making a 3D machine renderer.  I was originally playing with using AI for upscaling low res textures, then got quite heavily sidetracked! 

I'd been posting in the DXcellent layout discussion forum (back when it was just about AI upscaled textures), but a friend on here advised this would be a better place to post updates, now that it's turned into a more technical project.

Here it is rendering an MFME instance.  The flashing sphere above the reels is the first test lamp (the start button lamp).  The reel symbol textures in this demo are an example of the AI upscaled textures - they were generated from the low res ones in the layout.



For further info on the AI upscaling stuff with some more examples, here's the original thread:
 

 

  • Like 13

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  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
[ 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

Had a look into ways to deal with the masked lamps - decided the best approach is the simple one :)  I was originally going to do something more involved, but this way should be quicker to implement and it'll look like the original layout artist intended.

Short demo video - the glass is 4x AI upscaled, and the lights smoothly fade up/down.  Will be able to do the slight ramp up/ramp down that the incandescent bulb era machines would have with this technique too.

 

  • Like 6
  • Awesome 2

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  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
[ 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

Thanks for all the positive feedback guys, it's taking the edge off my hangover that's still lurking around :) 

One more update for today: I've hooked up the ROM-controlled reel lamps.  While they're working properly logically, I'll be able to make them look better than they do here - but these are fine as placeholders.  I'm just gonna everything basically working first, then do a second round of polishing up the graphics where needed.

 

Edited by johnparker007
  • Like 3
  • Awesome 3

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  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
[ 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

1 hour ago, johnparker007 said:

Thanks for all the positive feedback guys, it's taking the edge off my hangover that's still lurking around :) 

One more update for today: I've hooked up the ROM-controlled reel lamps.  While they're working properly logically, I'll be able to make them look better than they do here - but these are fine as placeholders.  I'm just gonna everything basically working first, then do a second round of polishing up the graphics where needed.

 

You are spoiling us with this mate, this is awesome.  Thanks for the update dude, way to ride that hangover out ;)

  • Like 2
Link to comment
Share on other sites

Another little update - added a quick and basic 7 segment VFD down in the bottom-left corner of the screen. 

(plenty of potential for eye candy effects at a later point with a more complex/time-consuming VFD renderer, but this'll do the job for now :) )



@geordie52 I think this is the download:

 

Edited by johnparker007
  • Like 2

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  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
[ 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

- Added initial reel physics system - needs more improvements yet, but gives a ok 'bounce'
- Very roughly placed lower backglass lamps in new masked lamp lighting test - all hooked up, but they are blurry and not quite in the right places as it was fiddly (I ultimately plan to make a tool that auto-converts the 2d lamps to their 3d counterparts without needing manual placement/scaling)
- Snuck the credits VFD to lower backglass so it could be seen working in the demo
- Reel lamps sadly temporarily out of action after I moved everything around, will set them back up soon

I really wanted to win £3 or at least max the gamble ladder, but the machine was having none of it!  Next time... :)

 

 

  • Like 11
  • Awesome 3

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  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
[ 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

Really interesting to see this.

Not sure if it's already been explained and I've just missed it/it's went over my head, but in layman terms what exactly is going on here to make this work? 😄

EDIT: I assume MFME is being used to emulate the machine and a secondary tool is being used to display the layout, but just have no concept of how this being made to work ha

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

12 hours ago, johnparker007 said:

- Added initial reel physics system - needs more improvements yet, but gives a ok 'bounce'
- Very roughly placed lower backglass lamps in new masked lamp lighting test - all hooked up, but they are blurry and not quite in the right places as it was fiddly (I ultimately plan to make a tool that auto-converts the 2d lamps to their 3d counterparts without needing manual placement/scaling)
- Snuck the credits VFD to lower backglass so it could be seen working in the demo
- Reel lamps sadly temporarily out of action after I moved everything around, will set them back up soon

I really wanted to win £3 or at least max the gamble ladder, but the machine was having none of it!  Next time... :)

 

 

Wow!!!  This is insane, well done John.  Just wow. :)

  • Like 1
Link to comment
Share on other sites

1 hour ago, kinkyjohnfowler said:

Really interesting to see this.

Not sure if it's already been explained and I've just missed it/it's went over my head, but in layman terms what exactly is going on here to make this work? 😄

EDIT: I assume MFME is being used to emulate the machine and a secondary tool is being used to display the layout, but just have no concept of how this being made to work ha

Hi :) 

So how this currently works is by scraping the contents of the emulator window.  You'll see in the bottom-right there's a 'data layout' - I am capturing the MFME window content each update, deriving the emulated reel step positions and lamp matrix state, then hooking up my 3D components (reel, lamp etc) to be driven by the scraped inputs.  How the data gets from MFME to the engine may completely change but that's a conversation for the future.

I could also make a fruit machine 'data layout' in MAME (which emulates quite a few machines from some work done a few years back), and it would work in the same way - so it's technically emulator-agnostic.  The primary focus is on MFME though :) 
 

53 minutes ago, A:E said:

 

So are you able to change 3D orientation while you are playing, or is it fixed perspective?   Really immense work in just a short time!!

J

Yes, that's planned (smooth panning between topglass view, bottom glass view, reel peek etc) :)   This will initially be just skipping through views with say pressing Tab key... but later may also have an 'automated Director' option, constructed per layout based on rules 

Ie: 

If Stop Nudges Top Glass message lamp flashed, and no other lamps flashed in sync:  Trigger pan to top glass  (as the system has detected time to stop nudges)

...then...

If Nudge buttons flashing and on top glass, trigger pan to bottom glass (as the system has detected time to use nudges)

Something like that could probably made to work pretty well, to save the user having to manually tab.  With the option to Tab at any time to override what the auto-director chose.

  • Like 1
  • Thanks 1

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  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
[ 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

I've had another bash at the reel lamp effect.  I went a bit overboard on the 'warmness' of the lights (these Tuppenny Nudger type machine's reel lamps seem to be a lot brighter/whiter on the youtube videos)... but I do like a nice cosy bulb glow! :) 

In the long term it'll want a custom shader, that will give a much better effect than this quick job, but I'm just getting things 'good enough' for now, so I can keep progressing the prototype.  


 

  • Like 3
  • Awesome 3

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  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
[ 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

9 minutes ago, A:E said:

Is it possible to use the actual reel symbol as a lamp mask with maybe some glow bleed?  This is for future thoughts mate, I know you are working on the primary workings before you polish bits :)

Totally love this though mate, really interesting stuff, fantastic skills ;)

J

Yep mate, with a shader it's possible to do specific stuff like that :)   For instance you could have a shader to turn all green-ish pixels in an image black, or change all pseudo-silver coloured pixels to have a reflection of the room/lights behind etc.  So configurable custom shaders will be the ultimate way to go for some of these effects.

To the layout designer though, when the shader is done, the coding will be hidden away :)  The parameters will just be tweakable in realtime with named sliders to configure the desired look for that machine (e.g. Glow Bleed 0 --------|--- 1 ). 

  • Like 5

[ Arcade Simulator ] Pre-alpha installer: http://arcadesimulator.net  |  Known Issues: https://tinyurl.com/yz4uom2e  |  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
[ 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

  • Reg changed the title to Development Updates
×
×
  • Create New...