Bases and NPC crafting

My plan was for something simplistic to avoid causing unnecessary lagg. I have basically pulled a bunch of information into the base class for easy reference partially as a speed increase at the cost of memory but also to simplify things for me as I’m not completely familiar with the code’s structure. The side effect of doing so however, is that I have a completely separate object containing the base’s stats. Thus, I can run simple use/productivity vs. time calculations and make changes accordingly upon the player’s return.

Implementing reality bubbles is still far in the future though.

So I got distracted by a new internship and playing the surge (defiantly have addictive personality trait) and haven’t touched cdda at all for the last 2 weeks. I feel like I promised a bunch but am not delivering…

Anyways, i’m just about to get beck to work. As i left it the actual designation of a base is almost done and should be up as a PR for review within a day or two. There is one glaring problem already which is that I thinking submap = map tile. As a result, right now it will only actually work if your base fits into a submap. Also, I forgot about solid rock so it’s breaks in basements as well. (should be easy fix)

Here’s what the first PR will(should) look like:

[ol][li]Build basic command desk construction to create base. (basically a big desk)[/li]
[li]Base object is created and passed reference to submap so it can see its data[list]
[li]Base object contains additional grid overlay for flags unique to base area. (same as for field, traps, etc.)[/li]
[li]Finds outer wall of structure where desk is placed and follows it around marking the outline of the base. Marks first non-inside tile in case of gap in wall. (bounding issues)[/li]
[li]fills in the base by marking everything inside the outline[/li]
[li]Removes spawn points from submap so no hulks will spawn inside your base[/li]
[/list][/li]
[li]Edit base rules (settings) by examining command desk[/li]
[li]Build bulletin board next to command desk to view base information.[/li]
[li]New options added to “write on object” menu allowing you to designate furniture as “yours” or “communal” (working on “NO ACCESS” for doors)
[/li][li]Upgrade command desk with computer(s) for more options like:[/li]
[li]Replace bulletin board with an information screen to view more detailed info.[/li][/ol]

There are some other things I’ve added but not really implemented yet; base NPC is just a header file and the other base components just sit there and look pretty; PA system- summon/instruct NPCs from command instead of finding them, Coms System - Communicate with/allow for outposts, security controls- manage the currently non-existent base security/defense systems and finally, higher level Command Desks- levels up base. I’m also planning a “Networked” upgrade which will let you “wire” your base and spread duplicates of the base components around your base.

Fantastic, thrilled to see this project hasn’t been forgotten!

No just generally slow moving and kinda in a life slump at the moment.

Ugh. Totally hear that – Hang in there, etc. ( :wink: ) but in the mean time, thank you for your efforts and creative input on this. Looking forward to what comes of it.

Sounds too good to be real. Will you make also a social interaction with NPC (Daily talk, telling a stories, etc) and relationships like friendship and rivalry (without killing eachother)?

Yeah, regardless of how long we have to wait, this would be an amazing addition to the game. I can’t wait to see what happens. Keep at it man (When you have the time, of course)!

Second that, this looks fantastic, really hope everything pushes through to see the light of day!

So my computer has crashed out… I was expecting it to happen sometime but I thought I had another couple months before it happened.

Last December, My computer got a bad virus on a trip and I absolutely needed to get a bunch of work done. With no secondary device for internet and no backup tools I ended up manually disabling/deleting a whole bunch of stuff. I got it working and finished my work but never got around to actually fixing the computer since it worked (mostly) but it has been slowly degrading since. I guess it finally decided to call it quits.

I’m getting it back up and running but its put me behind with other stuff. I’m not giving up on this project but please don’t be wanting on me. Sorry.

EDIT: I should have all of my work saved elsewhere but, I was using a Visual studio license from my old school that I am not interested in recovering so it might take some time to dig it out. (Never liked vs to many things make it too complicated to do simple things but the windows builds were for it.) I’m putting in a Linux partition and will be working from that. Worst comes to worst, redoing it is simply a matter of retyping it.

Not PRing anything and not even having it on github is a big risk. You can lose entire project easily if you have no backup, no history, nothing. I lost many big changes to editor crashes.
PRing (with “[WiP][CR]” tags) even something that doesn’t work would get you hints on how to get it to work. Trying to figure out everything by yourself will not only slow you down, it will prevent you from learning many things.

I found it. I wasn’t worried about having lost it as everything thing is backed up to 4 different locations; the problem was I didn’t know where VS put the git stuff.

I’m super excited for this mod. Its what I’ve really been wanting from C:DDA.

When I started playing video games back in the 90’s their was a game about Japanese warfare. the first 10 levels where you as a samurai fighting other samurai. Each level was harder with more enemy’s. Every one died in one hit. Including you. Then you took over an area and now you were in charge of a group of samurai. After conquering the surrounding area (about 15 levels) you then began your fight to conquer all of japan and become Emperor. Games with this pattern are so much more interesting to me. I could always see how easy it would be for C:DDA to have this but it wasn’t their. Your mod feels like its going to fill in the gap. Thank you for reaching, to create this.

I forgot to announce it here but, I PRed the start. It’s still just a framework and not ready to be added yet but it’s up for review.

https://github.com/CleverRaven/Cataclysm-DDA/pull/22311

Is this still being worked on?

Same with Johnsmith. Curious if the project is still open. Changes are still being made to your branch of the code, so maybe?

The suggestions you have proposed in the PR are what I believe is exactly what this game needs to move on to the “next level” so-to-speak. I hope it is still ongoing, as it would be a shame to lose such an incredible idea.

Agree, those ideas are very important.

NPCs, Bases and Factions should probably be the focus of development after whatever goal there is for 0.D is reached.

The problem is, to my understanding:

1: NPCs aren’t simple
2: The Devs* have no interest in pursuing NPCs.

*Are there actually any more Devs than Kevin? If not, that’s kind of a problem IMO, because he’s just one guy.

The repository shows 16 unique contributors in the last 150 commits; since roughly 1 January 2018.

$ git shortlog -150 | grep "):"
Alexey Mostovoy (2):
Angela Graves (13):
Anton Burmistrov (6):
BevapDin (63):
BorkBorkGoesTheCode (6):
Brett Dong (5):
Broken-Admin (1):
Cyrano7 (3):
Graywolfe813 (1):
Kevin Granade (24):
Night-Pryanik (12):
Noctifer-de-Mortem (3):
OzoneH3 (1):
Soyweiser (4):
ZhilkinSerg (5):
jason hoang (1):

There were roughly 180 unique contributors in 2017 as best I can figure. It’s not all just Kevin. I think the problem with wanting improvements on NPCs, Bases, and Factions is all that code is hard to understand, and before you can make much progress on bases, for instance, you’ll want to fix mapgen, which is also code that is hard to understand.

1 Like

Anyone not banned can fork the repository, change the code, and make a PR, but only members with merge rights can add code to the main branch. That has created a bottleneck.