The $2000 home in Diamond City

Post » Tue Jan 19, 2016 6:15 pm

I think it would make all kinds of sense if you could send one (or maybe two) companions that you have romanced to Home Plate.

User avatar
Angel Torres
 
Posts: 3553
Joined: Thu Oct 25, 2007 7:08 am

Post » Tue Jan 19, 2016 9:10 am

Writing the code/scripts to have the settlement functionality work with interior cells while also remaining connected to the settlement network on the exterior cells might be a bit much for the engine. Obviously, scripts are running in real-time, as you'll occasionally get messages about a settlement needing whatever resource, but when you get to that settlement, the problem is already resolved. The overland map is still loaded even when its graphics are unloaded. It's always running its scripts. Interior cells completely unload when you move through a new load door. To have all of that script functionality remain active in a second instance for an unloaded interior cell would be technically possible, but would introduce a whole range of things to break. (Not the least of which is interfering with the existing exterior cell settlement scripts, which already appear to be quite buggy.)



To put rainbow colored sprinkles on this birthday cake of horror -- Diamond City itself is an interior cell. Which means that Home Plate is an interior cell inside of an interior cell. In order to have the Workbench in Home Plate linked to the market square in Diamond City itself then those market stalls linked to the exterior cell settlement system, you're dealing with two secondary sets of settlement scripts running for two additional locations -- both of which will be 100% unloaded by the engine when you're not physically present in the cell.



The present engine can't seem to keep reliable track of a single settler you send from Sanctuary to Red Rocket. Can you imagine what would happen if that script tried to send a settler from Sanctuary...through the wasteland...through a load door...through the unloaded interior cell...through another door to another unloaded interior...to interact with an unloaded workbench...and then link its goods with an overland workbench...?



The next time you entered Diamond City, the game would inform you that all of your workbenches are empty and Dogmeat somehow fathered Strong's child.

User avatar
Emma Louise Adams
 
Posts: 3527
Joined: Wed Jun 28, 2006 4:15 pm

Post » Tue Jan 19, 2016 12:00 pm

The home in Diamond city is crap.. really..

User avatar
Charlotte X
 
Posts: 3318
Joined: Thu Dec 07, 2006 2:53 am

Post » Tue Jan 19, 2016 1:30 pm


Well damn! :P



When you put it that way it does sound like horror instead of "neato." :P



I don't know enough about it to know for sure, but I fear you are correct . . . still, they've got it doing some pretty impressive things that it didn't ever seem to do before: For example, as you note, it appears that the overland grid does run in real time and actors movement on it is processed in real time.



Take Dogmeat to Diamond City. Get Piper as a companion, which will send Dogmeat home . . . actually hold on . . . not _positive_ how it works if you do this from an interior cell, but I'm confident it works if you were to acquire a settler in an exterior cell: dogmeat would start walking for the settlment you sent him to. He will literally walk all the way there it seems. If you fast travel to a point that is assuredly on the route, you can catch him as he leisurely strolls along heading for his new home.



Assuming it does also work if you change companions inside D.C. then it might even be possible to use that same script as a template to link the interior work bench with the other ones. Since no companion can be sent to Home Plate, I think you'd have to use console to do this but the way to test it would be to go to Home Plate with a companion (say Piper in this instance) and then console in another companion (say Dogmeat), then switch and send Piper to some other settlement (say Oberland or Hangman's). If her AI can take that input from the user and effectively navigate through the door from Home Plate to D.C. Market, then out the door of D.C. into the Fens, and make her way to another settlement, then I would think it should be possible to usewhat ever scripts are making that possible and model something very similar to make Home Plate link up to the other settlements too.

User avatar
Chad Holloway
 
Posts: 3388
Joined: Wed Nov 21, 2007 5:21 am

Post » Tue Jan 19, 2016 2:40 pm

Would it be possible to cheat the system by placing home plate in the exterior world somewhere inaccessible. Like under the map, or outside its boundries? Inside a mountain? Or even just in the outside map location for diamond city that probably has nothing but an empty placeholder? Then have the load door transport you to that spot on the exterior map, then when leaving transport you back to the interior cell of Diamond city. I mean you couldn't link diamond city, but you could link homeplate. Although, some people brought the main cities in skyrim out to the main map, so you could do that as well.
User avatar
Scotties Hottie
 
Posts: 3406
Joined: Thu Jun 08, 2006 1:40 am

Post » Tue Jan 19, 2016 10:52 am

Drum roll ..



The 1.3 beta allows workbenches at Home Plate. :goodjob:

User avatar
Kat Lehmann
 
Posts: 3409
Joined: Tue Jun 27, 2006 6:24 am

Post » Tue Jan 19, 2016 8:43 pm



It doesn't really move companions overland if you dismiss them from the interior cell -- which is also why dismissed companions go "missing" sometimes, but can still be found somewhere eons later, I believe.



Without going into to too much detail, overland movement is handled via a network of "nodes" placed physically in the world. They're not rendered, but they're there. You can assign flags to a series of nodes that can then be saved as an AI pathway. (Example: link a whole bunch of nodes in a circle around Sanctuary Hills and save it as "Sanctuary_PatrolRoute01". When assigned to an NPC's AI package, this will make them walk this route whenever the AI activates their "guard duty mode".) These nodes cover every cell, interior and exterior, in the game.



Interior cells are separated from the exterior cells by "load-doors", however. These function as teleporters, for all intents and purposes. They "despawn" a character when activated and "respawn" them at the connected spawn point in the connected cell (this is usually placed in the game world right in front of another load door to give the illusion of "walking through a door"). In reality, when you move "through" a load-door, you're actually loading into a completely new "level" of the game -- disconnected from the rest of the game.



When you dismiss a companion in an exterior cell, you'll see them physically begin moving to the destination you told them to go to. You can follow them step by step along the way. Interior cell node networks are contained, however. If you dismiss them from an interior cell, the game moves them to the nearest load-door and "despawns" their character. Rather than "respawning" the character at the spawn point in the connected cell, I believe a script runs that basically says:


Wait X seconds x [Distance to XYZ Destination]
Respawn [X NPC] at [XYZ Destination, node A]
Move [X NPC] to [XYZ Destination, Node B]
Activate [X NPC] IdleAnimationPackage



While this should mean that an NPC waits an appropriate amount of time (simulating the time it would take to travel to their destination) then respawns somewhere near the settlement you sent them, walks on in, and starts using a workbench or drinking beer...the game flubs up the calculations with the "wait x seconds" part. Probably just a misplaced decimal or something. I sent Dogmeat from inside Valentine's office back to Sanctuary with a whole load of loot. He didn't appear in Sanctuary for nearly 15 in-game days, but then he finally arrived. Seems like a multiplier that should have been "1.23" is actually "12.3" in the script.






This may be possible, except you'll never be able to actually link up the nodes -- they can't move through collision mesh. So there would be no way of getting the supply route to connect to the "other end" of the load-door. I think the supply routes work by keeping an instance of the NPC assigned to the route static. If they unload, a script will need to be written to account for any and all of the inventory they're are transporting as well as a dynamic inventory of all connected Workbenches, in turn. If not, the new instance of the NPC will respawn with only its personal inventory intact.


The problem here is the necessity of using a load-door, I think. Granted, this is just conjecture, but I'm pretty sure that's how it's built.


Doesn't mean someone won't put it together, though! Once the CK and FO4SE arrive -- the modding scene is going to explode. (Me...I have a project for Skyrim I'm working on. ;))

User avatar
Pumpkin
 
Posts: 3440
Joined: Sun Jun 25, 2006 10:23 am

Post » Tue Jan 19, 2016 12:20 pm


Yes. First thing I noticed in the list. Anyone knows if you can send companions there with the patch?

User avatar
naana
 
Posts: 3362
Joined: Fri Dec 08, 2006 2:00 pm

Previous

Return to Fallout 4