A Community discussion forum for Halo Custom Edition, Halo 2 Vista, Portal and Halo Machinima

Home  Search Register  Login Member ListRecent Posts
  
 
»Forums Index »Halo Custom Edition (Bungie/Gearbox) »Halo CE General Discussion »Is there a limit for map's size?

Author Topic: Is there a limit for map's size? (13 messages, Page 1 of 1)
Moderators: Dennis

helldeath360
Joined: May 23, 2015


Posted: Jan 11, 2018 11:59 PM    Msg. 1 of 13       
I want to make a map like coldsnap, (a little bigger). I would like to know, what things I must not do for the moment when I compile the map. I mean, the map has to have a lot of polygons, big ones, short ones. I asked this because once I made a hude map, the double of coldsnap, it was only a box, and when I compiled the map it appeared this messege ( an edge has a bad point##)PLEASE, WHAT MUST I DO FOR AVOID THese MISTAKES.
Edited by helldeath360 on Jan 12, 2018 at 12:00 AM


DeadHamster
Joined: Jun 8, 2014


Posted: Jan 12, 2018 06:03 AM    Msg. 2 of 13       
Quote: --- Original message by: helldeath360

I want to make a map like coldsnap, (a little bigger). I would like to know, what things I must not do for the moment when I compile the map. I mean, the map has to have a lot of polygons, big ones, short ones. I asked this because once I made a hude map, the double of coldsnap, it was only a box, and when I compiled the map it appeared this messege ( an edge has a bad point##)PLEASE, WHAT MUST I DO FOR AVOID THese MISTAKES.
Edited by helldeath360 on Jan 12, 2018 at 12:00 AM



Maps can't have verts too far from the origin point (0,0). Your map can't be as big as you had made it.

You'll need to use BSP Portals to help the game separate the map into chunks.


For any errors from Tool, use this link


helldeath360
Joined: May 23, 2015


Posted: Jan 12, 2018 11:51 AM    Msg. 3 of 13       
Thank you, I understood. So, I could create (for a big map) the map separated, I mean, create the map with 7 diferent boxes, and when I finish them, unite them and make an only box, that could avoid mistakes, couldn't it?
Edited by helldeath360 on Jan 12, 2018 at 11:52 AM


DeadHamster
Joined: Jun 8, 2014


Posted: Jan 12, 2018 12:06 PM    Msg. 4 of 13       
The BSP can be one single 3DS MAX Object, or 74 separate objects. When Tool compiles the model, it combines all parts into one whole and treats it like one object. So, if you separate your BSP into 7 different boxes, it won't help. The 7 boxes get combined into 1 box.

If your map is only for single player, you can compile one box into BSP 1, compile a separate box into BSP 2, and make sure there's a spot that overlaps both at one point Then make a trigger volume switch between the two BSP, but this is not good for multiplayer. This would help if your BSP is too many faces to display at once, you would have 2 separate BSP's that the player walks between.

Portals are special faces with special materials, and the game treats it as a separate section of the same map. If your character looks at that section, it'll render. If your character turns around or is across the map, it won't. This will only help if you have too many faces on the map to display at once.

BUT, no matter WHAT you do, A vert cannot be too far from the center. You can make it 30 objects, it can be 6 different BSPs, you can have plenty of portals, but Halo won't allow a BSP vert to exist past XXX units from center. I don't know what that number is though.

It's not even the size, you can take a small map like beaver creek; If you move it 99999999999 units from center it won't compile. It can't handle values past a certain limit.


Edited by DeadHamster on Jan 12, 2018 at 12:09 PM


helldeath360
Joined: May 23, 2015


Posted: Jan 12, 2018 10:48 PM    Msg. 5 of 13       
Quote: --- Original message by: DeadHamster

The BSP can be one single 3DS MAX Object, or 74 separate objects. When Tool compiles the model, it combines all parts into one whole and treats it like one object. So, if you separate your BSP into 7 different boxes, it won't help. The 7 boxes get combined into 1 box.

If your map is only for single player, you can compile one box into BSP 1, compile a separate box into BSP 2, and make sure there's a spot that overlaps both at one point Then make a trigger volume switch between the two BSP, but this is not good for multiplayer. This would help if your BSP is too many faces to display at once, you would have 2 separate BSP's that the player walks between.

Portals are special faces with special materials, and the game treats it as a separate section of the same map. If your character looks at that section, it'll render. If your character turns around or is across the map, it won't. This will only help if you have too many faces on the map to display at once.

BUT, no matter WHAT you do, A vert cannot be too far from the center. You can make it 30 objects, it can be 6 different BSPs, you can have plenty of portals, but Halo won't allow a BSP vert to exist past XXX units from center. I don't know what that number is though.

It's not even the size, you can take a small map like beaver creek; If you move it 99999999999 units from center it won't compile. It can't handle values past a certain limit.


Edited by DeadHamster on Jan 12, 2018 at 12:09 PM




THANK YOU VERY MUCH! I won't have those troubles anymore :D.

Edited by helldeath360 on Jan 12, 2018 at 10:49 PM


rcghalohell
Joined: Feb 25, 2009

I can jump?Weeeee (pop!) (No1 heard from it again)


Posted: Jan 13, 2018 02:03 AM    Msg. 6 of 13       
I'm actually going to piggyback off of this. What is the limit from the center?


1bobsam1
Joined: Mar 18, 2010

I win. You lose.


Posted: Jan 13, 2018 06:44 PM    Msg. 7 of 13       
Quote: --- Original message by: rcghalohell
I'm actually going to piggyback off of this. What is the limit from the center?


I'd assume it'd be 2,147,483,647 units any direction from 0,0,0.


DeadHamster
Joined: Jun 8, 2014


Posted: Jan 13, 2018 06:55 PM    Msg. 8 of 13       
Quote: --- Original message by: 1bobsam1
I'd assume it'd be 2,147,483,647 units any direction from 0,0,0.


Yeah something like that. It's based on a hard data limit from what I understand, so it'll be based on the storage type for vert positions, probably a floating point value of somekind.


cippozzo
Joined: May 7, 2013

"I... I am a monument to all your sins."


Posted: Jan 14, 2018 05:44 AM    Msg. 9 of 13       
Though always keep vertices no more distant than a quarter of that limit, meshes get glitched near that value.


MosesofEgypt
Joined: Apr 3, 2013


Posted: Jan 14, 2018 01:43 PM    Msg. 10 of 13       
It might actually be completely arbitrary. The max value for a float before you lose precision in the ones place is 16777215, but the actual max value that a float can represent is 3.402823 * 10^38(though floats do have a special set of values to represent infinity). The limit is going to be whatever the developer thought would be the point where too much precision would be lost to display vertices nicely.

Here's a nice little video I took 5 years ago to show what happens when a vertex loses too much of its precision in its lower decimal places from floating point errors.
https://www.dropbox.com/s/96sut7bi8fwvcvj/Halo%20Thrown%20out%20of%20the%20Map.MP4?dl=0

It's kinda captivating actually. But yeah, I don't believe we'll be able to find the hard limit without trial and error. Probably best to use a binary search method to find it. Binary search is basically "make map, double its size till it wont compile, resize it to be between the biggest that will work and smallest that wont work, repeat until you converge on some value. Binary search is actually an extremely efficient search method, so this won't take but like, 5-10 minutes if you're fast maybe?.
Edited by MosesofEgypt on Jan 14, 2018 at 01:45 PM


DeadHamster
Joined: Jun 8, 2014


Posted: Jan 14, 2018 01:53 PM    Msg. 11 of 13       
Quote: --- Original message by: MosesofEgypt

It might actually be completely arbitrary. The max value for a float before you lose precision in the ones place is 16777215, but the actual max value that a float can represent is 3.402823 * 10^38(though floats do have a special set of values to represent infinity). The limit is going to be whatever the developer thought would be the point where too much precision would be lost to display vertices nicely.

Here's a nice little video I took 5 years ago to show what happens when a vertex loses too much of its precision in its lower decimal places from floating point errors.
https://www.dropbox.com/s/96sut7bi8fwvcvj/Halo%20Thrown%20out%20of%20the%20Map.MP4?dl=0

It's kinda captivating actually. But yeah, I don't believe we'll be able to find the hard limit without trial and error. Probably best to use a binary search method to find it. Binary search is basically "make map, double its size till it wont compile, resize it to be between the biggest that will work and smallest that wont work, repeat until you converge on some value. Binary search is actually an extremely efficient search method, so this won't take but like, 5-10 minutes if you're fast maybe?.
Edited by MosesofEgypt on Jan 14, 2018 at 01:45 PM




Yeah binary search is cool and all but Google is king.

Quote: --- Original message by: Nickster5000
Absolute Absolute max for polies is between 50 and 60k standard (so I can imagine that OpenSauce is going to allow 100 - 120k polies), and absolute max size is a box that is 250,000 x 250,000 x 250,000 3ds max units. So if your map fits inside of the box completely, you're good.


MosesofEgypt
Joined: Apr 3, 2013


Posted: Jan 14, 2018 02:07 PM    Msg. 12 of 13       
Yeah, except I just did binary search using tool, and found that the max value a verts x, y, or z coordinate can have is 150,000. This means the box is 300,000 x 300,000 x 300,000. Tested with regular tool and os_tool. So much for your king! :P




Also, at that distance, you only have about 2 decimal places of precision in your fractional part. Considering that master chief is 70 units tall, that gives you precision of maybe a tenth of an inch if you account for matrix transform rounding.

Edited by MosesofEgypt on Jan 14, 2018 at 02:34 PM


DeadHamster
Joined: Jun 8, 2014


Posted: Jan 16, 2018 03:11 PM    Msg. 13 of 13       
It's funny you say this, because my furthest BSP has a vert that is now >150K units from origin, and therefore won't compile. Was gonna come here to post something, then saw you beat me to it.

Edit: Not having put the entire level's origin at X 32,000 Y 17,000 might have been a good idea, in retrospect.
Edited by DeadHamster on Jan 16, 2018 at 03:13 PM

 

 
Previous Older Thread    Next newer Thread







Time: Sat December 15, 2018 5:24 AM 156 ms.
A Halo Maps Website