MM2 65k vertice limit...

User avatar
zoot
MM2X Super Active User
MM2X Super Active User
Posts: 2444
Registered for: 14 years 11 months
Location: United States

MM2 65k vertice limit...

Postby zoot » Tue Aug 30, 2011 11:19 pm

Hey all. I think I have found out why MM2 has a 65k vertex limit.

I suspect that MM2's *.pkg format is heavily based on the *.3ds format, which Autodesk Studio DOS used before 1996. The *.3ds format has a vertex limit of 65536 vertices.
* 65536 (2 ^16) is the number of different values representable in a number of 16 binary digits, also known as a short integer in many computer programming systems

* The number of vertices and polygons per mesh is limited to 65536.
Also, I must assume, that, like Driver 1, MM2 has a memory limit. This can be fixed. But only by partially reprogramming the game. This has been done by Someone972 for Driver 1. It may not be possible for MM2, though. Makes sense?
Administrator at MMarchive | Arrow Block Entertainment Owner

aaro4130
MM2X Super Active User
MM2X Super Active User
Posts: 2405
Registered for: 16 years
Location: Canada
Been thanked: 1 time

Postby aaro4130 » Wed Aug 31, 2011 12:35 am

I'll verify how much is based off of 3ds (EDIT: Close to 80%). And mm2 reprogramming is impossible.
[img]https://i61.tinypic.com/25zrngo.jpg[/img][color=white]
- Most creative active member
- Most smart active member
- Best MM2 innovation of the year
- Best programmer

[img]https://i60.tinypic.com/2m4c2h5.jpg[/img]
- Most helpful active member[/color]

User avatar
HummersRock
MM2X Super Active User
MM2X Super Active User
Posts: 2152
Registered for: 17 years 5 months
Location: Floating in The Land of Colours
Contact:

Postby HummersRock » Wed Aug 31, 2011 2:34 am

I thought Riva beat this limit.
[url=https://bit.ly/znpgtp][color=deepskyblue]My MM2 Creations[/color][/url] | [url=https://bit.ly/o9c3][color=red]My MM2 Youtube[/color][/url] | [url=https://bit.ly/yfqjeq][color=green]My DeviantArt[/color][/url]

User avatar
Kunal2045
MM2X Very Active User
MM2X Very Active User
Posts: 1185
Registered for: 14 years 8 months
Location: New Zealand

Postby Kunal2045 » Wed Aug 31, 2011 5:58 am

I thought Riva beat this limit.
Indeed, I was thinking the same thing.
[align=center][color=black]Sig[/color]
[img]https://www.imgweave.com/view/4838.png[/img][/align]

User avatar
RacingFreak
MM2X Very Active User
MM2X Very Active User
Posts: 1061
Registered for: 13 years 8 months
Location: Taiwan

Postby RacingFreak » Wed Aug 31, 2011 10:05 am

The story with Driver is different, by far Driver is the only game from whole Driver series that can be modified on model side. But it originally has limit to 260 (citation needed), but the limit is increased to 1000+ (another citation needed) using Jeff's (someone972) obj importer. There's nothing in the re-programming, tho. It's more in additional files that expand the memory.

But the thing leads to that there's a hope that Driver's original developers still have game's code and files (proof is the iPhone release from 2009), unlike Midtown Madness and Angel Studios.

And even Martin Edmondson (part of Reflection's team) was impressed when he saw the modifications done for Driver.

I know that the above is a bit off, but I think 65k is enough for old game like MM2. It's even a lot.
Image

User avatar
Riva
MM2X VIP Member
MM2X VIP Member
Posts: 3143
Registered for: 20 years 1 month
Location: Belgium
Contact:

Postby Riva » Wed Aug 31, 2011 2:29 pm

I've wrote a reminder few years ago about the famous 65k limit for a single mesh, limited in general by Direct3D (ZModeler and MM2 in this case).

There's not a limit for the polygons (except your rig) because the complexity of MM2 is based on two details :
  • You can't exceed 65.000 vertices per single mesh object (BODY_H, WHL0_H:m e.g.) limited in general, by direct3D (ZModeler and MM2).
  • Sometimes, even if the parts of your 3D mesh don't exceed 65k vertices, the fact is that there's too much details in one spot.
But ... (there's a but). By curiosity, I've checked two high poly models made by C
Image

User avatar
Franch88
MM2X Admin
MM2X Admin
Posts: 15759
Registered for: 16 years 11 months
Location: Italy
Been thanked: 1 time
Contact:
Italy

Postby Franch88 » Thu Sep 01, 2011 1:03 am

What Riva wrote about the 65000 vertices limit issue was about the BODY_H object of a car for MM2, that can't exceed that number of vertices to work in-game. He explained a way to avoid this, that's by splitting parts of it as breakable objects. This limit affects all the objects, but when it happens most of the times it's only about the BODY_H object. However yes, there are some cars examples that exceed that number of vertices and have more than 100000 polygons, always only for the BODY_H object.
Essentially all depends by the way used to make the model: too much and little polygons concentrated in a part and also the polygons placement, I would say the one that looks like a web, will give problems for its working in-game; the polygons and vertices number doesn't really count. Curiously, when the modeling way is done so, only if the model is called BODY_H happen in-game working problems, not when it's called BREAK01_H:m, for example.

Here's what Midas said about this. The vertices and polygons limits are very high, but the game memory use limits and leaks because of how has been written the game engine can't allow the managing of an amount that can also be way less than that very high value. Then, the graphic cards of the year 2000 weren't powerful and advanced to manage many vertices and polygons, obviously.
Nothing special really. The PKG file format has already been cracked by fre_ber. Didn't look into it myself though.

Each LOD can have a maximum of 4 ^ 16 (4294967296 or 0x100000000) vertices because the number of vertices is actually stored in a long integer (4 bytes), not a short integer. So this means that there is a memory leak in MM2. The PKG file supports holding more vertices though... In my opinion this shouldn't be fixed as there is no need to have more vertices.

Also if you look at the PKG spec you can see that it isn't based on 3DS at all. ;)
Fiat 500 = Italian motorization. Franch88, MM2 eXtreme forum and website Administrator.
|Franch88's MM2 Releases|

User avatar
Riva
MM2X VIP Member
MM2X VIP Member
Posts: 3143
Registered for: 20 years 1 month
Location: Belgium
Contact:

Postby Riva » Thu Sep 01, 2011 4:44 pm

Thanks for the precision about the Midas' message Franch.

Indeed, it's so much amazing in 2011 with a pretty old video game, released eleven years ago to get so many very detailed addons (most of the time, a bit excessive for a video game ...).
Image