What do you guys think of a Car Selling Stand ?
Car selling stand would be like parking lot but with more destroyed cars and business books?
Thanks ! I’ll check it out while I learn Git. IRC is addictive though. ^^
Downscaled the fishing depot to a river-based one - problem averted ? Boats are still ingame, right ? I’d love them to be able to work like vehicles (craft myself a floating base !), but obviously limited only to river tiles.
PS: Added prisons and the raider stronghold.
Car selling stand ? Sounds like a fun location to me… Can I work on adding it ?
PPS: The loot /salvage / dissasemble / enemies table is getting “rather large” (822 cells to fill, 1500+ projected entries)
Is there a reason why the game doesn’t generate Ocean? I mean is it on purpose or not yet implemented?
I think it’s because the game is set in New England and nowhere else, and the addition of oceans would mean that we can cross them (which would mean the devs would need to design even more varied architecture for every single part of the world :P, I think) and leave the state or it would be just an infinite mass of water.
I was thinking of just the ocean, like a source of salt water for example, pretty usefull for conservation.
What I’m trying to say is that if we add it and try to “limit” it, Minecraft-style, then it would be just a big salt lake and not an ocean. Or if you want to make a real-looking one, then a huge portion of the game map will be lost to the huge masses of salt water. Also, it would be a big game breaker when you can conserve your food with salt water indefinitely without any danger whatsoever.
You’ve got a point here - if an ocean were to be added, limiting it would take a lot of fun out of having it “in”. That said, isn’t the map pre-generated only partially, with additional fragments being generated as you explore (not sure of this - please correct me if I’m assuming something out of the blue - I might have misunderstood a post here or there) ?
Any danger whatsoever ? Oh no, we will not stand for it ! Were it to be implemented, I’d see it as an end-game area, populated with the most unearthly and deadly monstrosities one could imagine… ^^
PS: Added the first bits of loot for facilities - your input will be greatly appreciated !
Well, as far as I experienced in my playthroughs, the swamps are the only other salt-water source in the game (other than the water you can find in bottles throughout the houses), and they are kinda dangerous if not careful, so I just assumed that the oceans should be dangerous too.
And yeah, the map is generated on the fly. Man, if you knew all those times when I forgot to save the game after scouting an area filled with goodies…
Quick answer post: yeah, map’s generated as needed.
-
large scale terrain visible on the map screen: happens at worldgen, and when you need another “block” of map. Quickest way to see this is to start a new world, then get and use a map item like a roadmap, tourist guide, military operations map, etc. There’ll be a hit of processing because the game needs to generate additional overmaps to plot out all the info you’ve revealed.
-
smaller scale processing (what EXACTLY is in that lab? is there a map_special like a helicrash there?) happens when you bring the map tile into the reality bubble. Anything that’s never been within about a four-map-tile radius of the PC (possibly a PC’s vehicle, if the PC jumped or was ejected) is therefore still in flux.
I’d like to see heavy urban centers where the buildings are tightly packed against each other and normal type zombies are shoulder to shoulder in groups on the streets
like now the world gen every building is like
||…||…||…||…||
but it would be cool if it was like
|||||…||__||_|||
in the middle core of large cities.
Yea, what we have now mostly resembles a “town generator”, I’d really like to have a “city generator” too that makes really dense downtown type areas.
Maybe have tall wooden fences as a blocker, but climbable. But solid. Pretty much an alternate chainlink fence.
Went over the character limit in my last post, so I’m dedicating this one to the Quests section:
4. Quests
[spoiler]
Seeing as generating “meta-game” is a lot of calculations (based on KA101’s post regarding a power grid), most of the development in terms of settlements / facilities should be handled through PC quests. That said, a lot of the things I’m postulating make for decent handles for quests that are not centred around settlements nor facilities – will give a few examples once everything else is ready.
Obviously, some thought should be put into what quests could “pop up” for the PC (let’s say that a one-house settlement shouldn’t offer a ‘bring us 1000 iron ore’ quest), however, this is basically game-play optimisation. Ok, but shouldn’t there be something to be tuning in the first place ? Indeed, so let me go over the basic types of quests to go with the new system (keeping them rather dry for clarity):[/spoiler]
4.1 Settlement-related quests
[spoiler]
General info:
[spoiler]
Settlements may vary in size, however, only the largest should have a degree of self-sufficiency (although they might be running low on some non-essential goods). Therefore, they will need to acquire the necessary resources by sending out parties. When the PC strolls into a settlement (provided, it’s not a guns-blazing type of stroll), he/she is seen as an opportunity – why risk some of “our guys”, when a stranger can do the job dirt cheap ?
This could be implemented by a sequence of quests, but once the sequence ends, the settlement would become “just another trading post” to the player, to name one of the issues involved. Alternatively, different types of quests should be available from various citizens of the settlement (quartermaster -> scavenging / loot runs; senior guard -> scouting / extermination runs; leader -> facility / outpost quests etc.), with new ones being generated upon completion / failure of previously issued quests.
I’m not sure how this would work in terms of coding, but generating quests should keep things interesting, particularly if we could have them shift with the development of the settlement and actions of the PC. Another question is whether reputation for each settlement encountered by the PC could be tracked, or would it be too much memory / calculations to be worth it ?[/spoiler]
4.1.1. Quartermaster quests - scavenging
[spoiler]
General info:
The Quartermaster (or whatever he would be called in various settlements) will be typically found in some sort of storage area. Apart from stacks of goods and offering the opportunity to trade, he should be overseeing a bunch of supply quests, functioning as the interface for the scavenger quests.
Keeping to the “exploit the stranger” approach, the PC will be given quests that are not immediately urgent, but which will eventually “time out”, reflecting the fact that the settlement will have to dispatch its forces to get the stuff they are running too low on. Would it be possible to have rewards scale, depending on how fast the quest was accomplished (incentive for the PC to lead a travelling-supply-base lifestyle) ?
Quests:
[spoiler]
a. Not even Bob can build things from thin air !
[spoiler]
Win condition: Deposit a sufficient amount of the requested materials (Rocks / Nails / Two by fours / Heavy sticks / Logs / Bricks / Pipes / Rebar) in the supply crate, before the settlement’s forces are dispatched to solve the problem (5-7 days).
Fail condition: Time runs out / PC leaves the area (15+ overmap tiles away from the settlement ?).[/spoiler]
b. Citizens are running around naked !
[spoiler]
Win condition: Deposit textiles (clothes / rags / leather patches / fur pelts) in the supply crate, before the settlement’s forces are dispatched to solve the problem (3-5 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
c. Hungry, hungry people, eh ?
[spoiler]
Win condition: Deposit food (non-rotten, non-tainted) in the supply crate, before the settlement’s forces are dispatched to solve the problem (1-2 days).
Alternate path: Visit another settlement that has a feud with the quest giver and turn the quest around into a ‘Poison them !’ - fill the crate with rotten / tainted food.
Alternate path2: Talk the Quartermaster / Cook into “Serving man !” by providing them with a few choice dishes…
Fail condition: Time runs out / PC leaves the area / Wrong type of food is supplied.[/spoiler]
d. Low on cans…
[spoiler]
Win condition: Deposit food (non-perishable – cans, dehydrated foods, etc.) in the supply crate, before the settlement’s forces are dispatched to solve the problem (3-4 days).
Fail condition: Time runs out / PC leaves the area / Wrong type of food is supplied.[/spoiler]
e. Pop goes the hammer !
[spoiler]
Win condition: Deposit tools (no power tools allowed) in the supply crate, before the settlement’s forces are dispatched to solve the problem (2-3 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
f. Crafty blacksmith ?
[spoiler]
Win condition: Deposit salvaged metal (scrap metal / chunk of steel / lump of steel / sheet metal) in the supply crate, before the settlement’s forces are dispatched to solve the problem (4-6 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
g. Gear head’s gearboxes aren’t gearing up…
[spoiler]
Win condition: Deposit requested vehicle parts (engines / batteries / wheels / seats / controls / gasoline tanks) in the supply crate, before the settlement’s forces are dispatched to solve the problem (6-10 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
h. Lights out !
[spoiler]
Win condition: Deposit batteries / solar panels in the supply crate, before the settlement’s forces are dispatched to solve the problem (2-5 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
i. Treading on a thread…
[spoiler]
Win condition: Deposit stringy material (sinews / plant fibres/ thread) in the supply crate, before the settlement’s forces are dispatched to solve the problem (4-8 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
j. The age of glass ?
[spoiler]
Win condition: Deposit materials for glass blowing (broken glass / jars / bottles / cups) in the supply crate before the settlement runs out of resources (3-6 days).
Fail condition: Time runs out. PC leaves the area.[/spoiler]
k. Quack, the duct tape duck !
[spoiler]
Win condition: Deposit duct tape in the supply crate before the settlement tinker / mechanic figures out how to make them (3-4 days).
Fail condition: Time runs out. PC leaves the area.[/spoiler][/spoiler][/spoiler]
4.1.2. Quartermaster quests - hauling
[spoiler]
General info:
While scavenging can be a fun pastime, any survivor does a lot of it and may eventually consider a different scale to doing things. The idea is to scavenge, or rather, to haul whole pieces of furniture. Nobody wants you to be dragging that fridge all the way to the settlement by yourself, so why don’t you take advantage of that truck you were driving a moment ago ?
New vehicle part:
[spoiler]
Loading bay – added onto cargo spaces, serves as a container for any piece of one-tile “furniture”, allowing things, that would normally need to be deconstructed, to be transported.
Justification:
Simplifies base construction – instead of dragging the furniture to your base one piece at a time or building it from scratch, “bulk” amounts may be transported. Can be used in quests, particularly for stripping facilities of machinery. Can also serve looting purposes – transport of any usable and non-craftable furniture.[/spoiler]
These quests would utilise an “unloading area” in the Quartermaster’s area, where all the required furniture should be hauled to.
Quests:
[spoiler]
a. Kitchen kitten
[spoiler]
Win condition: Unload kitchen appliances (Refridgerator / Oven / Wood stove) before the settlement’s forces are dispatched to solve the problem (10-15 days).
Fail condition: Time runs out / PC leaves the area (25+ overmap tiles away from the settlement ?).[/spoiler]
b. Sitting Bull Standing Up ?
[spoiler]
Win condition: Unload comfortable furniture (Chair / Armchair / Sofa) before the settlement’s forces are dispatched to solve the problem (8-12 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
c. Readers unrest !
[spoiler]
Win condition: Unload storage furniture (Dresser / Book case / Locker / Metal rack) before the settlement’s forces are dispatched to solve the problem (6-9 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
d. For the children !
[spoiler]
Win condition: Unload entertainment systems (Arcade machines) before the settlement’s forces are dispatched to solve the problem (17-22 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
e. For more children !
[spoiler]
Win condition: Unload operating tables and surgical arrays before the settlement’s forces are dispatched to solve the problem (20-25 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler][/spoiler][/spoiler]
4.1.3. Quartermaster quests - crafting
[spoiler]
General info:
This should work similar to the scavenging quests, but instead of being able to find (most) stuff, the PC has to craft the required goods themselves. Unless the settlement is large, it shouldn’t have many people that can do medium-higher level crafting and may want to employ the PC for such ventures. That said, bigger settlements, having dedicated crafters should mainly issue scavenging / hauling quests, with the occasional crafting job being seen as a result of “our mechanics are too busy to deal with this stuff”.
Quests:
[spoiler]
a. Blow them away ! Silently.
[spoiler]
Win condition: Deposit pneumatic weaponry (assault rifle / bolt driver / other ?) in the supply crate before the settlement tinker / mechanic figures out how to make them (2-3 days).
Fail condition: Time runs out. PC leaves the area.[/spoiler]
b. Enforce reinforced glass !
[spoiler]
Win condition: Deposit reinforced glass (panes / sheets) in the supply crate before all the windows are broken (4-5 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
c. Lights on ?
[spoiler]
Win condition: Deposit rechargeable battery mods / recharging stations in the supply crate before the settlement runs out of batteries (7-10 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
d. Reflect on wires…
[spoiler]
Win condition: Deposit wire / barbed wire in the supply crate before the settlement tinker / mechanic finishes his current job (2-3 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
e. What’s your 10-20 ?
[spoiler]
Win condition: Deposit radios / two-way radios in the supply crate before the settlement’s guards are all lost in the wilderness (4-6 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
f. Clearing the area
[spoiler]
Win condition: Deposit chainsaws / jackhammers in the supply crate before the settlement tinker / mechanic figures out how to make them (6-8 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
g. Well, well, well, aren’t we building a well ?
[spoiler]
Win condition: Deposit mechanical pumps / pickaxes in the supply crate before the settlement tinker / mechanic figures out how to make them (7-10 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler]
h. Flooding …with light ?
Win condition: Deposit lighting elements (flashlights / floodlights / atomic nightlights) in the supply crate before the settlement goes dark (4-5 days).
Fail condition: Time runs out / PC leaves the area.[/spoiler][/spoiler]
4.1.4 Senior guard quests
[spoiler]
General info:
Senior guard / person responsible for the defence of the settlement should either be found on the perimeter walls or in some kind of headquarters - even if only a tent or so.
Quests:
[spoiler]
a. Patrol the perimeter (tiered)
[spoiler]
Win condition: Visit every overmap tile surrounding the settlement / Visit next perimeter.
Fail condition: Time runs out (2-4 days) / PC leaves the area.[/spoiler]
b. Scout the surroundings
[spoiler]
Win condition: Visit every overmap landmark tile in a radius of 5-10 overmap tiles from the settlement. Reward for each landmark scouted.
Fail condition: PC leaves the area.[/spoiler]
c. Exterminate infestation
[spoiler]
Win condition: Kill the requested number of creatures in the vicinity of the settlement.
Fail condition: PC leaves the area.[/spoiler]
d. Purge the invaders
[spoiler]
Win condition: Kill all nearby creatures affiliated with a nearby subprime “invader” (Fungal tower / Triffid heart / etc.) and destroy all spawning locations in the overmap tile.
Fail condition: Time runs out / Settlement is overrun / PC leaves the area.[/spoiler]
e. Escort specialists
[spoiler]
Win condition: Drive a spawned vehicle to several nearby locations while keeping its crew safe from harm.
Fail condition: Specialists killed / PC abandons the vehicle.[/spoiler]
f. Poison them !
[spoiler]
Win condition: Despoil the food supply of a rival settlement by introducing rotten / tainted consumables into the stockpile.
Fail condition: Time runs out (1-2 days) / PC leaves the area / Wrong type of food is supplied.[/spoiler]
g. Break the siege !
[spoiler]
Win condition: Travel to an outpost under attack by ferals and help the crew deal with several waves of attackers.
Fail condition: Outpost is overrun / PC leaves the area.[/spoiler]
h. Bogies sighted
[spoiler]
Win condition: Destroy a group of enemies that threatens the settlement before they get near it.
Fail condition: Monsters reach settlement tile / PC leaves the area.[/spoiler][/spoiler][/spoiler]
4.1.5 Doctor / healer quests
[spoiler]
General info:
Depending on the size of the settlement, the local doc might be just a survivor with a penchant for hygiene or a former member of the medical personnel. Regardless of background, he oversees the medical supplies of the settlement and is in charge of handling emergencies. As such, they will trade in medicine – particularly buying the non-craftable stuff and selling the craftable items. Liited healing should also be available (maybe with some chances of the treatment going wrong if the conditions aren’t too good ?) for a price.
In terms of interactions with the PC, the healer oversees the “medicine cabinet” – a drop off point for looting quests – and the “(makeshift) operating table” – serving as an interface for medical assistance quests. The latter should serve as an incentive to have the PC develop their first aid skill – with increasing skill, more complex types of surgery can be attempted for better rewards.
Quests:
[spoiler]
a. Banding for aid
[spoiler]
Win condition: Deposit bandages / bags cotton balls / first aid kids in the medicine cabinet before the settlement starts cauterizing wounds.
Fail condition: Time runs out / PC leaves the area.[/spoiler]
b. Like a pill !
[spoiler]
Win condition: Deposit the pills of life (Vitamins / Aspirin / Prozac / Ambien / Iodine tablets / Codeine / Tramadol / Adderall / Thorazine / Antifungal drugs) in the medicine cabinet before the influenza, common cold, unhappiness and company take down the settlement.
Fail condition: Time runs out / PC leaves the area.[/spoiler]
c. Bring me to life ?
[spoiler]
Win condition: Deposit stimulants (Caffeine pills / Nicotine gums / Caffeinated chewing gums / Chewing tobaccos ) in the medicine cabinet before the settlements falls asleep. Eternally.
Fail condition: Time runs out / PC leaves the area.[/spoiler]
d. Smells like tentacles
[spoiler]
Win condition: Deposit purifiers / purifier serums in the medicine cabinet before the settlement pops one tentacle too many.
Fail condition: Time runs out / PC leaves the area.[/spoiler]
e. Just a scratch
[spoiler]
Win condition: Treat a scratched up patient before he gets infected.
Fail condition: Time runs out / PC leaves the area.[/spoiler]
f. Senses tingling ?
[spoiler]
Win condition: Treat a patient with an infected wound before it kills him.
Fail condition: Time runs out / PC leaves the area.[/spoiler]
g. They just wanted a hug !
[spoiler]
Win condition: Save a patient mauled by monsters before he bleeds out to death.
Fail condition: Time runs out / PC leaves the area.[/spoiler]
h. The future is now
[spoiler]
Win condition: Implant a patient with a spawned CBM before he sticks the kit up the wrong orifice.
Fail condition: Time runs out / PC leaves the area.[/spoiler][/spoiler]
[/spoiler][/spoiler]
Run out of space again - quests continued in the post at the bottom of the page.
A lot of interesting stuff Aenye and probably a great adiction to Cataclysm, probably needs a Topic of it’s own.
Thanks for the detailed answer (outside the quote for clarity) ! Being the nasty, double-posting person that I am, I would like to ask you a few more questions:
-
Let’s say we have a ladnmark that spans multiple tiles, such as a mall. How is it handled ? Does it have any dedicated monster groups ? Can there be several possible “mall” layouts, of which one is chosen upon mapgen ? Could a set of enemies (zombies / robots / etc.) be selected and spawned upon mapgen in the same fashion ?
-
Does the game actually register / remember which overmap tiles you have visited (rather than rememering only the map it generated and discarding information about the PC’s activiy) ?
-
Is there any possibility of attaching descriptions to landmarks ? For example: “m” to go to overmap mode, position the cursor over any landmark tile (let’s use the mall) and hit a key to have a brief description of the place pop up ? Could different messages be displayed, based on how close did the PC get to it ?
-
I’ve read that creatures (AFAIR, dogs were discussed) can’t board PC-driven vehicles without getting hit by them. Would this be the same case for furniture ? Would it even be possible to have furniture “attach” to a car and “detach” from it intact ?
Sorry for bombing you with so many of them - the inner workings of Cata (and their potential elaboration) are still rather enigmatic to me…
Thanks ! Indeed, my mind seems to be spewing out new ideas for Cata stuff almost constantly. Most of it fits in place quite well, but the problem with my work is that a lot of stuff may be impossible in terms of coding… I hope you will like the things I’ve been writing for the last few days. Also, polishing up the facility quests system.
Ayene, you are not severly lacking in the idea department.
I really do love your ideas and points. As a point, I’ll try my hand at coding my stuff and yours when I get my computer (on the tenth, baby!).
Thanks for the detailed answer (outside the quote for clarity) ! Being the nasty, double-posting person that I am, I would like to ask you a few more questions:
-
Let’s say we have a ladnmark that spans multiple tiles, such as a mall. How is it handled ? Does it have any dedicated monster groups ? Can there be several possible “mall” layouts, of which one is chosen upon mapgen ? Could a set of enemies (zombies / robots / etc.) be selected and spawned upon mapgen in the same fashion ?
-
Does the game actually register / remember which overmap tiles you have visited (rather than rememering only the map it generated and discarding information about the PC’s activiy) ?
-
Is there any possibility of attaching descriptions to landmarks ? For example: “m” to go to overmap mode, position the cursor over any landmark tile (let’s use the mall) and hit a key to have a brief description of the place pop up ? Could different messages be displayed, based on how close did the PC get to it ?
-
I’ve read that creatures (AFAIR, dogs were discussed) can’t board PC-driven vehicles without getting hit by them. Would this be the same case for furniture ? Would it even be possible to have furniture “attach” to a car and “detach” from it intact ?
Sorry for bombing you with so many of them - the inner workings of Cata (and their potential elaboration) are still rather enigmatic to me…
Thanks ! Indeed, my mind seems to be spewing out new ideas for Cata stuff almost constantly. Most of it fits in place quite well, but the problem with my work is that a lot of stuff may be impossible in terms of coding… I hope you will like the things I’ve been writing for the last few days. Also, polishing up the facility quests system. ;-)[/quote]
Someone tell 12doze12 that this IS Aenye’s topic of its own.
- Differential between old/new buildings. IIRC, all such multitile locations are more or less square, though they may not look it on the map. Old-style is hard-coded C++ in mapgen, and can be randomized to a certain extent: Mansions, megastores, and hospitals are this old-school system. Each tile can be one of several designs, and picked once the tile enters the reality bubble.
Example: Back when I first started out, it wasn’t unknown for bad RNG luck to produce a Mansion consisting entirely of variously sized dining rooms. We’ve fixed that nowadays, but it took some doing.
Nowadays, Acidia (with some programmer backup, I forget who ATM but want to guess vache?, my apologies) has gotten multitile buildings handled in JSON. Malls, Necropolis, and the refugee center are the main examples. Biggest problem here is that the designer has to specify out each and every tile involved in the building, as well as gear/critter spawns, and so far as I know there’s no randomization support. Malls will all have the same layout, and I can recognize Necropolis on the map without any problem.
So that’s how it’s handled. As such, there are dedicated critter spawns, to my knowledge multiple layouts would require that the building be hard-coded rather than JSON, but I think we’ve got critter spawns JSON’d enough that one could finagle some randomization. Just don’t ask me for an example right now as I’ve got a headache pinging in the top middle of my head and it’s not making me any happier.
-
Pretty confident that we don’t have an express “PC Was Here” flag. Having the map fully “set” accomplishes that, but with that in mind I would imagine that you could hook into the mapgen code to check if something’s been in the reality bubble. You might also check the funnel and aggie_plant code as those have outside-bubble updating functions, so depending on what you want to do, that might be a good place to start.
-
Currently there’s code to let the player custom-create notes on the map screen. I imagine your extended-descriptions might be able to use a similar function. Having it change based on sight may be tricky, but I wouldn’t call it impossible.
-
Vehicles are a big pile of Difficult. My best idea for that wold be something along the lines of giving the furniture a pseudo-component feature that would then be called in vehicle crafting: drag an armchair next to your truck and you can weld/duct-tape “armchair” to the unit, then hacksaw it back off to get a heavy, bulky “deployable armchair” item, then activate it to have the armchair again.
Obviously, that’s not an acceptable solution. If anyone’s got a better code-based solution (rather than “just throw it in a cargo space!”), please PR it.
I learned by doing. Not a great codebase for that, but we get there, and we help others on the way.
Hurray ! Thanks for the appreciation - looking forward to your work !
[quote=“KA101, post:38, topic:7085”][spoiler]1) Differential between old/new buildings. IIRC, all such multitile locations are more or less square, though they may not look it on the map. Old-style is hard-coded C++ in mapgen, and can be randomized to a certain extent: Mansions, megastores, and hospitals are this old-school system. Each tile can be one of several designs, and picked once the tile enters the reality bubble.
Example: Back when I first started out, it wasn’t unknown for bad RNG luck to produce a Mansion consisting entirely of variously sized dining rooms. We’ve fixed that nowadays, but it took some doing.
Nowadays, Acidia (with some programmer backup, I forget who ATM but want to guess vache?, my apologies) has gotten multitile buildings handled in JSON. Malls, Necropolis, and the refugee center are the main examples. Biggest problem here is that the designer has to specify out each and every tile involved in the building, as well as gear/critter spawns, and so far as I know there’s no randomization support. Malls will all have the same layout, and I can recognize Necropolis on the map without any problem.
So that’s how it’s handled. As such, there are dedicated critter spawns, to my knowledge multiple layouts would require that the building be hard-coded rather than JSON, but I think we’ve got critter spawns JSON’d enough that one could finagle some randomization. Just don’t ask me for an example right now as I’ve got a headache pinging in the top middle of my head and it’s not making me any happier.
-
Pretty confident that we don’t have an express “PC Was Here” flag. Having the map fully “set” accomplishes that, but with that in mind I would imagine that you could hook into the mapgen code to check if something’s been in the reality bubble. You might also check the funnel and aggie_plant code as those have outside-bubble updating functions, so depending on what you want to do, that might be a good place to start.
-
Currently there’s code to let the player custom-create notes on the map screen. I imagine your extended-descriptions might be able to use a similar function. Having it change based on sight may be tricky, but I wouldn’t call it impossible.
-
Vehicles are a big pile of Difficult. My best idea for that wold be something along the lines of giving the furniture a pseudo-component feature that would then be called in vehicle crafting: drag an armchair next to your truck and you can weld/duct-tape “armchair” to the unit, then hacksaw it back off to get a heavy, bulky “deployable armchair” item, then activate it to have the armchair again.
Obviously, that’s not an acceptable solution. If anyone’s got a better code-based solution (rather than “just throw it in a cargo space!”), please PR it.[/spoiler]
I learned by doing. Not a great codebase for that, but we get there, and we help others on the way.[/quote]
Thanks for the amazingly detailed reply ! I have to think it over a bit and try to fit my ideas into this frame - will post more details in the morning / tomorrow. In terms of starting to code - would adding the new items I have planned for the “system” be simple enough that I would have a chance at it ?
Updated reply:
Ad 1) Could we perhaps avoid this repetitive nature by having a number of layouts reafy, such as “mall1 / mall2 / mall3 / …”, all of which would be displayed as “mall” to the player, but effectively be distinct species of buildings ? This, however, might lead to the mapgen “spraying” the land with malls. Does it work by choosing randomly from the list of all buildings or does it check for how many of which building have been generated in the surroundings ?
The solution to this might be having the mapgen first select the class of building and afterwards choose a “species” of that building to be actually placed. While it’s easy to say, this might mean a(nother) complete overhaul of the building utility.
Ad 2) Established myself on GitHub a bit more and read up on some more tutorials - theoretically ready to dive into the code for those things. I’ll check and see whether I can understand how they work. The “was in reality bubble” flag for an overmap tile would pretty much be the perfect answer - one that could also facilitate some other fun stuff.
Ad 3) Hypothetically, it would just need to check the distance from the player to the tile. From what I understand, the reality bubble works this way, by checking whether something is within a circle with radius of 60 (?) tiles, centered around the player. One would just need to implement this “awareness” bubble into the overmap, and give it a few tiers. If we wanted to go wild, it could use 2) and check how close the PC has ever been to that place and generate the description based on that.
Ad 4) My PC can safely let go of the controls and walk around their truck, while it’s blasting down the highway, without being hit by it - how does the game handle this ?
PS: Added some more settlement-based quests and organised the post for some more clarity.
These are some really good ideas! This is absolutely the direction this game has to go, as it provides with plenty of mid and late-game content.
Now we just need someone to write the code.
Also, adding new items is really not complicated. As long as you stick to json there is really little you can do wrong. Even some simple iuse, or iexamine things are not too hard to pull off.
At the topic of notifications on the map; can’t we simply let it print an extended message upon hovering the cursor on the map-tile? I suppose we could just tell it to look for a json flag “description” and print the text there, and then obviously add descriptions to all the overmap terrains. This is a good idea completely independent from all this.
In which .cpp can I find the line that prints “lab”, or “house” or whatever?