kelmar6821 Posted June 2, 2009 Share Posted June 2, 2009 I'm making a vault. After making a fairly large subterranean structure I began to wander if I should divide it into several cells. Will optimizing it take care of any additional strain(cpu or gpu) of a large interrior? Link to comment Share on other sites More sharing options...
Khet Posted June 2, 2009 Share Posted June 2, 2009 In short, yes. Long answer, while Fallout 3 does use a 'load only what can be seen' feature through their usage of portals the game still must pre-load the objects to some extent. When you cross a portal the graphics card then renders those on your screen. The larger the interior the more stress is put on the system overall, even if those objects cannot be seen. This is why even when you're in the Wasteland exterior the only cells being loaded is the cell you are in, and any cells that touch yours (so, no more than nine cells are loaded at any one time) and the moment you move to a new cell the ones that are no longer touching your current cell are dropped. Take a look at stuff Bethesda has done in terms of interiors. Their sizes are pretty good, for both resource managing and not annoying the player too much from constant loading screens. Link to comment Share on other sites More sharing options...
anlashok Posted June 2, 2009 Share Posted June 2, 2009 Long answer, while Fallout 3 does use a 'load only what can be seen' feature through their usage of portals the game still must pre-load the objects to some extent. When you cross a portal the graphics card then renders those on your screen. The larger the interior the more stress is put on the system overall, even if those objects cannot be seen. This is why even when you're in the Wasteland exterior the only cells being loaded is the cell you are in, and any cells that touch yours (so, no more than nine cells are loaded at any one time) and the moment you move to a new cell the ones that are no longer touching your current cell are dropped. I'm sorry to hijack this thread, but do you know how the interior cells are loaded in the sense of actors in cells evaluating their packages. Touching rule applying to interior cells too would make sense, but maybe it's something like actors which have packages which have targets in currect cell evaluate their packages? And regardless of the answer, is there a way to force the game to evaluate the packages of actors in a specific cell? Link to comment Share on other sites More sharing options...
Khet Posted June 2, 2009 Share Posted June 2, 2009 The interior cell that you are currently in is LOADED, but the objects outside of your portal are not RENDERED. There is a difference between the two. The objects are still loaded but they are not being drawn (and why should you have them drawn? The player can't see them anyway) and that's why it's best to have a portal in an intersection where the player can't see around a corner until AFTER they've crossed the portal threshold. As for forcing a package to constantly run no matter where the player is, disable Low-Level Processing (or something like that) in the Actor Base. One thing that should be kept in mind when doing that however, is if you assign too many NPCs to not use low level it will REALLY begin the bog down the game. Link to comment Share on other sites More sharing options...
anlashok Posted June 2, 2009 Share Posted June 2, 2009 As for forcing a package to constantly run no matter where the player is, disable Low-Level Processing (or something like that) in the Actor Base. One thing that should be kept in mind when doing that however, is if you assign too many NPCs to not use low level it will REALLY begin the bog down the game.Thanks, that's almost precisely what I need. Do you have any guesses how many is "too many"? Link to comment Share on other sites More sharing options...
Khet Posted June 2, 2009 Share Posted June 2, 2009 Umm, 10-15 I believe. It's been a long time since I've actually needed to work without low level, and even then it was simply a matter of one or two NPCs. Depending on what you want to do it shouldn't really be needed. If it's for an NPC that travels around (like the caravans) I believe you would need to disable low-level. If it's for normal town-going NPCs you don't need to, their AI packages are still worked normally based on the time of the day. Link to comment Share on other sites More sharing options...
anlashok Posted June 2, 2009 Share Posted June 2, 2009 Umm, 10-15 I believe. It's been a long time since I've actually needed to work without low level, and even then it was simply a matter of one or two NPCs. Depending on what you want to do it shouldn't really be needed. If it's for an NPC that travels around (like the caravans) I believe you would need to disable low-level. If it's for normal town-going NPCs you don't need to, their AI packages are still worked normally based on the time of the day.In this case the NPC will be in an interior cell 1 at a certain time of day, say 00-08, and otherwise he will be at cell 2. If the player goes to cell 2 before 08 and waits (really waits irl, with or without bigger timescale, not using the wait tool) until it's 08:00 the NPC will appear at the door which links cell 2 to 1, if the door exists. However, if the cells 1 and 2 are not directly touching, say 1 is touching 3 which is then touching 2, will the NPC come to cell 2 without disabling low-level processing? I haven't tested this myself, but plan to do so later today. Edit:By touching I mean there is a door linking them. Link to comment Share on other sites More sharing options...
Khet Posted June 2, 2009 Share Posted June 2, 2009 I do believe it should work. The way I understand AI packages that if an NPC needs to be somewhere at a certain time of the day they will teleport to the required cell no matter where they are. Say if an NPC needs to be in Cell 2 at 8:00 AM on a Monday but at the time he's in Cell 1 since the last time the player seen him, he should (if I understand correctly) TELEPORT to the closest door (as in he won't appear by the door leading to cell 3) and then work as normall however the rest of his AI package commands. One way to check, is look at NPCs bethesda has created that you CONSISTANTLY see at a certain location every day no matter where you were in the game before that time, and see whether or not they have low level, or how their AI Packages are set up. Link to comment Share on other sites More sharing options...
anlashok Posted June 2, 2009 Share Posted June 2, 2009 I do believe it should work. The way I understand AI packages that if an NPC needs to be somewhere at a certain time of the day they will teleport to the required cell no matter where they are. Say if an NPC needs to be in Cell 2 at 8:00 AM on a Monday but at the time he's in Cell 1 since the last time the player seen him, he should (if I understand correctly) TELEPORT to the closest door (as in he won't appear by the door leading to cell 3) and then work as normall however the rest of his AI package commands. One way to check, is look at NPCs bethesda has created that you CONSISTANTLY see at a certain location every day no matter where you were in the game before that time, and see whether or not they have low level, or how their AI Packages are set up.So will the game track the supposed target location of every NPC in the world every ten seconds (or whatever the evaluating interval is) to see if they need to be in the cell the player is currently in (kind of unlikely), or is there a smarter system which tracks only those NPC's that have a package which actually has a target in the cell the player is in? If so, does that mean that if I have cells 4, 5 and 6 which are linked together linearly like 4-5-6 with a NPC in cell 4, the player waiting in cell 5 will never see the NPC even if the NPC's AI take him to cell 6, he just teleports straight to 6 when it is the time? Will disabling low-level processing help? Link to comment Share on other sites More sharing options...
Khet Posted June 2, 2009 Share Posted June 2, 2009 For you first scenario, yes I believe that is what would happen. Either that or he'll actually appear in Cell 5 (since that's where Player is) and then walk to Cell 6. low leveling would (read: should) disable that if he just teleports into cell 6. I hate that I can't be more specific but it's been quite a while since I've worked with NPCs and AI packages (most of my work with it was done in Oblivion, then some minor work in unreleased mods for Fallout 3 when it was FIRST released). Since then I've been just working on my Alternate Start mod, and a new one which I've already ran into problems heh. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.