Jump to content

Development Updates


johnparker007

Recommended Posts

Well I wouldn't buy a new computer yet! ;)  As it might run fine on your setup after all the optimisation work, time will tell mate :) 

6 hours ago, Big J said:

still having that problem with the Big 50 (graphics on JP) and just playtested another JPM 10 quider and the same but only on the lamp flashes with the JP. 

If that's the same as the Jackpot lamp flash issue on Indiana Jones, where the lamps 'strobe' very quickly and it stutters - that seems a limitation in MFME's renderer when there are a lot of rapid lamp changes with blended/scaled lamps.  Indiana Jones in MFME (Pook's layout with the nice blended/scaled high res lamps) also has big stutter on my machine during the jackpot lamp strobe sequence.

That issue doesn't happen in Arcade Sim as I draw the lamps in a completely different way (and MFME, or MAME, just has to render a tiny 'data layout', where each lamp is representing by a single pixel).

Here's Arcade Sim rendering the jackpot strobe sequence on Indiana Jones without stutter (at 15m 20s in):

 

Edited by johnparker007
  • Like 3
  • Thanks 1
  • Awesome 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

Aye it is a shame - we seemed to take it in turns working on FME dev over the past years, I'd forgotten all about it and was playing around with Spectrum stuff until I heard about his passing, and that got me started thinking about FME coding again :( 

Edited by johnparker007
  • 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

1 hour ago, johnparker007 said:

Aye it is a shame - we seemed to take it in turns working on FME dev over the past years, I'd forgotten all about it and was playing around with Spectrum stuff until I heard about his passing, and that got me started thinking about FME coding again :( 

and thank fuck you did John!!!

  • Like 2

 

 

Link to comment
Share on other sites

Made some good progress on the new lamp rendering.  Still using a manually crafted test machine for now, but all lamps now at correct scale so they're perfectly aligned :) 

Done some initial work then on the system that plays attract modes, so it can talk directly to the new lamp renderer, which in turn talks directly to the GPU - so here's a video of the test arcade running now with attract modes and correct lamps:


There still a ton to do, but wanted to get this done first to double-check it was definitely possible to get the performance gains - this is I think 80x Eastern Promise machines on screen at once, with 12x colored room lights - CPU and GPU % staying far lower now :) 

  • Like 2
  • 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

Have implemented a 'RenderDataBufferCache' (catchy name I know), for faster loading when there are more copies of one machine (it was loading a copy of the attract mode lamp data for each copy of a machine, rather than sharing it between all the copies) - took loading this arcade down from around 30 seconds to around 5 seconds :)   ...Arcades with more different machines will take longer to load, but at least that wasted load time is sorted now.

Have fixed up the semi-testing work so I can run this new rendering/optimisation stuff in a proper build rather than in Unity editor - now viewing all the machines running attracts and 12x colored lights: CPU around 15% :D 

Significantly quicker again - pretty happy with the CPU speed now!  GPU about the same (around 20%), as it doesn't really get any speed up from a proper build.

image.thumb.png.a93b84cf8586b81f4248ff54c1f414fb.png

Edited by johnparker007
  • Like 1
  • Thanks 1
  • Awesome 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

2 hours ago, Big J said:

Foooookin 'ell JP!!!!!!!

Wondering, how many machines could possibly fit into your simulator, what is the square area that is covered? (Think I am saying that right)

Currently - this is the total area available, machines can be placed anywhere on that carpet.  The small rectangular block of machines in the middle is the arcade in the most recent videos above, ~80 machines - for a sense of scale.

So you'd probably be able to fit a few thousand machines on there - should be enough, I think there may have been a 65535 limit on machines in a single arcade, but that is loads :) 

tmpdel.thumb.png.67d74fafcc6aa9b39edcd3d479f2fc6f.png

If people actually want larger areas in real world use, I could put an option in the advanced controls in the Arcade Editor tool to expand the carpet size (or some other solution).

Thinking about it, I guess it could get pretty meta - like a 'win criteria' system could be developed so people could make challenge arcades - like time trials.  They could have a challenge set up like: 

- Make a lifesized pacman maze, out of actual pacman machines
- place 4x ghost-themed fruit machines, one where each of the 'powerpills' would be

... then, players have to win a jackpot on each of the four ghost-themed machines (after finding them) to complete the 'level'.

Then there'd be a high score rankings board, showing the players who won the 4 jackpots (or whatever the challenge is) in the least time.  Probably quite a few possibilities down the line with that sort of thing, would work for video games too... :) 

Edited by johnparker007
  • Like 1
  • Awesome 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

27 minutes ago, johnparker007 said:

So you'd probably be able to fit a few thousand machines on there - should be enough, I think there may have been a 65535 limit on machines in a single arcade, but that is loads :) 
 

Not enough and I want my kitchen sink too.............

  • Haha 1

 

 

Link to comment
Share on other sites

Mini tech update :) 

Been having a look at how I might make a shader to get the GPU to directly draw Chris's excellent MFME lighting feature; layered blended lamps :)    

Early doors, but I got a bodge of this 'alpha masking technique' going via a basic custom shader, which can render a single bulb alpha-masked lamp (with glitches).  All the work is done very quickly on the graphics card, having an essentially zero cost on the CPU:

 

  • Like 3
  • Awesome 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

Second mini tech update - as I've got loads to do today, so I am of course hungover and procrastinating instead :) 

I've made a bit more progress on this blended lamp experiment.  Like the new fast lamp renderer, this runs completely on the graphics card (zero CPU cost).  This technique could potentially be expanded on for reel lamps...

The advantage of running things directly on the GPU means generally lower system requirements (as even slow graphics cards are much faster at doing graphics stuff than CPUs).

3 blended lamps with brightness controls, plus a workaround for some (not all yet) of the glitches:

 

  • Like 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

Great work JP ;(.

Is it possible to render the lamps authentically like the lamp flashes on and decays like a real bulb?   I know later machines like sc4/5 etc use leds but would love to have option to set this decay rate so the lamp isn’t instant on and off states.  Do you know what I mean?

That’s how the machines hypnotised you in the darkened arcades ;)

Could you also add assets, I need a tall pillar lava lamp ;), maybe a strobe or a nightclub blue light ;)

J

  • Like 1
Link to comment
Share on other sites

17 hours ago, serene02 said:

Is it possible to render the lamps authentically like the lamp flashes on and decays like a real bulb?   I know later machines like sc4/5 etc use leds but would love to have option to set this decay rate so the lamp isn’t instant on and off states.  Do you know what I mean?

That’s how the machines hypnotised you in the darkened arcades ;)

Could you also add assets, I need a tall pillar lava lamp ;), maybe a strobe or a nightclub blue light ;)

I have thought about those ramp/decays before - should be pretty straightforward - I guess once the user options menu(s) are in, there could be a lamp ramp/decay setting per tech.  As you say, the LEDs era techs should have none, then for other eras they should vary.  I remember do some checks on a 60FPS youtube video showing some even older machines (like a Nudge Up Double Deluxe or something) and the lamps appeared to ramp/decay even slower than 90s/2000s era machine - perhaps something to do with the lamp matrix on those... definitely planned for mate :)  

In terms of assets, I was planning to have those as 'props', I would have to package them up for future releases in advance, then they could also have options, so a lava lamp could have a color slider, and intensity slider, so it 'casts light' in the same way the colored room lamps do.  And I know there's some low key demand for a kitchen sink in there somewhere lol ;) 

17 hours ago, serene02 said:

Wow, you know what would also be amazing, a playlist depending on the year of the machine.  So I’m playing an 1987 Step and Skip, I will have all the top radio hits of that era ;)

I think they did something similar in that Neon Retro Arcade - I'll have to be careful though, distributing music is a bit dodgy - perhaps it could be linked to existing youtube/spotify playlists instead to play in background, with a user option to point to their own local dirs...

17 hours ago, serene02 said:

I’m using a shitty GT710 at the minute...

I think that would probably be ok for the machines, but if you enable the colored room lights it might struggle a little - since most of the rendering heavy lifting is now (intentionally) offloaded to the graphics card - 3080 would of course be able to run anything you throw at it - but with the mining they are like rocking horse droppings! :) 

  • Like 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

They are re-releasing those cards with a lower hash rate (LHR).  Not just driver, think there is onboard hardware to prevent all Nvidia cards from being good for mining.  I think the scalpers are the real issue, buying up stock with bots etc and reselling the cards for double and sometimes triple the original price.

I think in a few months there will be a lot of scalpers left with normal priced cards ;)

J

 

 

  • Like 1
Link to comment
Share on other sites

If that BTC fall carries on the way it has been these last couple of weeks, that hopefully might lead to a bunch of used mining cards coming up on ebay :) 
image.thumb.png.0a06e4d98034eae304540efbeb233973.png

  • Haha 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

Not had chance to work on this for a bit due to real life stuff, but back on tonight :) 

Tech update:
Done a bit more on developing the structure to contain the new 'fast' renderers for things like lamps (already done with minor graphical issues), but also seven segment displays, dot alphas, 14/16 seg alphas...

The new structure has been applied to the base machine, so that now I can run all the 'test machines' I was using earlier, with the fast lamps renderer, to check for issues.  As expected, graphical problems with overlapping lamps, particularly bad on Indy, Must have quite a few overlaps or something else going on...

Here's a shot of the old test arcade that I kept a copy of, from before I started the recent optimisation work:

Couple of weeks back - CPU 68.4%, GPU 32.3%image.thumb.png.9b1b6432909535020589cb5eaac47cbd.png

And restored that backed up arcade tonight and took screengrab stood in the exact same spot to compare:

Tonight - CPU 10.4%, GPU 18.7%image.thumb.png.2fc9c9682a876296e8bb9cf14282a98f.png

So nearly halved the GPU usage, and taken CPU usage down to less than a sixth of what it was.  So worth the time and pain I think :) 

I will need to sort out the overlapping lamp issue, I've a couple of ideas for that.  Also have another new issue with blurred lamp images on the buttons (and some lamps) - this is due to mip-mapping which has all gotten more complex with how the atlases are scaled for the shader - this will need sorting out when I can come up with a plan for how to best do that.

Quick vid showing the machines from the old test arcade all running the new lamp renderer for their attracts, along with the 'overlap flicker' / blurry button lamps issue on some lamps:

 

Edited by johnparker007
  • Like 3
  • Awesome 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

Yeah think I will create my very own arcade paradise.   All my favourite machines all (if possible) running exploitable software :)

I can see a line of all my favourite 2p’ers.

Rat Race
Lucky Lady
Banker
Fruit Swop
Step n Skip
Fruit Cracker
Quick Step
High Note
Aladin’s Cave
Bank Raid
MasterSpy
Hit Line
Nudge Money
Body Match

Times...

J

  • Like 1
Link to comment
Share on other sites

On 27/05/2021 at 10:56, serene02 said:

Yeah think I will create my very own arcade paradise.   All my favourite machines all (if possible) running exploitable software :)
 

Should be straightforward to change the ROMs the data layout is using to exploitable ones with a quick bit of tinkering in the Arcade Sim directories (when using MFME for the fruit emulation), if you want to change away from the ones the machine ships with... :)

For MAME this would require more changes for my side, but I think people using MAME to do their fruit machine emulation would be the very casual fruit machine users and not bothered about different ROM versions... long term, I could perhaps get some nice UI in to handle all this so you can switch inside Arcade Sim itself (for both MAME/MFME)... though all that's a rabbit hole, with swapping out the prize decals etc...

(If there end up being the multiplayer leaderboard/shared arcade features, I'll be doing various steps so that ROM swapping and other naughtiness won't be possible while playing in 'competitive mode').

  • 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

×
×
  • Create New...