In addition to the limits of the dimensions of a shell, we should consider the limits to memory. There are 150 shells, I believe, and if all of them are occupied, will our PCs be able to handle the load? Probably not, but we should at least make an effort to conserve memory. So, I'll start by making some assumptions, then I'll recommend a limit. Feel free to respond with your thoughts.
First, what should be the overall maximum memory footprint of Ahra Pahts? That depends on the target platform, which we'll arbitrarily define. I'll suggest that we don't focus on the amount of video memory instead of main memory, since the Plasma engine should be capable enough to swap out geometry/textures/transforms from main memory at the appropriate times. So, let me suggest that the target platform should have 1 GB of RAM. Granted, the operating system and other necessary processes (anti-virus software, firewall) will occupy a couple hundred megabytes, but we'll assume that we can use virtual memory for that portion.
Next, how should this be divided among the shells? There should be a significant amount devoted to the city itself: the streets, courtyards, district walls, Prin Pahts, and the Hub. So, let's give 40 MB for the city, and 960 MB for the shells. That works out to 6.4 MB per shell.
Finally, how does this translate to number of polygons and texture size? Well, I don't think that matters as much as the resulting file size of the shell's PRP. That's because the shell consists of many Plasma classes that include the geometry and textures, and all those structures are in the file.
Recommended limit: keep our PRP file size under 6.4 MB
Some notes:
1. The structures contained in the file are actually less than the size they occupy in memory. That's because the classes that use these structures contain run-time variables that don't exist in the file structures. So, even though our file size is only 6.4 MB, the size in memory will probably be at least 10 MB. This exceeds our target limit of 1 GB, but I think it will be hard enough to meet this restriction. Also, see the next note.
2. Although the shells are being snatched up quickly, the fact is that not everyone will complete their shell. Many shells were obtained over a year ago, and we haven't heard from some of the shell owners. So, these uncompleted shells will help us keep the overall memory footprint of Ahra Pahts under a gigabyte.
3. Each shell uses textures that are common to all shells: the walls, the ground, the steps, etc. These total up to nearly 3 MB. I have a planned modification to the plugin that will allow us to tag those textures so that, upon a per-page texture export, it will skip these textures. When the shell is loaded into Uru, it will use the copy of these textures in the Pahts_District_Textures.prp page instead. So, you can count on your shell PRP file decreasing by 3 MB in the near future.
Comments?