-
Posts
3,432 -
Joined
-
Last visited
-
Days Won
159
Content Type
Profiles
Forums
Gallery
Downloads
Articles
Everything posted by johnparker007
-
Ok sounds like I need to convert Rat Race and get a 3d model of a mobility scooter! Yep walking around is very much the plan, to get that first person perspective going on for the immersion And yes, I think the cat's out of the bag that my plan is to make this into a live arcade... so I'm thinking to make it so you can walk around and watch other people playing games on their machines (plus potential text/voice chat), as well as playing on machines yourself. When you choose to play a free machine, MFME will be launched in the background to run that machine. When you have finished playing on the machine, your server-based bankroll balance will update accordingly based on cash in/out. Then that will allow for daily/weekly/monthly tournaments etc which should be a lot of fun So as a part of that new work, I've taken a break from the Converter today, and started very basic work on the 'codec'. This will allow streaming of the machines lamps/reels/vfds across the net, as I should be able to write some efficient lossless compression. Currently I've just implemented the base recorder/player system, along with the recording/playing of 'simple' (on/off - no fade levels yet) lamps. This will be used for all the free machines to play their attract mode loops without needing to have an MFME instance running for each machine (as that would get impractical very quickly). Here's a demo of 44 machines running their attract mode lamps (at random playback start points to provide variation) via this new system (so I am running zero MFME instances here). These are not perfect loops, I just recorded a few minutes, later I should be able to write something to auto-identify the loops when recording the attract modes. Anyway, enough blurb from me - onto the eye candy (may be best to watch this direct on youtube rather than embedded in the forum, then you'll be able to see in full 1080p HD, as some of the lamps are now tiny!):
-
Thanks mate You could move around in this environment, I'm generally using a static camera for these videos as it's just very quick for me to set up. Once I get that side of it more set up, I'll do some walking around videos Thanks man - and the offer of the donation is very kind ...if I get it all properly up and running, I'll put any donations towards server costs for hosting the networked arcade (there'll probably also be an offline mode for those that don't want to play in the live arcade)
-
No real progress in this vid, just having some fun with the system so far, as I'm on an beer mission after too much work recently This is a bunch of machines (Happy Hour clones) running their lamps from a single MFME instance:
-
Hehe indeed - it's just the only one I had to hand that I generated with the latest converter code, so I made some quick copies with a much-needed beer in hand... but hopefully more different machines to follow once I have the last few initial stage (lamp/reel) conversion issues nailed Good question This should all be automatic (provided the 'empty' 3d cab model has roughly the correct glass aspect ratio(s) of the original)... For each new machine, I generate the glass panels from the 2d mfme layout as a perfect 1m x 1m flat square, regardless of their original aspect ratio (and size): Then, for each new cab model, the top and bottom generated 1m square glass panels are then scaled to the 3d cabinet model top/bottom glass rectangles: ...so in a nutshell the plan is that the generated 1m square panels should auto-scale back to their correct aspect ratio once placed in an appropriate aspect 'empty' cab model panel (like these ones do now, as I'm choosing source machines that fit the single cab model I have so far). Later I'm planning to refresh my (very basic) 3ds max skills and knock up some more cabinets, though if it gets too time-consuming for me to do well as I only have extremely novice 3d art skills, I have a games industry artist friend in mind I can call on who would hopefully be interested in chipping in with some bespoke tweakable cabinet models once the project starts to shape up He also has a love for for the late 80s/early 90s retro arcades so I think I could lure him in... P.S. Ignore the incorrect scaled reels in the example pics above, I'm still working on reels/lamps to implement the proper one-size-fits-all perspective pass.
-
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
-
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.
-
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
-
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).
-
Yep seems to play everything I throw at it!
-
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
-
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
-
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
-
-
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:
-
2D 'flat' glass images from video footage
johnparker007 replied to johnparker007's topic in General FME Chat
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: -
2D 'flat' glass images from video footage
johnparker007 replied to johnparker007's topic in General FME Chat
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 -
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!
-
Another update - been working on reels and misc bits, new video has all 6 reels working
-
Good call - I put it on £1 and did get more features!
-
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!
-
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).
-
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...
-
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!)
-
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
-
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