Editing Map metrics (section) From Quake Wiki Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits. Anti-spam check. Do not fill this in! ===Advanced engine ports=== Few advanced Quake engine ports, especially limits removing ones like FTEQW and QSS, allow for much bigger maps due to implementing following important features: * [[BSP2|BSP2 format]] * new network protocols Storage format for map geometry is again float, but now both on disk and in-memory. This allows for practically unlimited level geometry sizes. Map structure indexing is now using 32bit indexes, thus effectively removing any realistic limit on how detailed the map can be (32bit number allows for 4 billions of object slots of any kind). This means map can be very big and very detailed which meshes much better with modern sensibilities. Resource economy is less critical. Networking code is now capable of using so called **bigcoords** extension whis uses new coordinate coding allowing full range of float movement. However although possibilities might now seem endless, with these changes, new limitations are exposed. First and foremost float values lose the precision more the bigger the number they express is. Then, many game runtime data structures and algorithms were never intended to be run over datasets as big as when nearing BSP2 limits, so as one is reaching those limits, these algorithms might start to loose robustness, stability or fail otherwise. QCVM, QuakeC Virtual Machine is practicularlly limited to floats sized between cca -4,194,304u - +4,194,304u for many vector and tracing operations. Finally bigger indexes and other BSP2 structures means more disk and memory space consumed. Due to APIs used, practical physical .bsp map file size limitation is estimated to be around 4GB for BSP2 format. As such, with BSP2 format, practical limits are much higher (virtually unlimited) and became much softer, and should one be nearing the maximums, it might lead to less obvious failures and bugs inside the engines. So as long as one stays within reasonable bounds, anywhere between +/- 16 Ku ~ +/- 128 Ku, the engines are battle tested enough and will deal with any realistic map, but it is advised to not try to reach limits needlessly. Keep in mind that many modern mods (and maps) use BSP2 format nowadays, and while not many of them are bigger than 8000u across, the playtimes often grow exponentionally as map volumes can now be filled with more brushes, thus more details, and thus more rooms and thus more paths between them, inflating the actual play experience considerably. It's not uncommon for new maps to be "size" of whole episode or even two of original game. Advanced engines can load both vanilla and BSP2 maps. In case of running vanilla maps in advanced engines, extended limits still apply and protocols will switch on dynamically when needed. Conclusion: * map size: ** hard limit, qcvm imposed, any axis: +/- 4194304u ** soft limits, reasonable, any axis: +/- 8000u, +/- 16000u , +/- 32000u , +/- 64000u * level of map detail: medium - very high (examples arcane dimensions etc.) * bsp filesize on disk: anything > 256Mb can be considered insane Summary: Please note that all contributions to Quake Wiki are considered to be released under the GNU Free Documentation License 1.3 or later (see Quake Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here. You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission! To edit this page, please answer the question that appears below (more info): Who created the Quake Soundtrack (Hint: In three uppercase letters)? Cancel | Editing help (opens in new window) Retrieved from "http://quakewiki.org/wiki/Map_metrics"