Welcome back everyone to another update of Half-Life: Enriched! Jumping right into it with the link to the the new alpha, containing the second chapter Unforseen Consequences!
But before you start playing, come join me in some good old development greviances!
Limits, limits, limits
Everyone who has experience with Half-Life's GoldSource engine knows that it has its limits. Remember that Half-Life originally came out all the way back in 1998 and the base for this engine was laid for Quake (1996). Back then, the minimum requirements for Half-Life were a Pentium with 133 Megaherz with 24 Megabytes of RAM, so a lot of the engine was tailored to these specifications.
The computers of today are a thousand times faster and will be able to handle far more detailed maps. Throughout the years, the community has created better compile tools and developed tricks to push the limits even further. Sadly, some of these limits are hard-coded and cannot be changed without access to the engine's core.
So far, I've been pretty successful in merging the maps and staying within the limits. The graph below shows the original amount of BSPs and the converted amount in Enriched. I've managed to reduce the amount of loading points by nearly 2/3rds.
The two most critical limits for this project are the AllocBlock and the entity limit. The entity limit can be increased since an update made back in 2014 for the Steam version Half-Life. However, I'm aiming for compatibilty with older versions, so I have to keep to the limit of 900 entities.
The Allocation Blocks contain lightmap information and the engine has a hard limit of 64 blocks. Since I'm using high resolution textures on a smaller scale, I'm also increasing the amount of lightmaps. This makes the maps look a lot sharper but also brings me closer to the limit a bit faster. It's a constant battle of detail versus map size and I'm trying to put the pieces together in the most efficient way possible.
So with these limits in mind I'm heading back to the next Half-Life chapter: Office Complex! In my next update I'll go a bit futher into depth on the subject of texturing. Thanks for reading and see you in the comment section!