Why ARE source map sizes limited?

I get that it’s an old game and it’s because the way the game was designed, but why exactly is it that when the map size is increased from the set maximum, it makes source crash? Is it because it’s a 32 bit application or something?

Floating point precision is probably the most important of many reasons; the larger your area, the less precise traces, physics, etc. are. Memory limitations are also a big consideration, since hl2.exe can only access up to 3.5GB of ram as a theoretical max. But besides those, Source really isn’t structured to handle huge maps. Poor streaming support and bad multithreading make it simply impractical.

But wasn’t that considering 32 bit floating points? If we have 64 bit now, can we not at least allow a convar to force the server and clients to use 64 bit floating points?

It’s a lot more difficult than that. C++ doesn’t support changing float sizes on the fly, and simply changing float to have twice the size is going to drastically increase memory. There is no easy fix to this.

Understandable. Thanks for the reply.

I guess thats why they remade the Engne for Source 2

One of the sven coop devs did a little post on their forum about how monumental of a task it was to raise engine limits, and some of the unforseen issues brought with it. Sure, it was hl1, not hl2, but it is no easy task. It would break so many things.

There is no reason Source has to keep to the current limits; with enough time and effort, they could be raised or removed altogether. But at that point, why not just use a different engine? It would probably be easier to remake Garry’s Mod in UE4 than to undertake such a monumental engine overhaul.

Source is really old engine, which has many bugs and vulnerabilities. Plus Valve being massive lazy microtransaction-centered assholes gives you no hope to see bigger maps or Source 2 any soon.

We already know Source 2 has much larger map limits ( was it 2km? )

I think Noi was implying that Source 2 is nowhere in sight, and not denying facts.

There’s already a game running on it

It’s not available currently for developers though.

that may be ‘much larger’ speaking relative to source, but it’s still pathetically small for a game like this

I believe one of my friends talked about how since Source 2 is in 64 bit or something like that, the map size could be in theory be 8 quntillion units or something crazy like that.

edit because my previous answer was dumb and wrong:

I believe your friend is confusing multiple meanings of “64-bit” and what a process being 64-bit allows.

Source 2 being 64-bit means that the process is built to support a 64-bit instruction set. More specifically, it means it can address this much (or maybe 2^64 bytes? documentation is unclear) memory. This is far improved from the 4GB limit of 32-bit computers, and means Source 2 can utilize more of a computer’s memory than before.

This is perhaps necessary to support larger maps, because without it, map developers would eventually run up against a wall when their map becomes too complex to fit in the amount of RAM that a 32-bit process can address. This isn’t an imminent concern, considering the current limits on map design, but it would eventually become an issue.

What your friend is probably talking about is 64-bit values. The precision of the values used for positions in maps also limits their size, and more directly than instruction set. In theory, an engine using 64-bit values could have far larger maps before running into problems with a lack of precision with floating point values. But this has nothing to do with Source 2 being 64-bit. That refers to the amount of memory the process can access. 32-bit computers can still use 64-bit values.

Moreover, building a process for 64-bit doesn’t magically change the design choices made along the way that limit the size of maps. Remember that Source 2 is based on Source which is based on Goldsrc which is based on Quake - an engine over 20 years old. There’s still bits of code floating around in the source code of Source that have an effect on the maximum size of maps.

wait, are you telling me valve does recycle code from quake?

jokes aside, i don’t know what people expects from having that really big and plain map, even games with big maps doesn’t work like source at all

Bethesda and rockstar uses cells, like big zones that changes lods according positions, and minecraft uses chunks

Valve just spit a big bsp file inside game and then there you go, to make big way maps, valve will have to think out of the box, and mappers won’t do a shit to work in that kind of format, you can’t just put a bush that big and expect it to run well, imagine gta v map being rendered at once…I’m aware about vis, but that’s kids toy compared to a cell system or even chunks

So if you guys wants big maps, then you’ll have to scale down way too much players, or spect to source 2 to have streamed levels like cells, but i feel like that’s something that will never happen, even if this happen, no mapper will use it since it’s something pretty hard to big to work with