Jump to content

johnparker007

  • Posts

    2,656
  • Joined

  • Last visited

  • Days Won

    119

Everything posted by johnparker007

  1. Hey the flaws are in my converter program, not your layout The layout looks very good. I've been tinkering with it for a couple of hours and got a partial fix working, to fully fix it I'm gonna have to figure some more stuff out... here's the same area with less green fringing:
  2. It's not just blended lamps, the transparency color fringe is everywhere - I believe I know how to fix; this is a common problem with with 3d alpha textures. I have to modify transparent pixels so their color is that of their nearest non-transparent neighbour. Then the GPU has something good to sample against, for 'inbetween pixels'. Apologies for making your nice layout look bad with all the lamping bugs in my converter! Hopefully over the next couple of weeks I can get them all ironed out.
  3. Thanks for the offer, much appreciated I'm hoping I should be ok - if I can get it down to about 10 mins a layout, then that should be fine for big overnight runs, it's just a bit bloomin' slow at the moment with this first crude technique I'm using!
  4. A little update - I'm back onto working on the Converter side of the project now Have started on 'machine configurations' as a basis for trying to get batch conversion set up once each machine has been configured (things like the location of the 'perspective quads' live in the configuration). It's still very manual - the idea is that ultimately it can batch process, down to creating the data layouts. So then, I can make a fix in say one of the many lamp bugs I've got, then leave my office PC reprocessing all the layouts overnight. Currently conversion is slow, due to data extraction from MFME taking a good 20-30 minutes per machine (this is due to a limitation on how I'm capturing data from MFME, I may revisit using alternative OCR or something custom to capture out the numerical data, which would be much faster. I tried before but the OCR wasn't accurate enough and sometimes got numbers wrong). Anyway, thought I'd post the latest test machine Wok And Roll. Here you can see more lamp bugs that need fixing; green fringing around the chopsticks in the top right, blended lamps not yet implemented so purple rectangles are back, issues with overlapping lamps not doing the alpha properly... along with a list of existing lamp bugs. Still, nice to have a change from Happy Hour!
  5. It's a real shame about the timing I'd not thought about FME in years since doing the mfme2mame project, then when you told me about Chris's sudden tragic passing, I read through all the tribute comments on Wizard's Rest, and along with sadness, it got me thinking about FME again. I know what you mean, he was much more into the low level emulation rather than the visual/multiplayer side of things, but yeah I think he would've liked to have seen this. Noted - it'll be 'a while' yet, but hopefully in the realm of a month or two we'll be getting somewhere near an alpha client at least I must admit I'd not really thought about those, but I think it would be possible with extensions to how the existing system works. So I'd launch the MFME instances for the master/slave(s), then capture the pre-generated data layouts from each one, and render the 3d machine from that. It'll need some more thought on how best to implement, but I can't see it being a problem, it'll just need work. Will definitely do it, as they do look pretty cool with those massive reels on top! One slight issue I can see is that all the machines (master+slaves) will currently have to run on the same client, so two different people couldn't be playing a slave unit each side by side. Yeah, will need some thought... These robocop guys are just placeholders until I get the customisable avatar system properly implemented in client/integrated with server etc, fairly big job, so will be saved for later as it's cosmetic - at least we have names above our heads now! I have had different machines running (Monopoly & Happy Hour with separate MFME instances), though not made a video - as the plan is (with the exception on the master/slave units above), that each client will only run a single MFME instance at a time (for the machine being played by that client, if any). All the other machines will either be playing back their attract mode loop (like the Happy Hours are in the recent videos)... or, playing back live gameplay if another client is playing. I have actually switched back to work on the Converter side of things now, as the 3d multiplayer arcade side is working well enough for this stage... so you will be seeing different machines next to each other in the not-too-distant future
  6. Done some more bits - multiplayer nicknames above heads - got 3DS Max up and running, edited the cabinet model enabling me to fix a transparency issue that was making the 'lamps off' background glass image not render properly - added some camera smoothing (though I'm still using a cheap wireless keyboard with built-in trackpad so it's still a bit jerky compared to a proper mouse) It's pretty confusing trying to switch between the four instances plus I'm hungover lol but in the later part of the video you can see the avatars moving around with their nicknames. Still showing the new nicknames across 4 instances: Video showing the fixed glass transparency and moving avatars:
  7. So this is complete placeholder environment for testing purposes, just to get things functional, and doesn't represent what will be swapped in at the later stages The scene currently just has some realtime lighting bodged in to ensure it isn't pitch black in there, and I can see what's going on. The lighting is generally going to be done a lot nearer the end of the project when the rendering of the machines is finalised, and an actual arcade environment is chosen - probably something more like one of these (cheap purchasable modular assets): Or this, but with the lighting turned down lower: These often come modular, so you can 'snap' them together to construct, then light, various custom building interior environments as required, e.g: here's some of the parts for the red nightclub scene above: I'll perhaps ultimately have an option to select between three different prebaked levels of light, so people can choose to play in a bright/average/dimly lit version of the environment on their local machine (wouldn't affect what other players see).
  8. Getting there with setting up new source code server and backup, so had a little time to sort out a first person camera setup and build a test arcade environment. There's a slow stroll round (showing walking speed) then a brisk pace walk round (showing running speed)
  9. Ha ha - the machines are 'off' due to me not having set up some additional build scripts for Unity yet. So running from the editor I have access to the custom codec that is used to 'play back' the attract mode lamp pattern, but when I make Windows builds, they do not have these assets packed, so the machines can't play back the lamps. Nothing major, it'll all get sorted out in due course
  10. A little more progress on this very early multiplayer testing. Shows 4 local instances (so this could be 4 different PCs anywhere). The remote robot guys don't animate yet, just your local robot guy, the remotes just slide around. I want to see if I can make it look good enough without transmitting all that animation data over the network, to save the precious server data - I think there's a way deriving stuff from position/rotation changes per frame (so remote avatars will ultimately animate without using expensive network data), will just need some time to figure out.
  11. Lol I'll have to make sure I add mandatory underpants to all avatars!
  12. You got it man Sounds bodgy, but it's how all multiplayer games work... when playing, everything should appear perfectly responsive with zero lag to each individual player, that's the plan anyway
  13. The player actually playing the machine (and walking around) won't have any delay, as they are playing machines/walking around locally (just like in some of the earlier demo videos on this thread). It's a bit mad to get your head around ...but it's generally how multiplayer works on most games - you yourself experience zero delay on your own character/actions - though there's a slight delay on all the remote characters characters/actions on your screen. You don't normally get to see local and remote side by side like in the tech demo, so you wouldn't normally be able to notice the slight delay on remote characters. You just assume they moved whenever they moved on your screen, even though everyone else is slightly ahead. I think I've done a terrible job of explaining that lol So - in the video above, on the left side; the cube was moving for me at exactly the same time I was changing it's x/z position. But on the right side, it was happening a bit later. Normally, if I was the player on the left side, I'd only be able to see my own screen, so my cube (or avatar, or reels etc) would move at the correct time with no delay (for me). Likewise, the player on the right side can only see their screen, so they see me moving around, but they have know way to tell that I'm actually moving on their screen with a small delay. So it all generally works and feels like there is no delay, even though there's a little bit of an illusion going on Definitely looking at text chat... voice chat - will depend on how much server bandwidth it chews through
  14. First test of getting some data across the internet. In this vid, the left and right are two separate instances of the arcade. Both on my PC, but they could just as easily be on different PCs anywhere (using Amsterdam for the server for now, as we're mainly UK/EU based). You can notice the block on the right instance moves with some slight delay and smoothing, as I move it 'live' in the left instance.
  15. Aw thanks mate It's cool though, I've got something underway this afternoon - I've set up Perforce to run locally to manage the code/assets, then backing that up to BT Cloud (I get 1TB online free with them)... it's all chugging away at the mo, but I think that along with occasionally making a copy of my work folder to an external hard drive should do the trick, and ensure the project is safely backed up as it continues to grow
  16. I was thinking that for each machine, there would be pre-recorded gameplay clip (audio and lamps/reels etc). Then if that machine is in use, its audio sample would play on the client. By taking into account where the client avatar is stood, that would set how loud each sample would be playing. So hopefully it would sound authentic, once there are say 10-15 machines being played around the arcade - so you would only hear the sounds of Bar X being played off to your left if there actually is a Bar X being played off to your left. This approach could also support attract mode audio. As you walk closer to the Bar X being played, that sample would get louder (and machines being played that you are walking away from would get quieter). If you got close enough to trigger 'observer mode', then it would start streaming the live lamps/reels, and potentially audio (I am not sure how doable streaming the live audio will be just yet) etc from the PC of the player actually playing the game locally in MFME. There could be bots walking around playing too, though whether they'd really be playing in a streamable way (autoplay style where they just press random buttons to run through credits) will require more thought, as that's going to cost significant CPU time 'somewhere' in the network... just walking around simulating playing without actually running MFME instances will be fine though When a bot is playing a machine, it would then run a prerecorded gameplay loop just like how the idle loops work. In the short term, I have to sort out a better system for backing up this project - it's basically outgrown what github is for (mainly code), and is getting up to commercial game scale now! So I'd best get that sorted, as my project work folder is currently >6gb, and it's only going to keep growing, especially when I add all the other converted machines! I expect the end user install when all this is done will be something like 1gb.
  17. I've been doing some research into customisable avatars, and settled on a system that I think I will use. It's more complex to implement, but I believe it gives the best results. It would've really bugged me that the machines and environment would look realistic, but then the characters would look cartoonish, I think it would've been a real immersion-breaker! Anyway, here's me playing with the sample scene of the system (shows how the end user can customise their avatar at runtime), I popped some attract mode Happy Hours in the background along with our beloved arcade carpet to give it a bit of the arcade feel
  18. Thanks for the heads up, I may hit him up depending on how well my foray into 3DS Max goes I've currently discounted running the emulators on the server itself, as it wont scale - so if 100 people were to be online playing a machine each, I'd need the computing power to run 100 emulator instances... also they would experience a delay when interacting with the machine (as their button press has to get to the server, take place on server's emulator, then the client is also on a delay when rendering the machine via remote streamed data. So the plan is to have the end user running a single emulator instance locally (that would be installed as part of the arcade software) whenever they are playing a machine. Then, if people walk up to watch the gameplay, the player initially streams the codec to say the first 3 watchers, who in turn stream to up to 3 watchers each, etc. There'll be some small increasing delay for the observers as you move down the chain, but it's a scalable approach, so 1,000 people could all crowd around watching one machine being played, and the server wouldn't be overloaded
  19. Appreciated My general (somewhat uniformed) strategy for the cab models is to have say a straight on and side profile photo of the machine to be modelled, e.g: ...and then with a few rough known dimensions (i.e: cabinet width is 82cm, cabinet height at rear is 196cm)... I should be able to model the cab to accurate scale in 3DS Max. I'm just going to keep using the single cab model I have for now to keep things rolling, but I also have a talented 3D artist friend in mind who might up for doing some work on this project. He'll still need a few reference pics per cab, though from what I can tell there are far fewer cab variants than actual machine variants, for instance this JPM grey cabinet seems to have been used for a lot of different machines - great news for us, as then I only need a single JPM cabinet model and use it for all the JPM machines, and I'm pretty sure the same is true for other manufacturers due to it being more cost-effective to have 'standard' cabinets that they then put their various different game into
  20. Thanks for the info Currently I only have this one model, which I bought to save time so I could get started on the 3d side. My plan is to get some basic 3DS Max skills, then I reckon I'll be able to tweak/make new cab models as needed, as a lot of them are quite simple really; just chrome/painted metal tubing and black mdf panels - it should be something I can knock up then from photos, so the cabs are roughly authentic. Simple customisable humanoid avatars was what I had in mind - I'll probably just buy a prebuilt avatar creating/rendering system to save dev time, not researched that area yet, but should hopefully be something out there I can 'drop in' without a ton of work. This is a good point if/when this all gets to that stage, you guys will have get a list together of say 100 machines (and the relevant roms) that we want in the first test arcade, that are not vulnerable to emptiers for the tournaments. And yeah I see no problem with having a side room full of unchipped machines - I'll just have a flag on these broken machines that marks them as non-eligible for tournament play (so it wouldn't apply profit/loss to your bankroll).
  21. 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!):
  22. 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)
  23. 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:
  24. 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.
  25. 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
×
×
  • Create New...