# Dr. Mario virus placement

Thread in 'Other games' started by IoannesPaulus, 3 Aug 2012.

1. ### nightmareci

I've added information about capsule generation, virus generation and just now how the gravity works to the Dr. Mario wiki article. Check there for a description of how the game works.

2. ### Kitaru

Cool stuff. Thanks for doing this, nightmareci.

3. ### IoannesPaulus

Awsome work, man! Respect!

4. ### RoboPirate

Cool cool cool!

It's not every day you get to learn new stuff about how Dr. Mario works. =)

Say you start at HI speed and then you drop 100 pills, if I understand things correctly you get an index of 31+10 = 41, and the corresponding number in the gravity table is 6...
So what does this 6 mean? Does the speed increase by 6 units? Or is it like 1/6 = 0.1666...G?

Also, perhaps I'm a bit nit-picky, and if so I apologise, but in the wiki it says:
Indexes 0-25: (35 - index) * 2 - 1
and the gravity table goes to 79...

Shouldn't the lowest possible index be at the start of LOW, 15+0 = 15,
and the highest index be when the speed counter tops out on HI, 31+49 = 80?

Anyways, really awesome work! Very interesting to read.

5. ### nightmareci

The entries in the gravity table are in frames per row, so 6 means the capsule will remain in the same row for 6 frames before dropping one line. I've edited the wiki page to include this little detail.

I'll have to analyze Dr. Mario a bit more to figure out the maximum index, and see if 80 is the real maximum. I know the index minimum must be 15, but the game stores indexes 0-14 in ROM, so I included those values in the gravity table. And if 80 is the real maximum, then some random byte in ROM after the gravity table is the number of frames per row for index 80.

6. ### RoboPirate

Okay, cool. So if it's frames per row and 79 is the highest index then 70 would in practice be the point were speed didn't increase furthert, since both index 70 and 79 corresponds to 1 frame per row.

However, I got inspired by this and so I played 20 HI just now without clearing all the viruses, and waited till 490 pills, and I must say I definitely felt an increment in speed around that value(counted in my head while playing so I don't know about the exact value).

It went from playable speed before 490 to crazy speed after 490.
It felt like the game wouldn't let me move the pills fast enough to be able to continue on playing. So I got maybe 30 more pills before I died.

7. ### dandelany

Hi all,

Just wanted to resurrect this old thread to say "thanks" to nightmareci for the excellent work decompiling/transcribing the Dr. Mario virus generation algorithm (along with the other useful info in the wiki)! I am working on writing a Dr. Mario clone in javascript that can be played in the web browser, and this info was an indispensable part of my quest to make it loyal to the old NES original.

I now have all of the basic gameplay working for one-player mode. I'm working on a network multiplayer mode as well, so you can play against others over the internet. I also need to design it, right now it's just basic colors and blocks... But once I get those parts working, I'll post a link to it in here! I can think of no better beta testers than all of you... Thanks again,

-dan

8. ### IoannesPaulus

I just checked back here after a long while. Please do post the link when ready! I'd love to beta test it.