Jump to content

johnparker007

  • Posts

    2,657
  • Joined

  • Last visited

  • Days Won

    119

Everything posted by johnparker007

  1. Been working on the reels , but auto-placement/scaling needs me to fix the complicated maths stuff with the lamps - and it's been a long week, so having a beer tonight instead, and a play with the 'arcade environment' idea
  2. After a bit of headscratching, managed to get the transparent reel windows implemented Couple of very minor issues to sort out later with them, but they're good enough to move onto the actual reels next.
  3. Couldn't handle the purple blocks! ...so have implemented reading Checkboxes from the MFME layout (got away with not doing that until now), and then reading the Transparent value per lamp from the checkbox, along with implementing the alpha support itself. No more purple blocks, now the alpha lamps render with their transparency
  4. Needed to move to a new layout, with more detailed reel window overlays (as I need to preserve these to then make the reel windows transparent, Monopoly Millionaire ones are just plain square so no good to test with): Reel overlays from Happy Hour: After fixing some bugs in the layout extractor stage of the converter, we have the new machine running it's lamps in 3d (Bright pink areas are where I have to implement alpha mask support for the lamps that use it).
  5. Yep seems to play everything I throw at it!
  6. I was meant to be taking a break this week to focus on the day job but got hooked in again Got a good start on the extraction of lamp textures from the flat lit background quads and creation of relative positioned new lamps on the quad panels. There's still quite a bit of work, you'll notice a some lamps are visibly slightly incomplete, usually in their bottom-right, there's some grotty maths and whatnot to sort that out, which may take a while. Thought this was worth a quick vid update though albeit in its somewhat unfinished state
  7. Video screens should be fine - I had Pacman running before, so doesn't seem to be any issues doing 60FPS emulator raster output in general
  8. Work progresses slowly but steadily on the 'Converter' to generate 3d machines from 2d layouts... Now supports multiple perspective panels on the source 2d layout: ...and after some maths pain, I am finally able to auto-extract 'flat' textures from the perspective panels: Here are the generated backgrounds in a cabinet model, as the base for the lamps to go on next: 3d buttons on bottom are wrong (these are just placeholders), but there is a plan for those, along with the other buttons dotted around the glass panels. The note acceptor and coin slot housing in top-right of machine are also 3d. Next stage, I'm hoping to get the lamps working
  9. johnparker007

    20201030_100226.jpg

    Nice high res image!
  10. No eye candy this time, just a tech progress update Having to redo how lamp image extraction will work for the AI upscaling stage of the converter, as it adds AI upscaling 'noise' around the edges if scaling lamp images independently of the background, which is noticeable when a lamp flashes on/off (and is just not perfect even when lamps are steadily lit, when it can be ). To address this, now I auto-generate a background image for each of the lamp sets (Off, On1, On2, On3 etc...) like this: So when those images (or at least the perspective quads) are upscaled 8x with the AI, I can extract the lamps without having pixel noise around the edges. Currently I'm looking into the 'perspective fixing' (much like what's done in Photoshop/Gimp perspective tools), but implementing myself so it can be automatic once the quad is defined. Here's the very early WIP editable quad tool in place for the bottom glass, in the Unity Editor: The next step is auto-converting those defined quads (usually two for a machine; one for top glass, one for bottom glass) into 'flat' images. Then from the flat images, I can extract the background and lamps with original alpha masking (not yet implemented) and also the additional perspective masking, so everything will be correct 'flat' aspect ratio, ready for 3d rendering. This process (AI upscale, then perspective correct both backgrounds and lamps, then fix positions and scales) was how I (very slowly and completely manually) made the 2p Cash Nudger 3d test layout, so hopefully it'll all eventually come together and look alright Edit: Just done a test with the lampsOn1 background, should all look good and noise free Original: 8x AI Upscaled:
  11. Thanks @Amusements I'm just looking into it a little for the moment, but I may take you up one of your flat PSDs at some point to try some tests with, thanks very much for the offer (As the AI upscaling technique may not work well on some lower res layouts on the bottom glass panel, since it's already heavily vertically 'squashed' for the pseudo-3d perspective of the source MFME layout image). I'm thinking that theoretically once I've 'auto-flattened' an existing MFME layout so it can be used for the 3d panels, I could somehow write something to take a high res flat scan (or flat redraw), and auto map that into place (and potentially auto-lamp it) - giving a much higher fidelity source texture on the existing 3d layout. I've still got a couple of big chunks of work left to do on the converter to auto-flatten and AI upscale the source layouts, but then investigating this idea further might be a cool side-quest, to further enhance the visuals In the 3d engine, whilst the glass panels can be viewed from any angle: ...they are stored internally as perfectly flat:
  12. Ah cool, good to know it's a standard technique Yeah it's a tricky one with the lighting, I tried equalising then tweaking brightness/contrast down, seems to level it out a bit ready for an 'unlit' glass image... but getting the different stitched together parts to have even brightness, that does definitely add more complexity. It's an interesting problem, trying to get back to a evenly lit 1:1 ratio complete 2d scan from a bunch of unevenly lit 3d frames
  13. Hey guys I've just been experimenting with a youtube video, I was able to get this perspective/aspect correct image (as if it were scanned) from a single frame. This was using perspective tool, then scale in just the single axis required to correct aspect ratio... Corrected image: Source image (youtube video frame): I was wondering, is this what you guys sometimes do when getting a layout source image assembled - grab a bunch of these then scale and stitch them together to end up with a 2d video 'scans' of the machine glasses? I was watching 1080p videos of fruit machines on youtube, and it got me thinking that the information for high res layouts is technically there, just in a somewhat painful to extract format!
  14. Another update - been working on reels and misc bits, new video has all 6 reels working
  15. Good call - I put it on £1 and did get more features!
  16. A very provisional tinker with the reel rendering stuff - getting a bit closer to that thing where you could peer through the glass and see the 'back' of the reel to work out how may nudges you needed!
  17. Thanks man Good question re latency... So I think when I last checked I had latency down to the minimum it could be with this particular technique of window capture (1/60th of a second, i.e. a single frame behind what MFME is displaying). This is inherent in this specific technique of data capture, as MFME must draw, then be captured and processed, and then redrawn by the renderer, so the renderer must always be a single frame behind at best. I did have another idea though, so I might be able to get around this... but not a priority for the moment. The reels are actually slightly more behind when using the physics 'bounce' as seen in the earlier 2p Cash Nudger tests, as I did a simple model for those that is always 'catching up' to MFME (though it does look very similar to what reels do on actual 'bouncy' machines in youtube videos, so I think it's close to what it should be). Reducing/eliminating bounce effect would reduce/eliminate the reel lag. More ideally, me writing a tweaked reel physics model (that only applies physics when it detects the reels have abruptly stopped), would probably be able to eliminate some/all of that additional latency though and retain the nice bounce, so not worried about it for now TL:DR - there is technically lag, but pretty much imperceptible at 1/60th of a second (a single frame behind MFME on a 60Hz display).
  18. Got the other 'On' lamps in - so now Monopoly Millionaire has the red lamps working. Also got in the rom-controlled variable brightness lamp support, so in the video, you can see the lamps fade up/down when entering the inner board feature, and at game over points from the board Looking into reels and getting the reel windows transparent next, to get these initial converted flat layouts basically playable...
  19. A little progress on the new MFME automation converter - extracted the basic On1 lamps from the Millionaires Row layout via the new tool and hooked up to a minimal data layout (I noticed there were no game sounds when recording - nothing to do with the converter, prob just something random on my PC!)
  20. lol me too - the first working Monopoly video was a 'cheat' of sorts, by using specifically an 'unpublished' layout and using the MFME lamp export feature available on unpublished layouts. This new approach when complete will be good for all layouts, plus will get much more complete info about the reels, segment displays etc. Maybe have working lamps in their original (2D) configurations for all layouts by next week, if I keep getting time to work on it
  21. Have managed to get success with new approach for extracting numerical data This works by clicking in each number field, then sending Ctrl+A (select all), Ctrl+C (copy), then parsing the clipboard contents. Not a super exciting video, but I thought I'd upload for those interested in the technical side of the 'converter' aspect of the project - here it extracts and prints: z order, component type, x, y, width, height ...for all the components in Millionaires Row, using the new reliable technique
  22. Made some progress on 'reading' the drawn text from the MFME window to extract the layout data, though the AI isn't up to the task of interpreting it! It makes mistakes. So backup plan is to roll my own basic screen text scraper for the specific MFME number font, as it looks like the font is hardbaked into MFME, so it shouldn't be too bad and won't break with new versions of Windows etc. Bit of a ballache, but needs doing to get guaranteed 100% accuracy, otherwise there'll be random lamps in the wrong places! Mistakes marked in pink, also it sees "21" as "ral" every time: Edit: ok I've just had another look at this - new plan I can use my automated mouse clicker code to double-click the number fields to select the entire contents, then send Ctrl+C to copy them, then read them from the clipboard - phew, that sounds like less work lol
  23. That is the hope (along with normal PC monitor play)
  24. Great to hear it's considered a good game - I chose it as the new test machine as it's got a pretty complex layout; lots of VFDs, dual red normal/reel lamps and a DMD... oh and 'On' lamps on background. Plenty of stuff to solve
  25. No eye candy here, but a tech update I've started working on the 'MFME Automation' stuff, to allow me to extract complete layouts with every image/setting/coordinate etc. The technique is mixing the window capture stuff I'm using anyway to run the machines, plus simulating mouse/keyboard input. This vid shows it performing the steps: - launching the test layout to convert - skipping the initial popups - pausing the machine emulation - enable Design Mode - move mouse to top-left of layout - right click on background and select properties - capture properties window - move mouse to 'next property' button in bottom-right of window - click next property button every quarter of a second Bit of a bonkers approach but it seems to be working well, so I'm gonna go with it Next up will be some cleaning up, then bring in some (more!) AI to interpret text and numbers drawn in the window. Once I've got that working, I can start on extracting the full data (bitmaps, x, y, width, height, config values etc) per component that make up the layout.
×
×
  • Create New...