Municipal Resources and their relevance post-Cataclysm

I saw some suggestions regarding lots new automated systems and fire hydrants. I was thinking, “how can we implement things that are region-based resources, like a municipal electric grid, or water supplies?” Would it be possible to set up a sort of municipal “vehicle” that represents all the resources a municipal system has? What I mean is water pressure, electricity, back-up generator fuel, etc, could be monitored by hacking into an active city municipal network. Add some municipal systems a player has to delve into sewers and subways to reach and activate or refuel.

Imagine the whole thing like a big vehicle: elevators, trams, and other transit devices are wheels, generators are engines and alternators, there’s water tanks and a general running capacity and fuel-usage estimate per-turn. In fact, it might be easiest to associate all the municipal access devices as stationary vehicles themselves, giving a special part that allows them to input and output from the municipal grid. So say you have a big room filled with powerful diesel engines. The entire thing is one big vehicle and it’s access to the power grid is called a “Municipal Power Junction” You can add multiple types, so Municipal Water Junction, Municipal Network Junction, and Municipal Fuel Junction. The assumption is that these parts will NOT be able to be moved by the player. They lack tools in the scope of this game to do so, so each junction is pretty much a permanent affair. A player can, however modify the “vehicles” themselves and change them to suit their own purposes. This means that a player can tap into the electrical grid by commandeering a traffic light junction to refuel their electric car, but they can’t expand the network outside the city. That’s my feeling anyhow, if expanding a municipal grid would be something that could be balanced, it’s perfectly fine by me.

Municipal systems could be hacked to do several things, like reactivate streetlights, control traffic barricades (automated for ever more extravagant parades celebrating American Exceptionalism, naturally) activate water pumps to specific hydrants. Activating all of these things affects the municipal resources associated with that grid. Having back up generators attached means that you’ll be operating on limited power, so don’t expect to keep an entire city lit up, just turn on the systems you need and shut the rest off when you can, disabling components that are too beyond repair may waste resources: broken pipes, exposed power-grid, leaking fuel lines, etc. Certain resources could be in need of repair or be unable to shut off and need to be scrapped. For instance, smashed hydrants will quickly drain water pressure so might need to find a way to shut it off if you want to make use of municipal water access or treatment. In order to wirelessly hack, however, you need a cellular transmitter on a laptop or a sophisticated hacking application for a PDA. The cell tower in the area needs to be reactivated as well, which is also tied to the power grid. Pumps for water-pressure may be damaged and need to be repaired before hydrants, sinks, drinking fountains, etc will work properly.

On the technical side of things, I was thinking that the municipal grid would be simplest if it was static, determined by what map sections are considered part of the grid. If the grid were to be expandable, you would have to consider forcing maps to have infrastructure that is actively tracked, perhaps buried under the roads. These hubs would occupy every city street and essentially form the basis of the power grid. Any junction box vehicle part can access the grid if it’s submap is adjacent to a submap with a hub. Large buildings off the road would have their own hubs inside them to transmit power to the back-sections. Imagine sub-panels in an electric grid. Though, I strongly suggest keeping the system as abstract as possible, though. We don’t need to know where all the wires are, we just need to know “is this submap wired? Does it have pipes? Network access? Cell coverage? Is there a fuel pipeline somewhere here?” If there’s something the player can do to toggle the on-off state to truly connect a grid together, much like frames connecting a vehicle together, then that is the most ideal system.

This is a pretty complicated one, but after playing so many games that take advantage of networked systems, it seems like a cool addition to an apocalypse game with a setting like C:DDA. There’s something about having to make the decision on whether or not the nuclear reactor under Tenderberg is worth trying to fix and restart just so you can have running water and CCTV access. :smiley: The old rogue-like meme was to delve a dungeon for ancient treasure. In C:DDA we delve dungeons so we can finally take a hot shower!

Dang, you’re such a great thinker Hague. But this sounds like it would take years, and you forget about the reality bubble.

Yeah, that’s an issue, but I think if the vehicles get separated to to their own thread for maintenence, they can operate outside the confines of the reality bubble. So when a city is generated it doesn’t actually draw the generator, just makes an array that represents whatever random quality the city has and then makes sure to procedurally generate it and update it when it is brought back into the reality bubble. So you don’t necessarily need to discover where the city’s back up generator is, it’s generated and runs all the time, only when the generator says "Okay, this submap that was just generated has the back up generator in it, time to write the generator stats from the city’s grid and update it from that. The idea being that the city’s grid is always loaded and operating and it just remembers to send new data to the rendering of these particular items and it just ballparks resource drain based on the state it was generated in until the player does something to change it. It doesn’t have to know exactly where any infrastructure failures are, it just needs to know how many exist in that city instance and then remember to tick down a list as it generates actual failures you spot until it matches an approximation of how much degradation the system should have faced throughout the Cataclysm. The same as it doesn’t need to know where the water treatment plant, or the groundwater pumping stations are, it just needs to know “this city has a pumping station, remember to put it somewhere in this city” and then remember to generate it somewhere in the area considered part of a municipal grid, given priority over other sitemaps.

Doing this with vehicles sounds like a nightmare. You’d have to add all sorts of special casing for parts you can’t remove and preventing adding parts, and a whole host of other issues. The major benefit of it would be that vehicles exist on the overmap, which would help to overcome some of the reality bubble issues.

A way to avoid all that, would be to make the controls and infrastructure objects furniture/terrain, and the regions they affect could be something like the overmap_zone system I’m (slowly) working on.

Also, another problem I see is that some of these infrastructure buildings would have to be large scale buildings to be realistic, and they would have to be generated during overmap creation, which means that the city would have to know where they were. Another way to illustrate this, whenever you start a new game, it creates an overmap that already knows exactly what every building is going to be. There’s not currently a mechanism for it to say “oh this city needs a pumping station, we’ll add one here”. There would have to be added some system to look at the cities and determine if they need a pumping station/power plant/etc.

There’s a far more fundamental problem here, which is that the genre itself precludes all of this. Restoring utilities to an entire city, or even a small town is explicitly outside the realm of what’s possible with the resources you have available to you. The absolute limit would be establishing utilities for a tiny survivor settlement.

Implementation wise, vehicles don’t simplify things in the slightest. They don’t adress the core problem with power transmission, which is that a power grid could reach outside the reality bubble.

That’s why you don’t have it run inside the reality bubble. The presence of the “junction box” vehicle part makes it send a status report to a process that runs all the time, outside the reality bubble. Basically, if the vehicle has the Power Junction flag, then it’s vehicle status is updated in real-time to the process, but when it’s out of the bubble, it runs on whatever status. Then the system runs an approximation for what’s happening outside the reality bubble based on what status the city had at generation. So when a city generates it has a degree of degradation that says how much the system just drains resources at the start and slowly ticks down. The generation is synchronized with the degradation so when you explore, you’ll eventually come up to the system problems, like downed wires, destroyed hydrants, etc. When resources are drained, a bit of math determines how much the vehicle’s resources should be drained and sets the values when the vehicle is reloaded. Should the Junction-box ever be destroyed then it can never be repaired. Under no circumstance should the player be able to move or create their own Junctions. They exist as a static access to a municipal grid.

You won’t really have the ability to fully repair the systems, it’s more like how you see people in movies and games reroute old systems. Imagine in Fallout, there were lots of back up generators and the like that survivors used. It’s basically like that, the system is shut off down the way, but you can turn parts of it on, but in doing so, you lose some of the resource based on the degradation in the system. You can patch the degradation but you’ll never have the fuel resources necessary to completely restore all the service, just reroute it to your base. It’s just that the level of degradation in Cataclysm isn’t as bad as in Fallout. Systems should still have levels of functionality and in an increasingly wireless world, it’s not that unlikely to believe that an enterprising technical wizard with no threat of legal repercussion wouldn’t slice out his/her piece of the spoils. You have the control to conserve resources but not all of the wirelessly operated lights, shutters, and other municipal systems are likely to be completely destroyed, it just doesn’t make any sense. Especially in a world where right-wing authoritarianism has pushed gov’t expenditures in domestic spying through the roof. It’s not surprising to believe that selective blackouts were common when municipal resources were needed. Total municipal control was considered a cost-saving measure among hard proponents of austerity programs. It was a smokescreen to to upgrade the system specifically to reroute systems away from the poor. The poorer districts would face gov’t sanctioned rolling utility black/brownouts as power, clean water, and prime network access is rerouted to the wealthy and influential. Greywater recycling became common as bottled water stocks rose through the roof. Home water recycling become much more common as water quality degraded along with air-quality. All the tech and money, but no sense to realize it was all for nothing. It’s no surprise everything went to hell when it did. The general level of malaise among the populace is probably the reason why there was so little preparation. Like a fruit rotting from the inside out the wealthy shone above the decay underneath and when the collapse came there was little strength for any effort to fight it, not in earnest anyway.

And I agree with you, Kevin, “Restoring utilities to an entire city, or even a small town is explicitly outside the realm of what’s possible with the resources you have available to you.” The idea is that you aren’t restoring them, you’re fixing the bleeding in the system to restore key parts that you feel you have the resources to manage, essentially to restore power to a survivor settlement, carved out of a city block or so. There’s no power plants, only back up generators and whatever you can cobble together and add to a junction box. Hacking up all the solar cars you find and making a makeshift solar array feeding into a power junction would allow you to turn on lights around the city as you need, but if you were to run them all you’d waste too much power. People were huddled off to die in shelters and become part of the hordes but there’s nothing to suggest that even though the brains behind the automated surveillance state that existed disappeared, that all the toys of that state did with it. Automated streetlights, water supplies, wireless network coverage etc, were all implemented under the promise of aiding humanity, turned to a tool of oppression and avarice, and now it’s a puzzle for the technical minded survivor to exploit. At least, until the batteries run out, anyway…

EDIT: As for trying to move the junction box by adding other parts to it, that’s fine, just make the junctions weigh far more than the engines could ever pull or for anything to turn it, somewhere approaching half the maximum value of float seems appropriate :wink: Another solution is to make it so the boxes are static terrain and vehicles are built over it with an interface part that has to be placed over the junction point.

multiprocessing
no, so incredibly no.

I haven’t really familiarized myself with the code, but if you drop the connection to the vehicle code, couldn’t you attach “grid status” to overmap tiles and do a little logic on them outside of the reality bubble? You’d have to store the total power in/power out when the tile was unloaded, of course, and some detail about connections to adjacent tiles, generator fuel, etc, but that doesn’t sound unmanageable. It also doesn’t sound trivial, of course - we’re talking about a significant new feature implementation. But it would also allow you to set up a little generator in your base to power a fridge or charge storage batteries while you’re away.

You can already do this (in experimental atleast, I haven’t played stable in ages so I don’t recall), you just need controls, a frame, an engine, an alternator, a gas tank, a battery, and a minifridge, it won’t function outside of the reality bubble, but it works fast enough that I’ve never had an issue with timing.

As for the idea itself, it sounds good written down but there’s already some slowdown issues regarding hordes and large cities so some optimization would need to happen first.
You make it sound plausible, Hague, but I imagine it’d happen after Z-levels at best, and will definitely take a huge amount of work from somebody who really wants it to happen.

I guess I didn’t finish my thought. With the assumption that the most you’re going to do is wire up a tiny settlement, it starts bringing into question the wisdom of having the code set up to wire up whole cities so that you can establish a power grid across a tiny part of it.

What I’d prefer to do is just assume that buildings are wired up via underground ductwork, and internally the walls are wired, but there’s simply no power being supplied. Then you define some reasonable amount of time and skill-intensive work to rig up the wiring for local power generation, which in reality is creating the wiring stuff behind the scenes. as Vanigo points out, we do have an overmap to handle this kind of thing, but as he also points out, it’s going to take a good bit of work to actually make it happen.

[quote=“Kevin Granade, post:10, topic:6631”]I guess I didn’t finish my thought. With the assumption that the most you’re going to do is wire up a tiny settlement, it starts bringing into question the wisdom of having the code set up to wire up whole cities so that you can establish a power grid across a tiny part of it.[/quote]How different would they really be, though? Not sure why there would be a lot of difference between wiring two overmap tiles together and wiring up twenty, from a development standpoint. And it would let you watch the grid go from “unstable” to “totally dead” over the course of the first couple game days - incidentally making milk not totally pointless, since it’d be in a working fridge for a while.

Eventually the idea is to get the whole system to be something you can manipulate, at least, the parts of it that aren’t broken. Where exactly do Cop Bots come from? Can you “genocide” all the cop bots in the system? Can you replace the system with repaired and reprogrammed cop bots? Is it worth it to generate a whole system to do all of these things? Sure. The idea being that there needs to be a means of self-defense and exploration that technical minded players can use to manipulate instead of direct hands-on aggression. The ability to reopen network and power junctions slowly gives you access to the keys of a dead technical wonderland. Open store shutters, sewer hatches, sprinkler systems, fire suppression, street lights, cameras are all examples of pieces of infrastructure that players could access and use to their advantage. Lure a zombie horde into spillway and hack the system to open a floodgate that will sweep the horde away.

They can also provide challenges. The player might need to gain access to an drone ferry to reach an isolated island with a lab on it but the ferry is stuck on the other side, fueled but unable to receive instructions. The player would have to re-enable a drone-controlling radio tower, provide it with a power source, and then access the municipal system to have it bring the ferry back from the island for you to ride on it. Swing and lift-bridges could be opened or closed to block off incoming hordes. Disable pedestrian safety controls on drone municipal service vehicles so they activate and roll right over groups of zombies until they fall apart :smiley:

By tying in a municipal power system with automated systems the player can hack, they are granted a limited supply of new technical options they can use to fight zombies. They’ll have lots of choices on how to use these systems but they can’t do everything at once. There’s simply not enough resources to keep everything running. Turn on things when you need them; turn them off when they’re a waste of resources. If you decide you want a hot shower tonight, you may be giving up the ability to open a metal shutter in the mall. Another layer of difficulty could be added in that automated city systems that exist in higher density cities are likely to be more complicated or have better security systems and require higher computer skill than normal to hack.

How different would they really be, though? Not sure why there would be a lot of difference between wiring two overmap tiles together and wiring up twenty, from a development standpoint. And it would let you watch the grid go from “unstable” to “totally dead” over the course of the first couple game days - incidentally making milk not totally pointless, since it’d be in a working fridge for a while.[/quote]
The code to support a working power grid would be effectively the same.
The code to generate a city or town scale inactive power grid like Hague is proposing would be a pretty big chunk of code, and almost completely wasted effort. There are also other comments in there about restoring other utilities that are also problematic.

This is precisely the problem, this is not a valid goal for this setting or for this game. Stated another way, it’s pretty much all going to be broken, the only leg up existing infrastructure is going to give you is scavenging the raw materials such as electrical cabling, transformers, insulators, etc. so there’s no need to model it as a working system in the first place.

What does that have to do with utilities? Yes I would like to make copbots and such a minifaction with limited reach and resources, but that’s because it is something that is de facto still operating and I’d like to make it make sense.
Spoilered for excessive verbosity.

[quote=“Hague, post:12, topic:6631”]Sure. The idea being that there needs to be a means of self-defense and exploration that technical minded players can use to manipulate instead of direct hands-on aggression. The ability to reopen network and power junctions slowly gives you access to the keys of a dead technical wonderland. Open store shutters, sewer hatches, sprinkler systems, fire suppression, street lights, cameras are all examples of pieces of infrastructure that players could access and use to their advantage. Lure a zombie horde into spillway and hack the system to open a floodgate that will sweep the horde away.

They can also provide challenges. The player might need to gain access to an drone ferry to reach an isolated island with a lab on it but the ferry is stuck on the other side, fueled but unable to receive instructions. The player would have to re-enable a drone-controlling radio tower, provide it with a power source, and then access the municipal system to have it bring the ferry back from the island for you to ride on it. Swing and lift-bridges could be opened or closed to block off incoming hordes. Disable pedestrian safety controls on drone municipal service vehicles so they activate and roll right over groups of zombies until they fall apart :smiley:

By tying in a municipal power system with automated systems the player can hack, they are granted a limited supply of new technical options they can use to fight zombies. They’ll have lots of choices on how to use these systems but they can’t do everything at once. There’s simply not enough resources to keep everything running. Turn on things when you need them; turn them off when they’re a waste of resources. If you decide you want a hot shower tonight, you may be giving up the ability to open a metal shutter in the mall. Another layer of difficulty could be added in that automated city systems that exist in higher density cities are likely to be more complicated or have better security systems and require higher computer skill than normal to hack.[/quote]

You want to simulate an entire municipal power grid, and security systems, and sewage management, and communications infrastructure, etc… just so the player can occasionally interact with it.
We don’t have unlimited time to put into this, what you’re proposing is a massive undertaking with almost negligible payoff.

On a more general note, it’s pretty pointless to propose sweeping infrastructural changes if you don’t know how the game works. Propose features you want in the game, but unless you’re capable of implementing it yourself, trying to figure out how to implement said features is going to be a waste of time.

I’d argue that all sweeping change suggestions are just that. If the presence of any of these comments leads to stabilizing any other ideas other developers are working on then it’s not a waste at all. If you disagree, you can feel free to moderate the board to your liking to prevent such things but all my posts are following the listed design outline otherwise, I’m sorry that I might come across as demanding. I’m not trying to push anyone to do anything. I just post what comes to mind for the sake of discussion. If anyone can brainstorm or adapt anything from something I’ve written then that’s not pointless at all.

However, I’m gonna have to flatly disagree with the premise that the infrastructure degradation would already be as bad say it should be. How long exactly has the Cataclysm been happening? If it’s only been a year, two years, then it’s likely that only a small portion of the infrastructure has begun to fail. The way it’s described in character creation insinuates that it hasn’t really been that long at all. So I’m not really certain how you believe that everything is as broken as you say it is. If anything the nature of the cataclysm will likely have preserved more of the infrastructure than the common doomsday scenarios of nuclear weapons and radiation. Take the previously mentioned cop bots, those are a municipal service. They need a power source and a central operating point. If they still operate at full capacity that means that other infrastructure should also work like fire-fighter robots, street sweeping drones, municipal delivery drone vehicles, mail delivery drones, etc. It’s better to unify the entire thing under one abstract entity. Does the city have enough cop bots, drones, whatever, left to send? Does it even have power to operate the switching board? Can the player shut off all the cop bots by cutting the back up power? Questions that can be answered by making in-world interfaces to an abstraction of all the canon existing infrastructure. It’s silly to believe that the police bots,ATM networks, vending machines, gas pumps, bank vault computers, pharmacy computers, still function but nothing else does. There’s plenty of other stuff to disagree on, but I don’t think this is one of them, Kevin.

I suppose it should really come down to a question of what you believe a player should be doing. When I play, I make an effort to clear out the streets around my base of garbage, torn clothes, etc. Now, there’s really no mechanical benefit to me doing this. I do it just because I want to. There’s gonna be players that want to see how far they can make their efforts go, and creating a system that can operate at an expansive scale but then have it operate at micro-trending-to-macro scale, you’ll see a development curve that players that love immersion and development will really love. You put in the ruins of the scale, something the player can appreciate that they can investigate and see what was lost, and get a scope of what their efforts could never truly achieve. Explore and discover exactly what they can salvage and what they need to simply excise. Hell, if something like this were added, you’d know there’d be people making video series on how large a functional city they could keep running. Why? Who cares? There’s no end game in this game anyhow. Let the player try and fail. That’s kinda the point.

Well, what Kevin is saying you’re wasting your time thinking of these great ideas, but they aren’t going to be prevalent until waaaaay down the line.

I can accept that. I like writing and game design so it’s not really a waste of time for me either way. Any good writer and game designer has to take criticism and deal with it. Discussion is a healthy mental exercise as long as no one is flaming it’s all good :smiley:

Touche Hague… Touche.

Good point, “a waste of time” is definitely uncalled for. Sorry about that.
I have my project management hat too firmly screwed onto my head :wink: