There are several constraint elements to consider when designing the game, when designing for the switch hardware which is essentially mobile hardware and far less powerful than regular systems or anything we’ve designed for previously there are several things that will be key to enabling the game to run, without these in place the game simply will not play and thus must be considered now before it’s too late
Culling everything that isn’t in screen is a must, when the object leaves the camera view it should be unloaded, this works with static mesh baking and allows objects to be loaded and unloaded by connecting a camera to it, I have created a system similar to this within the unity engine and can probably remake it.
Object or static mesh baking is simple in theory and has two major elements that are important. Baking an object tells the engine that the object in question will remain static within the scene and will not move or perform any other task than to simply exist, that was it can essentially compress the information, for example, a pile of rocks are often going to stay where they are, the engine can be told this and treat them as one entity, similar to how images are compressed in jpeg format, they combine similar colour ranges into 1 in the process losing information but lowering file size, baking is a similar thing without the negative connotations .
An LOD (Level of detail) system is a quality setting, this defines the mesh loaded in within context to 3D objects. This is also a distanced based variable, this works so that a model will be loaded in high quality while the player is up close and looking at the object however as they move away, the mesh will be replaced with a lower quality one, but as the player is further away it’s not noticeable, this works with occlusion culling to deliver smooth gameplay
Even after all the other culling methods, this is still possibly the most essential culling method, level and map design, the map should be designed logistically speaking to not have too much information on the screen at one time. The scene should never look out and render the entire map for example, having to render all objects at once is often an easy way to break a game and the game levels should be designed to never have to load more than one at a time to ensure smooth and flowing gameplay.
Above an example of occlusion culling, this is a top-down view of the camera rendering everything before it and culling everything else
The entire map above is split into the 5 narrative sections, each will be rendered individually and thus the map design ensures a steady flow of gameplay
During my 3D concept designs where I created test houses to demonstrate the style of an area, the poly count of the largest came to roughly 11 thousand, this sounds like a lot however this is without any contrains applied and half of the house will not be rendered as it will be facing away from the player, thus halving the poly count to around 5-6,000, Unity can usually maintain 60 frames per second on a normal computer with around 70-75,000 polygons rendered in
As the switch was our platform of choice we want to ensure that the game will run nicely on the platform however this isn't a pressing development concern, as long as we consider fundamental design methods like map design which we have, then I imagine the development of the game shouldn't run into hardware issues