Arcade versions of Dr Mario (Pill Dropper MD) and MegaTris

Use this forum to share and discuss Uzebox games and demos.
User avatar
Jubatian
Posts: 1403
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Arcade versions of Dr Mario (Pill Dropper MD) and MegaTris

Post by Jubatian » Sun Jan 26, 2020 10:25 am

mapes wrote:
Sun Jan 26, 2020 6:11 am
One thing I thought I would mention for anyone trying the game. Make sure you move the PLevel to 3 , 4 or 5 when playing. ...
Well, that certainly did lower the difficulty from level sheer lunacy to a rather friendly just about impossible. Trying (Struggling? Blundering?) to play on Student :lol: I am just not good at these games, I guess! :P

User avatar
mapes
Posts: 146
Joined: Sun Feb 13, 2011 7:04 am
Location: Seattle

Re: Arcade versions of Dr Mario (Pill Dropper MD) and MegaTris

Post by mapes » Mon Jan 27, 2020 7:00 am

Yeah I realized that there is no obvious menu to adjust settings for Dr Mario and megatris, but there isn't for normal arcade machines either.

It's hard to get the perfect balance for an arcade game to a casual game.

For an arcade machine owner, you want the player to usually put a quarter in every few minutes. If a player can put in a quarter, and play for 20 minutes, you are not getting a good return.

I love to play Castlevania on the Nintendo, so when I played the arcade version of Castlevania I almost thought I could play right through the game... But the game has a shortened timer for difficulty adjustment. I was right to the boss on level 2 and ran out of time for my first death. If you try to get many of the bonus points in the game, you are out of time... One missed jump while not fatal, could set you back 10 seconds or more and you still run out of time. Although the game is already difficult, the shortened time generally prevents someone from sitting on it all day.

That being said, I think 3 should be the current 'toughest' mode and I can move the easiest to even more easy.

This is more for fun and less for revenue generation.

I'll post an updated version later this week. The compiled uze file is almost maxed out for available space when loaded by an SD card.

User avatar
mapes
Posts: 146
Joined: Sun Feb 13, 2011 7:04 am
Location: Seattle

Re: Arcade versions of Dr Mario (Pill Dropper MD) and MegaTris

Post by mapes » Tue Jan 28, 2020 5:47 am

:evil: well the bottom right virus bug is still there. But I noticed it was a red virus in the bottom right during the last two times it happened. I was playing at plevel 3, and it was my first round in surgeon difficulty. The pieces were starting to fall faster, but the game was manageable until I couldn't get the virus.

User avatar
mapes
Posts: 146
Joined: Sun Feb 13, 2011 7:04 am
Location: Seattle

Re: Arcade versions of Dr Mario (Pill Dropper MD) and MegaTris

Post by mapes » Sun Feb 02, 2020 4:13 am

The bug in the game is very strange, but I 'kinda' figured it out. At least a way to get past the problem

I edited the code to check for sequences the row AFTER the last row, and for some reason, the far right bottom corner is perceived as a red 'block' of some sort. The sequence automatically breaks when you are at the end of the bottle, and since it seems another 'block' there, it doesn't clear the line since it waits for the end of the sequence to be reached.
bug artifact.png
bug artifact.png (38.37 KiB) Viewed 164 times
Interestingly, when you do zap that block (and only with a red sequence) the virus count goes haywire too.

To fix this, I reversed the check4matching function to start from the bottom of the bottle and go up.

I haven't checked to see if the same 'glitch' would occur on the top of the bottle, but I'm guessing the chance to run into that bug is significantly less than the one I was seeing.

I've included the uze file with the fix below.

@ Jubatian: Looking at the dr. mario code, I don't see any uses of the waitVsync() function to play the buffered soundfx. But there is a waitVsyncflag function. Should I be playing the audio after this?
Attachments
pdmd.uze
(59.61 KiB) Downloaded 4 times

User avatar
Jubatian
Posts: 1403
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Arcade versions of Dr Mario (Pill Dropper MD) and MegaTris

Post by Jubatian » Thu Feb 06, 2020 12:07 am

mapes wrote:
Sun Feb 02, 2020 4:13 am
Interestingly, when you do zap that block (and only with a red sequence) the virus count goes haywire too.
That's because the virus_count field is just after the playfield in the bottle structure, so if you start writing past the array bounds, then that gets corrupted first (undefined behaviour, but it tends to compile to this result). No idea why it doesn't work, though (assuming the amended bounds checks are in place).
mapes wrote:
Sun Feb 02, 2020 4:13 am
@ Jubatian: Looking at the dr. mario code, I don't see any uses of the waitVsync() function to play the buffered soundfx. But there is a waitVsyncflag function. Should I be playing the audio after this?
There the solution is like I mentioned earlier (in my first reply) is to process the buffer on the path when the getVsyncFlag() function returns true. Guess you refer to this function as normally there is no waitVsyncFlag() function unless you had added one at some point later compared to the source posted on the top. Check its implementation, the solution should be the same. In the original code I see a single getVsyncFlag() function in MainGameLoop(), you would have to add the buffer processing on Line 503 there (after calling ClearVsyncFlag()). A difficulty may be that other areas of the game (menus) having some effects might not wait for VSync at all. There a tolerable workaround would be just putting a call in those loops anyway (it would result in the effects working, with the potential of them messing up in case the VSync interrupt happened to interfere, but that would just be the same like before).

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest