[SPOILERS] Your Base

The plan is to get “Your Faction” setup as a functional entity by July 3rd… so a full month.

To get your faction running you are going to have to setup an outpost to work out of. It won’t be too painful. You’ll pass available companions through missions to gather the necessary supplies and build the structure itself. The majority of the framework is already laid in some form or another so I’ve got the basic mechanics covered.

What I need is for anyone interested in getting their base used as the standard “Your Followers” outpost, submit a screenshot or picture of it by the 12th to have it included in a poll where a simple majority will pick what we’ll go with. I’d suggest labeling your picture to clarify.

-The central hub should be a single 24x24 world map tile but you can expand into the fields around (for a max of 3x3).
-The walls should be mostly log, wood plank, palisade, or normal house walls since wood is the easiest resource to come by.
-At least 8 beds of some sort.
-There should be at least 12 furniture storage pieces (racks, crates, etc.) for your followers to auto-sort junk you drop on the floor.

at least one for each group of items: ammo armor artifact bionics books corpses drinks food guns gunmods seeds
-In addition you should have some sort of drop off point for food for the faction, items to sell to fill the factions coffers, and loot/goods produced by your followers/holdings. Three open crates in a row is fine.
-I’d suggest only having the most basic equipment you need, think of it like your citadel. Farms, auto-shops, blacksmith huts, and chemical labs are interesting enough to have your faction build them on their own world map squares.
-The larger/more complex the building is, the longer it will take your followers to build.
-Having it look run-down adds charm, min-maxing destroys the atmosphere.

If your base doesn’t meet all of these, don’t worry… I can try and make it work. I’ll include my entry in a few days but I wanted to post this so everyone has a bit more time.

1 Like

Is there no way to attempt to integrate the semi-existing bulletin board as denoting your base? It would be nice if the NPCs would congregate there, and then allow the player to lead them from the board to wherever the player wants them to stay. There could be special tiles denoting the different storage types, so you place a large ammo can that you loot or create and the NPCs know that’s where to put ammo, a gun rack for guns, etc. The idea of having one person’s design be everyone’s faction’s home base is a little unappealing to me, since that takes away a lot of the charm of building your own base.

The major issues:
-Construction of large buildings is nightmarishly slow in the current system, you’d need to implement a full individual tile build que like dwarf fortress to prevent most players from giving up
-Think of having to provide facilities for a dozen or more NPCs.
-Scaling up the scope of the game shouldn’t grind it to a halt, having a set of json’d additions means you pick the type of building and where you want it built. Assigning NPCs to the task will whittle down the countdown till it is finished on the map.
-When buildings are done, your steward will know exactly how your capabilities have expanded and will be able to offer the appropriate companion missions.
-When special NPCs (diplomats from other factions or caravan representatives) show up, knowing where they should be placed is simple
-Preventing the player from relying on nearly invulnerable walls will keep raids and monsters dangerous.
-The player is free to change the design after it is built and having several fixed designs won’t be a huge issue in the end

Here is my entry. It meets all the requirements excepts for having 5 instead of 8 beds. On the other hand, it is small enough that it fits in a single world map tile, will be faster to complete, and will allow you to build additional buildings earlier.

I see lots of empty space, why not add more beds there?

Would json be ok? Oddly enough, that’d be easier for me since I can’t actually play cataclysm in my down time at work but I can json/code to some degree.

Its really cool that you’re putting in all this work to make npc’s more interesting.

though I’m a bit worried about the system you have in mind here. granted its likely the only realistic way to do it in a limited amount of development time. but to me it would seem that a big thing of post apocalyptic life is to re-purpose existing items and structures. rather than building your own new structure completely.

The problem with re-purposing is of course that it’d require the ‘base system’ to be very flexible.

Ideally you’d be able to designate rooms, workshops and item storage yourself rather than have that all exist in the designed building.

but you know, you should tackle this in a way you feel is realistic. so don’t pay to-much heed to me since I’d essentially would be hoping for dwarf fortress from a character perspective in cataclysm ;P.

Not a full entry and I don’t know if I’ll get around to it, but I think it would be interesting if part of the walls of the base could be made up of cars, buses, RVs and whatnot. It just seems to make sense that you’d take an RV, tack on a lean-to, drive up a bus to the other side and drop the wheels to make bed spaces with metal walls, take front ends off cars for lighting and generators and maybe plaster up some 8-foot wide fence sections as simple walling. Car doors and frames would make decent doors against slow, uncoordinated zombies. Having the center be a functional truck with most of the necessary supplies that can be driven out in an emergency would be a bonus.

[quote=“acidia, post:3, topic:9737”]The major issues:
-Construction of large buildings is nightmarishly slow in the current system, you’d need to implement a full individual tile build que like dwarf fortress to prevent most players from giving up

This supposes the character is building their outpost from scratch in the wilderness. I think most players would opt not to do that. I could see a player deciding to set up in a mansion or a FEMA camp, both places meant to hold a lot of people. Why are all these people following you in the first place if you don’t already have somewhere reasonably safe to stay? How long will they follow you and where will they stay while they wait for something to be built, even if they’re building it for you? Back to the individual tile build queue, I could see an interface where you select a material/terrain, designate 2 points, and that commands your followers to build in that area. So, if you wanted to design an L-shaped building wooden building, you’d select “wood wall”, designate top left corner, designate top right corner for the “_” part, then the top left and top right for the “|” part, then select “un-designate”/“remove construction”, designate the left point of the extra wall, designate the right point, and that designation will be removed. Then select “door”, designate the same tile for both points, then do the same for “window”, etc. Then you designate the “anvil” to be placed somewhere in the building to make it the blacksmithing area. It is tedious to designate, but it still lets the player build something that’s uniquely theirs. Alternately, there could be a construction foreman screen where you use a similar shape drawing designation tool to create a blueprint of what you want to build, then it calculates a total number of building supplies, that you provide in a nearby construction supplies storage.
-Think of having to provide facilities for a dozen or more NPCs.
Are the dozen or more NPCs all showing up at once? What sort of facilities do they need besides a bed and a place to get food (and possibly a nearby toilet and shower)?
-Scaling up the scope of the game shouldn’t grind it to a halt, having a set of json’d additions means you pick the type of building and where you want it built. Assigning NPCs to the task will whittle down the countdown till it is finished on the map.
A set of json presets would be awesome for the player to choose from if they didn’t want to build their own, and it might make a good in between until we can get a full player designated system in place, but I don’t think it should be a replacement.
-When buildings are done, your steward will know exactly how your capabilities have expanded and will be able to offer the appropriate companion missions.
If there were special terrains/furnitures that acted as NPC cues, like an “anvil”, “construction supply crate”, “wood lathe”, and so on, the steward should be able to recognize that these things exist, or alternately, whenever it is placed, it could update a cache of capabilities (perhaps stored in something like the basecamp class (if it still exists)), and your steward could check the related base camp cache to determine what was available.
-When special NPCs (diplomats from other factions or caravan representatives) show up, knowing where they should be placed is simple
This could be a special preset json definition that can’t be modified by the player, and your steward could provide cues like a “we should build a trade hut” option, that automatically goes to the designate screen for that preset.
-Preventing the player from relying on nearly invulnerable walls will keep raids and monsters dangerous.
Nearly invulnerable walls should also be nearly impossible to build on a large scale, or monsters should become strong enough to compensate.
-The player is free to change the design after it is built and having several fixed designs won’t be a huge issue in the end
How much can they change it though? Enough to make it feel like it’s something that’s theirs?[/quote]

I see why you want to make a starter base from scratch as it’s alot easier for assigning NPCs places.

But would it be possible to do “base” versions of existing map tiles? Like let’s say the player wants to set up in public works. He’d order the NPCs to fix one up. The game would check to make sure the map tile was of the correct type, then it would swap out the old tile with a newer one. The “base” version would be largely the same but have a few minor changes like boarded up windows and maybe a palisade gate. From there it would be up to the player to modify the place.

If the player was already living there, it would have to make sure it didn’t overwrite his items. Maybe round up everything and dump it in a crate. And it might also be weird if the place were burnt down beforehand and the NPCs somehow magically restored it, but that would be a corner case.

Obviously this would take a lot of drudge work to make new versions of old buildings, but since they’re already mostly made, it would be an easy edit. We could start with a few popular choices like motels and surface labs.

And you could do both types: cabins built from scratch in the woods and repurposed structures.

>>> This supposes the character is building their outpost from scratch in the wilderness. I think most players would opt not to do that. I could see a player deciding to set up in a mansion or a FEMA camp, both places meant to hold a lot of people. Why are all these people following you in the first place if you don't already have somewhere reasonably safe to stay? How long will they follow you and where will they stay while they wait for something to be built, even if they're building it for you? Back to the individual tile build queue, I could see an interface where you select a material/terrain, designate 2 points, and that commands your followers to build in that area. So, if you wanted to design an L-shaped building wooden building, you'd select "wood wall", designate top left corner, designate top right corner for the "_" part, then the top left and top right for the "|" part, then select "un-designate"/"remove construction", designate the left point of the extra wall, designate the right point, and that designation will be removed. Then select "door", designate the same tile for both points, then do the same for "window", etc. Then you designate the "anvil" to be placed somewhere in the building to make it the blacksmithing area. It is tedious to designate, but it still lets the player build something that's uniquely theirs. Alternately, there could be a construction foreman screen where you use a similar shape drawing designation tool to create a blueprint of what you want to build, then it calculates a total number of building supplies, that you provide in a nearby construction supplies storage.
Short answer, it has been over two years and no progress has been made with establishing your faction. Toady uses workshops to abstract away the tedium, we can use overmap tile buildings or wait to see if anyone ever shows up who has as much time to spend as Toady does.
>>> Are the dozen or more NPCs all showing up at once? What sort of facilities do they need besides a bed and a place to get food (and possibly a nearby toilet and shower)?
Parties of NPCs joining should absolutely be a possibility. This should be somewhat straight forward... why would you be paying and feeding additional NPCs if you didn't have jobs for them to fulfill.
>>> A set of json presets would be awesome for the player to choose from if they didn't want to build their own, and it might make a good in between until we can get a full player designated system in place, but I don't think it should be a replacement.
People can add or modify whatever they want after the framework is in.
>>> If there were special terrains/furnitures that acted as NPC cues, like an "anvil", "construction supply crate", "wood lathe", and so on, the steward should be able to recognize that these things exist, or alternately, whenever it is placed, it could update a cache of capabilities (perhaps stored in something like the basecamp class (if it still exists)), and your steward could check the related base camp cache to determine what was available.
This starts to bring up the nightmare of determining what equipment is available for all the jobs. You can either abstract it to, "Hey you have a blacksmith shop, you can employ up to 3 people doing blacksmith tasks!" Or, "Hey, let me search your entire compound to see how many anvils are sitting around, 1 can support 3 people, how many tongs do you have sitting around... 1, oh but that can only support 1 worker." While you stare confused at you monitor because you know you have three pairs sitting around but you forgot that that the two pairs you dropped in the farm's tool shed is being used by the mechanics to salvage parts from beat up vehicles some place else. Next you need to search your compound for crucibles, then hammers, then forges... When your base might be approaching the size of the mall or larger it isn't practical.
Obviously this would take a lot of drudge work to make new versions of old buildings, but since they're already mostly made, it would be an easy edit. We could start with a few popular choices like motels and surface labs.
I'm not sure you realize how many different buildings we are looking at. I don't know if you have looked at the looting function but it is simple to parse through a single building, knock out a few windows, throw open the doors, smash a bit of furniture, and steal everything that isn't nailed down. Doing the exact opposite isn't hard either. Heck, capturing houses that are adjacent to your compound and expanding your perimeter wall to encompass them is an easy addition. I'll let anyone who wants build a framework to calculate what in the world you just attached to your base and convert that information into something that is relevant to your faction. It could be a lab entrance that will pour monsters into your base or a house that is completely burned down. What if you brought in a separate house that you built that isn't on the map. You grab only the corner of an office tower? What about the three floors above you and the basement?

I was trying to suggest something a lot less dynamic and free-form than that. Basically, I meant the old overmap tile would get erased and replaced with a whole new .json entry. So, the new tile could have all the necessary information about what workshops it contains and where NPC meeting places are and how to handle loot storage and so on. The new map tile would just happen to resemble the old one. Really it would only give an illusion of altering an existing structure since it would use a similar floor plan.

Like, if you wanted to renovate a school, you’d get locked into that decision and could only pick from the my-base-is-a-school set of map tiles. Your barracks/starting area would have to be in the top left corner of classrooms, let’s say. Then when you went to add a garage, it would have to replace the courtyard --just because that’s how it’s defined in the .jsons. There would be less choice for you overall, but your base would at least blend in with the un-upgraded map tiles.

I realize there are a ton of buildings, and that’s what I meant by lots of drudge work. So, only top choices like schools or malls would be available unless people volunteered to do it.

(And clearly, this would only work on predefined maptiles. Things like mansions would either be off limits or would get radically un-randomized in the process.)


And, don’t get me wrong. I like your proposed idea too. I’m working on some new building .jsons for bases.

I am so excited about this feature I can hardly stand it. 0.D is shaping up to be fabled NPC release people have been asking for for so long.

I think having predefined buildings to start with is going to give a great starting point, let’s not let perfect be the enemy of good :wink:

[quote=“Kevin Granade, post:12, topic:9737”]I am so excited about this feature I can hardly stand it. 0.D is shaping up to be fabled NPC release people have been asking for for so long.

I think having predefined buildings to start with is going to give a great starting point, let’s not let perfect be the enemy of good ;)[/quote]

If only the NPCs themselves weren’t so stupid that you seriously have to consider if it’s not better NOT to take them with you. :stuck_out_tongue:

I have an entry:

Its pretty small, but its got the 8 beds, and enough storage lockers for a lot of stuff, its rather messy. Also got two stoves and a small field for growing stuff.

Wait, is this an extension of the outpost thing in the current experimental? I guess I should wait till this is finished then! Also, how are you guys making your base entries like that? Do you just build it through the debug functions - map editor menu?

Not quite an extension… the only element at the moment that this shares with the commune is that you need to train an NPC to be your faction steward before you can really get things rolling. Think of current companions as members of your gang of friends growing up… you are the leader but only because of your personality or skills. When you transition to a faction, you can elect to hire your companions on as faction members if you agree to a wage and provide food for them daily. That justifies allowing you to control more aspects of their lives. Organizing all of this would be a heck of a task so you need to train a steward from among your followers to take over the micromanagement so the player can continue to run around. This steward is the one who will allow you to assign your followers to quests/jobs for your own benefit. The refugee merchant and the commune foreman will have the steward training when your reputation with them is high enough… same for any other faction managers that you run across.

Your entry can be done with anything: paint, screen shot of what you made using the debug menu, or json. If there isn’t a good screenshot, I’ll json it and post a picture before the poll.

Here’s my submission. Those rocks on the corners are there so I can know where the boundaries of one map tile is, please ignore.

EDIT: Also, am I correct to assume that all this stuff is not compatible with old save games? I’m specifically running 0.C-3236, which has the NPC ranch in it.

Here’s my base for consideration.

Really square, but i can’t help it.

Figured I’d throw my hat into the ring here, but I kinda went overboard. I know you said one, but I did three (don’t mind the cyan nails; those are marking the corners of the 24x24 square).

First up, the perfect base for a survivor faction on a budget:

It’s basically a front room for visitors, a main living/bedroom area, and a small storage house off to the side. If you need a base cheap and have no compunction about changing clothes in front of your entire faction, this is the one for you.

Secondly, a reasonably-sized log-walled base.

It’s got everything a main citadel would need to decently function. Room for 10, a common dining area with a functional kitchen, and plenty of storage space. Plus, it’s got indoor water!

And finally, on the other extreme end of the scale, we have this luxurious base castle.

This stone-walled fortress has everything a faction could possibly want. Two dormitories capable of supporting 6 people each, plus guest quarters AND a private bedroom for the master of the house which includes a private storeroom for artifacts and bionics. A fully-equipped armory, library, and larder completes this magnificent base. Plus, it has two indoor toilets!

Let’s do this! The poll is really ugly to look at but it is simple to click on the base you like the most. All the buildings look really cool so they will likely get be included in the game at some point or another. The poll will be open until the basic framework is already in. Wouldn’t expect it to close until the 28/29.

Progress has been rough for the past week but I may still be able to push this up by the 3rd. Currently I’m trying to get the game to spawn buildings into the world map from a json when you complete a mission. So the end result would look like…

    const tripoint site = overmap_buffer.find_closest( g->u.global_omt_location(), "ranch_camp_65", 20, false );
    tinymap bay;
    bay.load( site.x * 2, site.y * 2, site.z, false );
    bay.place_oter_id("ranch_camp_66");
    bay.save();

I have the map editor to look at as an example for what needs to be done… but getting all of the map stuff to work correctly has been a pain.