Jump to content

Development Updates


johnparker007

Recommended Posts

42 minutes ago, johnparker007 said:

Tech update :)

Ok - so while I've been working on LEDs... I've been thinking much more about how to get to ~700 machines (we're currently at ~70 I think, so 10x seems a good jump), with the least wasted time from my side.

So, this means the next patch is going to be quite a while away (maybe 8 weeks - hard to say exactly right now).  

While it may seem straightforward; just keep converting machines like I have been doing... the problem is these processes reeeeally don't scale well at present, and there are various issues to do with propagating bugfixes and future improvements (such as AI upscaling where needed, exposure/contrast/saturation normalisation, 3d buttons, etc).

I'm currently doing more decoupling work, so that the reading of data layouts has no coordinates stored as part of the built machines (so then for instance I can change the data layout design to accommodate larger DMDs, and only have to rebuild affected data layouts, rather than every single machine in it's entirety).

Another (very big) task I now have, is to introduce a new 'pre-Unity' extract artifact.  Currently, Unity fires up MFME and the source layout, then scrapes, to build an 'extract prefab' which is an internal Unity entity.  When I make design changes/fixes have to propagate up from the extract prefab level, that means rebuilding the extract prefabs, which means for each machine, in realtime, it has to scrape all components from the source layout again.  

I have a ton of image caching sorted, but still this can take over 90 seconds per layout.  At 70 layouts, that's ~1hr 45 mins - during which time I cannot use the PC or even move the mouse (as it's automatically controlling MFME).  This process is also very prone to crashing due to a very hard to track down bug in the Windows window capture stack.  Which means I have to babysit this process, to keep manually restarting from later machines in the list - all very frustrating and time-consuming.

If I have 700 layouts, and I was to propagate a fix up from base level, that'd be like at least 18 hours (prob a lot more because of the crashing) of the PC continuously running (and crashing) just to rebuild those extract prefabs.  With the new pre-Unity extract format, that 90 seconds would be shaved down to something like 8 seconds... so 18 hours would be more like 1hr 30 mins... and I'd be able to use the computer/ move mouse while this was happening, and there'd be no (well, very little!) danger of crashing.

Additionally - as I add new components (currently LEDs for example), I'm having to re-extract... so the new work will also involve extracting all MFME components (band reels, disc reels, RGB LEDs, etc) - not just the ones I've implemented on the Arcade Simulator side.  

I'm hoping to find more really big process optimisations like this as I work away on this stuff.

I know people are eager for new (older) machines... but please be patient :) ...this will ultimately get us to 700 machines a lot faster, from this stack of work invested upfront.  Not only that, but it will help to make rolling out those future graphical enhancements a more efficient process. 

This period will be like the calm before the storm :) 

just awesome, speaking as one who craves the £15 era in there believe me when i say i can wait mate, i'm sure we all can, every single detail that is a step forward by you in your process is welcomed no matter the wait. i hope that newq process works out for you and i can understand the reasoning behind why you're going forward in such a way.. all i can say is good luck!!! 

  • Like 1

living the dream

 

Link to comment
Share on other sites

7 hours ago, Spidy21982 said:

played a little with 3d programm . ( first time...)

maybe its useful. its a german jpm wallmount cab

3d files in zip.

jpm.jpg

jpm.zip 374.24 kB · 0 downloads

Scale looks good next to a JPM Vogue (which may be somewhat inaccurate itself - I made from a photograph) :)

image.thumb.png.67a68acd965d37d49fe940d75c21582f.png

Thanks man, that's awesome :) - when I get to the placeholder model stage, I will use these to house all the layouts we have for these German wall mounted cabinets... (I'm guessing Schloß Drachenstein, Samurai, Star Wars from your currently uploaded layouts) - great stuff :) 

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

6 hours ago, johnparker007 said:

Scale looks good next to a JPM Vogue (which may be somewhat inaccurate itself - I made from a photograph) :)

image.thumb.png.67a68acd965d37d49fe940d75c21582f.png

Thanks man, that's awesome :) - when I get to the placeholder model stage, I will use these to house all the layouts we have for these German wall mounted cabinets... (I'm guessing Schloß Drachenstein, Samurai, Star Wars from your currently uploaded layouts) - great stuff :) 

Great looks good in your program. How comes the buttons in your program ? Will your program put these automaticaly on the model or must i have placeholder blank buttons put on the model?

Next cab i will try is for mpu4 video 🙂

Greetings spidy

  • Like 4
Link to comment
Share on other sites

2 hours ago, Spidy21982 said:

Great looks good in your program. How comes the buttons in your program ? Will your program put these automaticaly on the model or must i have placeholder blank buttons put on the model?

Next cab i will try is for mpu4 video 🙂

Greetings spidy

I haven't got to doing 3d buttons yet - for now it's just textures, so it's all 'flat'.

image.png.2d41983ade225d7f589e1806949e452e.png

Ultimately I'll be having the conversion process place/scale the 3d buttons (along with using some custom algorithm, and/or content-aware fill, to clean around the button graphic).

So - no placeholder 3d buttons needed on any models, as it'll just be textures for now as that's all that is supported at present :)  And the system that is planned will create and place automatically...

Really great work putting models together!  Much appreciated bud :) 

[ 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 (first of many over the coming weeks as I rebuild all the processes in prep for scaling up) :) 

I've have got the very bare bones of the new extractor doing something (before I would extract from the MFME layout directly into a 'prefab' Unity entity.  This was great during these early prototyping days, but it has a bunch of drawbacks).

So here is a small snapshot where I've got the basics of the 'layout format', and am extracting what I currently extract for layout/background/reels, but to this new format (this is saved as a single text file per layout, along with all extracted images, into a directory just for that layout):

{
  "ASName": "SmashNGrab",
  "WindowSize": {
    "X": 1321,
    "Y": 925
  },
  "Components": [
    {
      "$type": "MFMEExtract.ExtractComponentBackground, Assembly-CSharp",
      "BmpImageFilename": "background.bmp",
      "Position": {
        "X": 0,
        "Y": 0
      },
      "Size": {
        "X": 0,
        "Y": 0
      },
      "ZOrder": 0
    },
    {
      "$type": "MFMEExtract.ExtractComponentReel, Assembly-CSharp",
      "Number": 2,
      "Stops": 24,
      "HalfSteps": 96,
      "Resolution": 1,
      "BandOffset": 0,
      "OptoTab": 0,
      "Height": 180,
      "WidthDiff": 0,
      "Bounce": 0,
      "Horizontal": false,
      "Reversed": false,
      "Lamps": true,
      "LampsLEDs": false,
      "Mirrored": false,
      "LampNumbersAsStrings": [
        "",
        "2",
        "10",
        "18",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
      ],
      "WinLinesCount": 0,
      "WinLinesOffset": 0,
      "HasOverlay": true,
      "BandBmpImageFilename": "reel_2.bmp",
      "OverlayBmpImageFilename": "reeloverlay_2.bmp",
      "Position": {
        "X": 645,
        "Y": 602
      },
      "Size": {
        "X": 56,
        "Y": 120
      },
      "ZOrder": 2
    },
    {
      "$type": "MFMEExtract.ExtractComponentReel, Assembly-CSharp",
      "Number": 1,
      "Stops": 24,
      "HalfSteps": 96,
      "Resolution": 1,
      "BandOffset": 0,
      "OptoTab": 0,
      "Height": 180,
      "WidthDiff": 0,
      "Bounce": 0,
      "Horizontal": false,
      "Reversed": false,
      "Lamps": true,
      "LampsLEDs": false,
      "Mirrored": false,
      "LampNumbersAsStrings": [
        "",
        "1",
        "9",
        "17",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
      ],
      "WinLinesCount": 0,
      "WinLinesOffset": 0,
      "HasOverlay": true,
      "BandBmpImageFilename": "reel_1.bmp",
      "OverlayBmpImageFilename": "reeloverlay_1.bmp",
      "Position": {
        "X": 553,
        "Y": 602
      },
      "Size": {
        "X": 56,
        "Y": 120
      },
      "ZOrder": 3
    },
    {
      "$type": "MFMEExtract.ExtractComponentReel, Assembly-CSharp",
      "Number": 0,
      "Stops": 24,
      "HalfSteps": 96,
      "Resolution": 1,
      "BandOffset": 0,
      "OptoTab": 0,
      "Height": 180,
      "WidthDiff": 0,
      "Bounce": 0,
      "Horizontal": false,
      "Reversed": false,
      "Lamps": true,
      "LampsLEDs": false,
      "Mirrored": false,
      "LampNumbersAsStrings": [
        "",
        "0",
        "8",
        "16",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
      ],
      "WinLinesCount": 0,
      "WinLinesOffset": 0,
      "HasOverlay": true,
      "BandBmpImageFilename": "reel_0.bmp",
      "OverlayBmpImageFilename": "reeloverlay_0.bmp",
      "Position": {
        "X": 456,
        "Y": 602
      },
      "Size": {
        "X": 56,
        "Y": 120
      },
      "ZOrder": 4
    }
  ]
}

The idea being, that once I have a 'complete' extractor, it will contain all components that MFME has (even if I've not made them in Arcade Simulator yet).  So this unstable (crashes a bit) and slow system for extracting, in theory, will only need to be run once per layout.  After that, I can build my first step on the Unity engine side directly from these large collections of artifacts (.bmp images and the big text file that describes everything contained within each layout), which is massively faster, and generally 100% stable (no crashing, so I don't need to babysit the PC).

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

On 30/10/2021 at 10:19, Spidy21982 said:

Great looks good in your program. How comes the buttons in your program ? Will your program put these automaticaly on the model or must i have placeholder blank buttons put on the model?

Next cab i will try is for mpu4 video 🙂

Greetings spidy

An MPU4 video cab would be amazing mate.  There are quite a few UK machines that use the same cab as well.  Good luck ;)

J

  • Like 1
Link to comment
Share on other sites

37 minutes ago, johnparker007 said:

Tech update (first of many over the coming weeks as I rebuild all the processes in prep for scaling up) :) 

I've have got the very bare bones of the new extractor doing something (before I would extract from the MFME layout directly into a 'prefab' Unity entity.  This was great during these early prototyping days, but it has a bunch of drawbacks).

So here is a small snapshot where I've got the basics of the 'layout format', and am extracting what I currently extract for layout/background/reels, but to this new format (this is saved as a single text file per layout, along with all extracted images, into a directory just for that layout):

{
  "ASName": "SmashNGrab",
  "WindowSize": {
    "X": 1321,
    "Y": 925
  },
  "Components": [
    {
      "$type": "MFMEExtract.ExtractComponentBackground, Assembly-CSharp",
      "BmpImageFilename": "background.bmp",
      "Position": {
        "X": 0,
        "Y": 0
      },
      "Size": {
        "X": 0,
        "Y": 0
      },
      "ZOrder": 0
    },
    {
      "$type": "MFMEExtract.ExtractComponentReel, Assembly-CSharp",
      "Number": 2,
      "Stops": 24,
      "HalfSteps": 96,
      "Resolution": 1,
      "BandOffset": 0,
      "OptoTab": 0,
      "Height": 180,
      "WidthDiff": 0,
      "Bounce": 0,
      "Horizontal": false,
      "Reversed": false,
      "Lamps": true,
      "LampsLEDs": false,
      "Mirrored": false,
      "LampNumbersAsStrings": [
        "",
        "2",
        "10",
        "18",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
      ],
      "WinLinesCount": 0,
      "WinLinesOffset": 0,
      "HasOverlay": true,
      "BandBmpImageFilename": "reel_2.bmp",
      "OverlayBmpImageFilename": "reeloverlay_2.bmp",
      "Position": {
        "X": 645,
        "Y": 602
      },
      "Size": {
        "X": 56,
        "Y": 120
      },
      "ZOrder": 2
    },
    {
      "$type": "MFMEExtract.ExtractComponentReel, Assembly-CSharp",
      "Number": 1,
      "Stops": 24,
      "HalfSteps": 96,
      "Resolution": 1,
      "BandOffset": 0,
      "OptoTab": 0,
      "Height": 180,
      "WidthDiff": 0,
      "Bounce": 0,
      "Horizontal": false,
      "Reversed": false,
      "Lamps": true,
      "LampsLEDs": false,
      "Mirrored": false,
      "LampNumbersAsStrings": [
        "",
        "1",
        "9",
        "17",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
      ],
      "WinLinesCount": 0,
      "WinLinesOffset": 0,
      "HasOverlay": true,
      "BandBmpImageFilename": "reel_1.bmp",
      "OverlayBmpImageFilename": "reeloverlay_1.bmp",
      "Position": {
        "X": 553,
        "Y": 602
      },
      "Size": {
        "X": 56,
        "Y": 120
      },
      "ZOrder": 3
    },
    {
      "$type": "MFMEExtract.ExtractComponentReel, Assembly-CSharp",
      "Number": 0,
      "Stops": 24,
      "HalfSteps": 96,
      "Resolution": 1,
      "BandOffset": 0,
      "OptoTab": 0,
      "Height": 180,
      "WidthDiff": 0,
      "Bounce": 0,
      "Horizontal": false,
      "Reversed": false,
      "Lamps": true,
      "LampsLEDs": false,
      "Mirrored": false,
      "LampNumbersAsStrings": [
        "",
        "0",
        "8",
        "16",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        "",
        ""
      ],
      "WinLinesCount": 0,
      "WinLinesOffset": 0,
      "HasOverlay": true,
      "BandBmpImageFilename": "reel_0.bmp",
      "OverlayBmpImageFilename": "reeloverlay_0.bmp",
      "Position": {
        "X": 456,
        "Y": 602
      },
      "Size": {
        "X": 56,
        "Y": 120
      },
      "ZOrder": 4
    }
  ]
}

The idea being, that once I have a 'complete' extractor, it will contain all components that MFME has (even if I've not made them in Arcade Simulator yet).  So this unstable (crashes a bit) and slow system for extracting, in theory, will only need to be run once per layout.  After that, I can build my first step on the Unity engine side directly from these large collections of artifacts (.bmp images and the big text file that describes everything contained within each layout), which is massively faster, and generally 100% stable (no crashing, so I don't need to babysit the PC).

So you need to change the extracted text file for each layout one by one to align the reels and add details etc? Or will it read the details stored for each layout in mfme and auto ad then to each extracted file for you? Hope it’s the latter!! That’s if I understood the code?

  • Like 1

living the dream

 

Link to comment
Share on other sites

30 minutes ago, woodsy said:

So you need to change the extracted text file for each layout one by one to align the reels and add details etc? Or will it read the details stored for each layout in mfme and auto ad then to each extracted file for you? Hope it’s the latter!! That’s if I understood the code?

It's the latter :)  So it loads up MFME with the source layout, then uses screen capture and automated mouse/keyboard control to manually extract the various graphics/data to this new interim format.

  • 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

36 minutes ago, johnparker007 said:

It's the latter :)  So it loads up MFME with the source layout, then uses screen capture and automated mouse/keyboard control to manually extract the various graphics/data to this new interim format.

That’s got to be helpful!! What a wonderful world we live in for that to be more than a pipe dream, kinda understand how that would work now just not how to write it and on what software haha

  • Like 1

living the dream

 

Link to comment
Share on other sites

3 hours ago, Spidy21982 said:

@johnparker007 here is the mpu4video cab. totally excited how it looks in your programm. have you the option to resize the cabs when its too big or small?

greetings spidy

mpu4.jpg

mpu4 video.zip 840.74 kB · 1 download

Thanks Spidy! :)  

I will be able to correct scales on these when I get to the stage of bringing more placeholder models in - I get rough measurements from flyers, machine owners etc... and then scale the .fbx in 3ds Max so it is the approximate real size.  (plus I'll need to do further work to convert planes to 'panels', so they are drawn from both sides, to prevent from being able to see through...)

Once the model have been prepared in 3DS Max for game engine rendering, that adjusted model is the one that will get used ingame :) 

image.thumb.png.eef20b3b3a17f42a82309f306539d86e.png

image.thumb.png.cfa6c3de61bb19587d607cd04a8710e2.png
 

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

I've just fired up Max to give myself a recap on how I made these things lol - they are pretty fiddly! (I'm no pro 3d modeller, this was just my approach which works well with the arcade renderer)...

Started with 2D outline estimated from side profile photos, measurements etc:
image.png.27edfe59e329b6d6bc74ebdc9828ca5e.png

Then, extruded to make wooden panel that has thickness, and can be viewed from both sides:
image.thumb.png.b86de6380e86295b30f4a724b750192c.png

image.thumb.png.9bf2c9b26a37e5a05c2446dbc780373e.png

Then, made copy of edge verts to create black 't-molding' trim:

image.thumb.png.005ebaa8e6d3056b0fda8fadc4ba6c7f.png

Then combined, that makes a side panel:

image.thumb.png.09bb8120c514ff23b8f853435cecf67e.png

Used more wooden panels to create the inside of the machine:
image.png.f2b2946dc1067afa650990950f157f8e.png

Make copy of side panel, for other side - starting to look like a fruit machine now:
image.thumb.png.5ff7d7b497eec31462c22da006e93248.png

Made single metal bar for glass surround:
image.png.9c24801e15d27999edad8131de9394c8.png


Copied/scaled/rotated to make remaining glass surrounds:
image.thumb.png.781d73d9f988065e9e20ef8a07d89dd9.png

Finally added in some additional metal strips:
image.png.f8486170687ebbb5351f4efb84ed6473.png

It's a surprisingly time-consuming process, though I hope to get faster at it later! :) 

image.png.5f76becc5ef8e41744593abc352638e3.png

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

5 minutes ago, johnparker007 said:

I've just fired up Max to give myself a recap on how I made these things lol - they are pretty fiddly! (I'm no pro 3 modeller, this was just my approach)...

Started with 2D outline estimated from side profile photos, measurements etc:
image.png.27edfe59e329b6d6bc74ebdc9828ca5e.png

Then, extruded to make wooden panel that has thickness, and can be viewed from both sides:
image.thumb.png.b86de6380e86295b30f4a724b750192c.png

image.thumb.png.9bf2c9b26a37e5a05c2446dbc780373e.png

Then, made copy of edge verts to create black 't-molding' trim:

image.thumb.png.005ebaa8e6d3056b0fda8fadc4ba6c7f.png

Then combined, that makes a side panel:

image.thumb.png.09bb8120c514ff23b8f853435cecf67e.png

Used more wooden panels to create the inside of the machine:
image.png.f2b2946dc1067afa650990950f157f8e.png

Make copy of side panel, for other side - starting to look like a fruit machine now:
image.thumb.png.5ff7d7b497eec31462c22da006e93248.png

Made single metal bar for glass surround:
image.png.9c24801e15d27999edad8131de9394c8.png


Copied/scaled/rotated to make remaining glass surrounds:
image.thumb.png.781d73d9f988065e9e20ef8a07d89dd9.png

Finally added in some additional metal strips:
image.png.f8486170687ebbb5351f4efb84ed6473.png

It's a surprisingly time-consuming process, though I hope to get faster at it later! :) 

image.png.5f76becc5ef8e41744593abc352638e3.png

Wow

living the dream

 

Link to comment
Share on other sites

1 hour ago, johnparker007 said:

Thanks Spidy! :)  

I will be able to correct scales on these when I get to the stage of bringing more placeholder models in - I get rough measurements from flyers, machine owners etc... and then scale the .fbx in 3ds Max so it is the approximate real size.  (plus I'll need to do further work to convert planes to 'panels', so they are drawn from both sides, to prevent from being able to see through...)

Once the model have been prepared in 3DS Max for game engine rendering, that adjusted model is the one that will get used ingame :) 

image.thumb.png.eef20b3b3a17f42a82309f306539d86e.png

image.thumb.png.cfa6c3de61bb19587d607cd04a8710e2.png
 

Yea i see what you mean . I tried this time another way to form this cab. Instead of forming a cube i used a flat polygon and dragged it around the side shilouete and closed the two holes right and left. Could nt know this that you could look thru. I am a noob with 3d soft but its a lot of fun to learn this stuff. Hope it helps you a little.

  • Like 2
Link to comment
Share on other sites

7 hours ago, Spidy21982 said:

Yea i see what you mean . I tried this time another way to form this cab. Instead of forming a cube i used a flat polygon and dragged it around the side shilouete and closed the two holes right and left. Could nt know this that you could look thru. I am a noob with 3d soft but its a lot of fun to learn this stuff. Hope it helps you a little.

On a lot of 3d assets for games, we intentionally have them so only the 'outside' is drawn, so it is faster for the GPU... But for the arcade machines it is sometimes possible to see both sides of the same wooden panel (inside payout tray, looking through reel window, if there is a future feature to open up machines to look inside etc). 

The actual arcade machines are generally manufactured in a fairly similar way to how I made my process above (they use a CNC machine to make the curved wooden side panels, and normal tablesaw to make the rectangular panels)... so it allows for making fairly accurate placeholders (with one good reference photo of side, plus height x width x depth of overall machine).  As this is often all that is available, for the early placeholders at least this means we should be able to end up with a large library of placeholder cabinets.

Plastic moulded panels require some new techniques that I'll work on later when I get time.  I have an early attempt done, on the front of the Eclipse cabinet.

Thanks very much for your models so far - I will definitely be able use them as a reference to make placeholders from much more easily, as I can just trace yours.  If you can create with panels like the workflow above, I may be able to use them more directly -  but just reference cabinets are also super useful :)   And good luck with the 3d modelling, it's a lot of fun! :) 

Edited by johnparker007

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