Have you tried using the "turn to poly" modifier, be sure to check on "keep polygons convex" I've seen it fix problems like that. Also what happens if you apply Edit Poly the modifier instead of converting? Probably the same thing once you collapse?
Multiple materials per object is bad - the engine will rerender the same object for each material assigned to it; so keep it all 1:1. Also don't be afraid to go crazy with polygons where you need it - it's 2020.. Have you seen the unreal 5 tech demo? lol
Not sure here.. Why haven't you decimated to 4000 polygons as well? I guess it doesn't matter for such an simple object as long as it looks good. With a decimated version you save some time. But you might have to fix some too thin triangles if they cause shading issues
Why confine your dreams to crunchy-realism or high-detail-painterly? So many art styles out there to choose from, that don't require a giganto art team or a gazillion years. https://polycount.com/discussion/211344/what-low-polygon-art-styles-do-you-enjoy
There is one in the graphite modeling tools (2010 and up), while in polygon sub-object mode, go to Graphite Modeling Tools > Click Geometry (All) and select "quadrify all". There are several free scripts up on scriptspot.com also that do roughly the same thing if you're on older versions of max.
Okay so I've got somewhere but still curious to why it doesn't stay perfect when going to poly mode. I'm still trying to fix small details. I wonder if there is a way to rebuild the mesh as one so that all those isolated polygons and overlapped faces will disappear.
Looking really nice. I would take your own advice and move the fish market up. Replace it with some sort of loading/unloading machinery (Ropes, pulleys, crane, etc.) I'll hold back crits on the polygon density until you start moving toward optimization.
Ok, here it is, I exaggerated the effect by not allowing any hard-edges for the experiment/demo, SyncViewS's script took about 3 minutes extra time because you need to manually select area's you want to flatten and push the shading errors into the nearby (hopefully smaller) polygons.
Yeah getting good results out of dynamesh sub can be difficult...all I can say is save often, really. And for some reason it likes it better if your main mesh is dynamesh, and your sub mesh is polygonal and not dynamesh yet so that it converts it when you merge.
It sounds like you're using Mesh>Smooth as an operation. This would break the relationship between the polygons of the two meshes; you'd need to smooth both (i think). A better solution is to keep the meshes lightweight and use the subdivision/smooth method from the renderer you're using. Which renderer?