Pipeline Minigame in Oil Imperium - unable to control mouse
Pipeline Minigame in Oil Imperium - unable to control mouse
I've been trying to play my favourite game from 1989, Oil Imperium (apparently sometimes known as Black Gold) - and I eventually come up against the pipeline laying minigame that appears to be impossible to control on Minimig. It involves using the mouse to click on various pipeline pieces to reach the end, and the mouse behaves as if its wheels are stuck, left and right is largely okay, but up and down just barely moves at all, making it impossible to get from one icon to the next in time.
I've looked into it a little, and there are various forum threads from WinUAE describing the same problem, including this https://eab.abime.net/showthread.php?t=6569 and this http://eab.abime.net/showthread.php?t=41089
Apparently, this game is generally highly dependent on timing, but also uses a weird way of reading the mouse during that minigame - "It reads JOY0DAT every line (not frame, line!) and only checks if difference compared to previous read is negative or positive. (mouse movement speed -1, 0 or 1). UAE only updates mouse counters few times per frame which isn't really compatible with this weird method "
I am somewhat surprised to run into the same problem on Minimig as WinUAE encountered way back when, and which apparently has been fixed in WinUAE. I would have expected Minimig to behave more closely to real hardware, and I thought I had cracked it when I discovered that I had tried with a 68020 in the configuration - but sadly switching to a 68000 made the oil drilling more controllable, but the pipeline laying is still impossible.
Does anyone have any other suggestions on what I can try on the configuration end, and why this might be happening in the first place?
I've looked into it a little, and there are various forum threads from WinUAE describing the same problem, including this https://eab.abime.net/showthread.php?t=6569 and this http://eab.abime.net/showthread.php?t=41089
Apparently, this game is generally highly dependent on timing, but also uses a weird way of reading the mouse during that minigame - "It reads JOY0DAT every line (not frame, line!) and only checks if difference compared to previous read is negative or positive. (mouse movement speed -1, 0 or 1). UAE only updates mouse counters few times per frame which isn't really compatible with this weird method "
I am somewhat surprised to run into the same problem on Minimig as WinUAE encountered way back when, and which apparently has been fixed in WinUAE. I would have expected Minimig to behave more closely to real hardware, and I thought I had cracked it when I discovered that I had tried with a 68020 in the configuration - but sadly switching to a 68000 made the oil drilling more controllable, but the pipeline laying is still impossible.
Does anyone have any other suggestions on what I can try on the configuration end, and why this might be happening in the first place?
-
- Top Contributor
- Posts: 860
- Joined: Wed Feb 09, 2022 11:50 pm
- Has thanked: 64 times
- Been thanked: 194 times
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
At 60 frames a second, and 200 lines per frame, that means that OI is checking the mouse 12,000 times a second, or 12,800 times in PAL mode (50Hz * 256 lines), both of which are way past what current USB polling rates will handle. The fastest I've heard of is 8,000 samples/second, and that's extremely uncommon; 1,000/sec is considered fast, 125/sec is normal. A mouse connected to the Linux host is unlikely to work well with that game.
I'm not sure if even the SNAC system would go that fast, or if Minimig will use it. If both things are true, you might be able to rig up a SNAC-DB9 adapter and connect a real Amiga mouse, but I definitely wouldn't proceed until someone who knows the internals of the core tells you definitively that it will do what you want.
edit: SNAC, not SNAP, doh.
I'm not sure if even the SNAC system would go that fast, or if Minimig will use it. If both things are true, you might be able to rig up a SNAC-DB9 adapter and connect a real Amiga mouse, but I definitely wouldn't proceed until someone who knows the internals of the core tells you definitively that it will do what you want.
edit: SNAC, not SNAP, doh.
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
Hmm... How would an emulator like WinUAE "fix" that I wonder.
It would be a fun reason to try a physical Amiga mouse, not that I have one. I've got a daemonbite adspter, but as that still goes through USB I suspect it won't help matters? Is there such a thing as a SNAC adapter that works with Minimig?
It would be a fun reason to try a physical Amiga mouse, not that I have one. I've got a daemonbite adspter, but as that still goes through USB I suspect it won't help matters? Is there such a thing as a SNAC adapter that works with Minimig?
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
I guess his minigame could be patched in a whdload slave.. https://whdload.de/games/OilImperium.html
Yep why not try a regular Amiga mouse through Snac or Antonio Villena's db9 implementation ?
Yep why not try a regular Amiga mouse through Snac or Antonio Villena's db9 implementation ?
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
I didn't think there was SNAC support in the Amiga core anymore? Having to go back to an older core AND investing into a SNAC adapter seems a bit risky, so perhaps Blisster is the way to go...
Probably a bit much for just one minigame in one game, so I'll see what transpires over the longer term. Might play with the USB polling as well, just to see if it makes *any* difference.
Probably a bit much for just one minigame in one game, so I'll see what transpires over the longer term. Might play with the USB polling as well, just to see if it makes *any* difference.
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
I suppose so - didn’t look as up-to-date as the main core, but the bigger issue is that I need to by another adapter AND a DB9 mouse, and that’s probably a bit much just for one badly coded mini game
-
- Top Contributor
- Posts: 860
- Joined: Wed Feb 09, 2022 11:50 pm
- Has thanked: 64 times
- Been thanked: 194 times
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
You don't need to spend any money to turn on 1000Hz polling in Mister, or to use the WHDLoad image. WHD recipes often patch binaries, and the specific one he linked mentions multiple timing fixes and the pipeline minigame specifically. If you can get the right source originals, it looks like that recipe may fix everything for you.
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
If it needs to poll at 12000hz then 1000hz might not be good enough. And I did use the WHDLoad version and it has the same problem.
-
- Top Contributor
- Posts: 860
- Joined: Wed Feb 09, 2022 11:50 pm
- Has thanked: 64 times
- Been thanked: 194 times
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
Are you sure that you used the specific image generated by the specific recipe that mahen linked? Not all WHDLoad images are created equal.
You have to actually source the exact originals he used, and then generate the image yourself using that specific recipe, which takes awhile and needs a bigger install (the dev version of WHDLoad instead of just the player). That's pain, but costs zero dollars.
From all the patches he issued, it sure sounds like he was fixing the timing issues. The last patch was in 2019, so it strikes me as fairly probable that he also fixed it to work with emulators.
I mean, none of this is guaranteed to work, and might be wasted effort, but I always find it kinda fun to work with old machines like that. Getting old software working is frequently more interesting than the actual software is.
You have to actually source the exact originals he used, and then generate the image yourself using that specific recipe, which takes awhile and needs a bigger install (the dev version of WHDLoad instead of just the player). That's pain, but costs zero dollars.
From all the patches he issued, it sure sounds like he was fixing the timing issues. The last patch was in 2019, so it strikes me as fairly probable that he also fixed it to work with emulators.
I mean, none of this is guaranteed to work, and might be wasted effort, but I always find it kinda fun to work with old machines like that. Getting old software working is frequently more interesting than the actual software is.
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
Good point - I had assumed that the MegaAGS collection would have those patches applied, but i guess not necessarily. I have a few "vanilla" Oil Imperium images as well as my original floppies and a Kryoflux, so perhaps I use this as a challenge - it was probably my favourite game back in the day (I was young and naive ), and it would be good to try and get it to work like it was intended, first without spending any extra money.
Thanks everyone, I had somehow assumed that Minimig would play such a common and old game just as-is, so I'm just glad that it's not just me going crazy.
Thanks everyone, I had somehow assumed that Minimig would play such a common and old game just as-is, so I'm just glad that it's not just me going crazy.
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
MegaAGS should include the latest WHDL installs, but it’s worth to double check this one perhaps.
But it’s quite likely that the timing fixes merely makes sure that the game polls at the original frequency regardless of hardware setup. So fixing this would require work on the mouse input parts of Minimig.
But it’s quite likely that the timing fixes merely makes sure that the game polls at the original frequency regardless of hardware setup. So fixing this would require work on the mouse input parts of Minimig.
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
Thanks for checking that, that saves me a bunch of work. Unfortunatey it also leaves me with fewer options
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
Increasing the USB polling rate didn't make a difference at all to mouse movement in that minigame, so the only remaining options needs to invest in a DB9 mouse, plus a SNAC adapter, plus switching the the SNAC enabled branch of the Amiga core. I think I'll park that project for a while...
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
What is a “frame” in this context? Amiga displays are written line by line directly to screen, and what’s to be written to a line may change even after the first lines have already been written. Of course, with emulation, writing lines directly to hardware may not be an option and you may have to finish writing a whole screen before it can be sent to the display as a frame…
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
Maybe you could file a bugreport on the Minimig bugtracker, though ? As you say it does work under UAE even though the mouse is clearly not polled at the right frequency...
Re: Pipeline Minigame in Oil Imperium - unable to control mouse
I've filed a bug report, at least for the record. It works fine in WinUAE, but even 1000 Hz polling doesn't make a difference in Mister. I'm not even sure a "proper" SNAC/DB9 mouse would work, and I'm not entirely keen on spending money on it to find out