Jump to content

Development Updates


johnparker007

Recommended Posts

Have rebuilt the attracts for the vertical monitor games (and rotated 180 degrees where required, in the new MAME, is is accurate, and there was no standardisation, some required rotate left 90, some rotate right 90! :) )

Also, changed the playing position to a little closer - it's not great, but until I do the new character controller/camera system, this is as good as it gets really - I can't lower the camera with the current system, and not worth doing hacks when I'll be rewriting later...

I did also experiment with trying to get 'butter smooth' scrolling (by forcing games to have a 60FPS clock, where arcade games were usually slightly out of sync with a perfect 60FPS), however there looks to be some other mild stutter going on... so will need to figure that out first.  This would be a user-selectable option, so you could play at perfect speed (less smooth on monitor running at multiple of 60Hz), or tweaked speed (so a game would be adjusted within feasible range to match 60Hz).

Anyway, here's a vid, showing the vertical attracts working properly on vertical monitors, the new playing position, and a quick botched go on the trusty Salamander:

 

  • Like 5
  • 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
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ 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

More fettling :) - slightly smoother emulation (thread priority), new head on closer view angle, HUD fix:

The camera system will be completely replaced at some point with something better, so I've just hacked this quick new closer 'aligned' view angle (on video games only) for now.  Bit easier to see where the bullets are now! :) 

Scanline effect is planned for later, which will counteract the colors being blown out in places due to the bloom... but I'm trying to get this feature to a releasable first pass, so will prob leave that in for now, and start looking into the various packaging/processing code/design (so you will only download a video game's assets, including the large attract video data, when you load up an arcade with that machine in/use it in the ArcadeEditor).  Plus a few more optimisations, fixes etc...

Edited by johnparker007
  • Like 8
  • 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
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ 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

its funny how we stood in awe over these arcade games (mr do, track and fild, pole position and star wars sit down to mention but a few) they were so immerive and fun to play.

i had not seen mr do! for over 40 years and i have to say i was shocked as to how primative the graphics are. i guess because ive been playing (for example) the latest far cry game, on a water cooled graphics card and an ultra wide monitor, that ive been treated to graphics far far beyond and generation of 8-bit graphics of thr 80s.

that said, they are so playable and have great appeal - just like the 80s fruit machnies.

 

thank you for the progress updates.

  • Like 2
Link to comment
Share on other sites

I've never let go of arcade games.  My collection has recently become ...embarrassing.  I love the focus and immediateness.  Your progress is your improved skill (which you keep), not a save file of XP points or collectibles.  I found it funny during a Clash of Clans phase a few years ago that you can pay for gems to skip some of the boredom of the slow grind progress.  You literally pay to not play.

As impressive as they can be I can rarely summon up the required commitment for modern big games - since around Half Life.  I like gaming best when it's a short intense escape.

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

@johnparker007

When connected to a video game can you still hear audio from the other close video games?   If so, that’s pretty dope !!

Oh, I just saw the vid and you can hear the other machines, that’s a great touch, really adds to the realism, maybe an option to lower the volume on the closer machines as an option?

Absolutely amazing work here bud ;)

 

J

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

Yes, I think in addition to the proximity volume, it might be nice if neighbouring machines did drop off in volume slightly when stood at a game.  When you're up close in real life the cabinet does somewhat act as a sound barrier/funnel.

Maybe just if the mame volume was set relatively higher than the attract video volume that would do the job.

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

7 hours ago, serene02 said:

@johnparker007

When connected to a video game can you still hear audio from the other close video games?   If so, that’s pretty dope !!

Oh, I just saw the vid and you can hear the other machines, that’s a great touch, really adds to the realism, maybe an option to lower the volume on the closer machines as an option?

Absolutely amazing work here bud ;)

 

J

 

5 hours ago, pubjoe said:

Yes, I think in addition to the proximity volume, it might be nice if neighbouring machines did drop off in volume slightly when stood at a game.  When you're up close in real life the cabinet does somewhat act as a sound barrier/funnel.

Maybe just if the mame volume was set relatively higher than the attract video volume that would do the job.

Only a v quick reply, have someone coming for beers in a few mins!  But just to reassure, the sound stuff you've seen so far is very much a first pass :)  There's a scope for improvement, and once I've researched feasibilty, I ultimately have planned some fairly bonkers stuff to make it sound very real...

image.thumb.png.f79c36ffc240f6d7de040ac8a1544a3b.png

This is the custom drop off I've initially made (thru code) - there'll be various options to control ambient sound while playing, potentially advanced controls for user tweakable dropoff curve... the 'treble' - as you move away from machines/are not facing them, if poss I'll be reducing that, also like the occlusion map, there's possibility of a sound path map, so walking past the end of a 'corridor' of machines and those ones would be louder etc.   Oh also dynamic reverb, pending feasibility - again prob from a baked room map.

Just getting things working first as proof of concept, so simple options will go in first, but plenty of headroom for subsequent passes to add more realism effects (rather than just playing straight samples)... :)  

Edited by johnparker007
  • Like 8

[ 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
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ 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

Tech update :) 

So I've done some of the work now required to do the 'packaging' of the build for video games.. still to do is the streaming assets per machine stuff (so video/audio/marquee image downloaded on demand rather than upfront).

Been fixing bugs and optimising, but introducing new ones too... A/V is now synced reliable on the attract videos, which before would often have the audio out of sync with the video for various reasons.  This has caused some issues with popin however (videos black framing on fast 'head turns'), so more research needed here to see about mitigations.

There is actually a reverb test on in this video, it only applies to attract audio at present, not the audio while playing a rom.

Also - have tweaked the 'drop off' to be more extreme... though I think we'll also want a slider setting for user-tunable 'artificial volume reduction' of nearby machines during play.  Also, I need to figure out why some attract audios just seem so much louder (Double Dragon and Nemesis for instance) when I did set stuff up so they should all be normalised to within the same volume range...

Star Force tested again (as the original board runs at 60.000 Hz like the video refresh rate and has steady 1 pixel/frame scrolling) - it is smoother running the emulator with this new way, but it really hammers the CPU.  More research needed there also, it'd be good to get proper vsync mame without the CPU hit.

So yeah, creating new problems as I try to solve them lol ... it's all progress though :) 

There's also a new bug introduced by the various changes to the attract video system - visible at 3:20 on Nemesis, it is playing a much lower res video... then I spin around on the spot 360 degrees, which fixes the issue... should be able to find a fix for that one at least :) 

Edited by johnparker007
  • Like 4
  • 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
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ 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 minutes ago, johnparker007 said:

Tech update :) 

So I've done some of the work now required to do the 'packaging' of the build for video games.. still to do is the streaming assets per machine stuff (so video/audio/marquee image downloaded on demand rather than upfront).

Been fixing bugs and optimising, but introducing new ones too... A/V is now synced reliable on the attract videos, which before would often have the audio out of sync with the video for various reasons.  This has caused some issues with popin however (videos black framing on fast 'head turns'), so more research needed here to see about mitigations.

There is actually a reverb test on in this video, it only applies to attract audio at present, not the audio while playing a rom.

Also - have tweaked the 'drop off' to be more extreme... though I think we'll also want a slider setting for user-tunable 'artificial volume reduction' of nearby machines during play.  Also, I need to figure out why some attract audios just seem so much louder (Double Dragon and Nemesis for instance) when I did set stuff up so they should all be normalised to within the same volume range...

Star Force tested again (as the original board runs at 60.000 Hz like the video refresh rate and has steady 1 pixel/frame scrolling) - it is smoother running the emulator with this new way, but it really hammers the CPU.  More research needed there also, it'd be good to get proper vsync mame without the CPU hit.

So yeah, creating new problems as I try to solve them lol ... it's all progress though :) 

There's also a new bug introduced by the various changes to the attract video system - visible at 3:20 on Nemesis, it is playing a much lower res video... then I spin around on the spot 360 degrees, which fixes the issue... should be able to find a fix for that one at least :) 

Wow Epic !

  • Like 3
Link to comment
Share on other sites

More audio fettling :) Improved drop off, minor code tweaks, fixed normalising, test in typical packed videogame arcade layout:

Next I have some optimisations (view angle per cabinet model for screens, to take advantage of the virtual screen being 'inside' the cabinets, will help looking down long lines of cabs... also setting in machine config if it has attract audio, and doing video sync processing differently accordingly, along with of course saving a little CPU since it's not rendering/reverbing silent audio streams)...

  • Like 4
  • 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
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ 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

Tech update :) 

I've found a way to mitigate the 'black screen pop-in' I was getting on the video game screens, when the machines entered the display, usually from fast left/right 'head movements'. 

It's done by having a second wider frustum to use for pre-activating the videos, so the black screen is still actually happening every time, it's just that it's happening off screen to the left/right so is now effectively fixed by being hidden from view :)  (the handy thing is that it's only adding to playing overhead which is pretty low with other optimisations so far, the average number of expensive seeks actually stays the same).

Test video showing the black screen pop-in issue fixed: (warning, may cause dizziness!)

Has a very modest CPU cost (maybe 5% on my system I think, not thoroughly tested) - so will probably end up as an graphics option that can be disabled/adjusted if required on low CPU power systems.

Here's a freeze frame from the video recorded before the fix, showing an example of the temporary black screens of death after I've just rapidly 'turned my head' left:
image.thumb.png.5b12eee2096784f182de6e35f082543b.png

Edited by johnparker007
  • Like 4
  • 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
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ 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...

Tech update :)  Not had much chance to work on this recently, still been chipping away at things:

- further optimise attract videos to disable when screens facing away from camera, with additional angle to prevent black popin (like was seen at screen edges)

- add a very basic on/off setting (requires arcade restart, currently also disables sounds) for lower end computers, as the attract videos are pretty demanding.  There may be a 'middle' setting, as I think these can be a lot less demanding if I allow them to go out of sync with the audio, which some people might like to have... otherwise, it'll ultimately fallback to probably fading/slow flashing between 2-3 standard screens from the attract (game title screen, 1-2x gameplay demo footage screens).  At least with this basic setting it means I can get to a patch update without it killing the performance on lower-end PCs, then add in the fallbacks later.

- improved appearance of Marquee images at a distance (bilinear + 16x aniso)

Still to do before patch; the big job of the buidl system to get all these resources into 'addressable' assets so they can be downloaded on demand (split into a texture pack, audio+video pack, per machine - roms won't be added as something else will happen with those later, plus they are tiny).

Also - I did spend more time trying to get the latest MAME working, alas no joy on that yet, so still using MAME 2003 for the short term... I do need to figure it out though, for various reasons later on...

Quick screengrab of the improved marquee scaling + completely disabled attract system (from user settings option):
image.thumb.png.320431c628ba5ff0dace824aadd20f6e.png

Hopefully real life things will calm down in next week so I can start making progress on the remaining tasks, to keep moving towards a patch with all this stuff in :) 

  • Like 8
  • 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
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ 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 24/03/2022 at 21:26, eagle64 said:

Real life always trumps all this, but nice to have you back all the same...  how you managed any of this just blows my mind, so any progress is good progress, no matter how long it takes.

 

Thank you for all the hard work you put in

Exactly that, it is quite mind blowing!  Just look at those lovely cabs!!

As always John, your time and work on this project is greatly appreciated ;)

J

  • Like 3
Link to comment
Share on other sites

Quick test :)  Marquee images on top of cabs are now built as addressable assets through the same system the fruit machine textures use (so they download on demand as required for each machine, rather than all downloading when Arcade Sim is first installed).

Recorded the first real build test after generating them all - the brief progress 'Downloading/Initialising %' number going up at the end of Loading screen (during the first 5 seconds of the video) is dynamically downloading the marquee images on demand:


The video and audio attract assets will take a bit more time to set up, since I already have made the system for textures for the fruit machines... so those video/audio addressable asset build processes are next on the todo list :) 

Edited by johnparker007
  • Like 4
  • 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
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ 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

Working this weekend on boring life jobs, but before I got started, just had a little tinker with how a 'non-square' tessellating real-world arcade carpet pattern might be ripped (as a lot of arcade carpets I've checked in the past on youtube arcade videos do repeat, but not using square blocks):

Mr P's Bognor - vaguely usable carpet shot from youtube (non-square repeating pattern):
image.thumb.png.0bced2dd359ca1c70d6c9f7382150fc9.png

Perspective warp extract tessellating area (note it is non-square repeating blocks), so then temporarily distorted in another way:
image.png.3b44dbb339b398c2aad5a1caa915892e.png

Shear the block to bring back to the 'square perspective as viewed from above in real world:
image.png.1cae0bed69b65b1b48045f5cb953e2ab.png

Paste the tessellating non-square block, to see joined repeating pattern in pure 2d:
image.thumb.png.41f1e369ed47bd2e81fd8cbc635b951e.png

So what I'd do for this since it's pretty simple is trace a high res basic copy, using pure colors, and fix the minor tessellation issues (original video perspective making very lightly misaligned seams).  Then that could be applied to a repeating quad mesh that is also warped to these 60 degree shears, along with some detail/normal/bump maps to provide a woolly carpet-like interaction with the light, and I think it would look good and realistic (along with the oft-requested stains of course).

Not a priority for now, but a fun quick investigation none-the-less!  I really just wanted to prove it could be recreated for more real-world Arcade Sim carpets in future :) 

Edited by johnparker007
  • Like 8

[ 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
[ Fruit Machine ROM  Archive ] The archive: https://tinyurl.com/3jhzbueb

[ 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...