Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - qsdoosix

#1
Ideas / Re: Plan tool, hunting, tasking, farming
November 21, 2017, 01:43:00 AM
1) Agreed, yes it can be done by mod, but why not add it in main game?
2) Like Banished? Sounds cool.
3)AI improvement is hard to do and easy to mess things up. Partly agree.
4)I think darkness debuff is already exist in game. And mess around will decrease your workers happiness.
5)Don't understand, do you mean when you assign a job to a pawn, he/she will do the similar job around?
#2
Ideas / Re: Consider add "Alarm level" for the colony
November 21, 2017, 01:33:15 AM
Quote from: BadgeAddict on November 17, 2017, 07:26:05 AM
I think the hardest part for any of this would be implementation.
Well, as i said, it mostly reuses the existing zone and outfit system. But it somehow stores more than 1 outfit and zone settings, and when you change the alarm level, your pawns are set to the bounded zone and outfit. So it should not be too hard to implement.
#3
Quote from: BadgeAddict on November 15, 2017, 07:42:38 AM
Oh, nice thanks.

Yeah, the big problem I usually have is with stone-cutters, which is why I typically don't have any storage areas which allow stone blocks, that way when they finish cutting the blocks, they drop them at the closest available spot. I'm not sure how you necessarily get away from that, because I don't want them wasting the time moving to put them down.

Speaking to your immediate suggestion, I think maybe the best way to do what you want would be to set something (or a clickable option) that says, when you have more than 1 storage area of the same type, deliver 1, 2, 1, 2, 1, 2, or 1, 2, 3, 1, 2, 3. (Essentially a round-clock rotation of which storage area things are being delivered to.)

So first thing first, stone (not brick) are not like normal things (weapons or body or other resources) that will be hauled as soon as possible, it only be hauled when needed (like you are placing a farm on it, or you are ordered to move it). So it is fine to have an place to store the stones for the stone cutter, and in the settings for the cutting stone job (and any other job like cooking or crafting) you can set them to left the output on the ground after finish.

And by the second suggestion, I think "haul to where has less" is better than "haul half to here and haul another half to there", because if you fight mostly happens on one side of your base, then the two armory is still unbalanced
#4
Quote from: BadgeAddict on November 15, 2017, 07:01:09 AM
If I may add an additional item on top of this. Could you allow some storage to only be fed by other storage. What I mean is, say you have a mass storage for "all the things", and a few minor storage areas for specific items. This would allow the minor storage areas to only be supplied from the main storage and vice versa.

If you just want a massive storage stores everything and some small one stores some specify items, you can do like this
make a massive storage with low priority stores everything, then build small storage, set it to only store what you want, then you give it high priority.I think what i said in case 2 is exactly what you want. A massive storage stores most of the ammo, then a small buffer (1 or 2 blocks) stores ammo needed by the turret few step away. The pawns will fill the buffer, then put all the ammo produced after to the main storage, and if the buffer is empty ,they go carry ammo from the main storage.
#5
Ideas / Re: Lightning Rods
November 15, 2017, 12:17:45 AM
Quote from: Doomtim on November 14, 2017, 01:43:30 PM
So while I've been playing, I've noticed lightning can be incredibly annoying, sure it adds a challenge, but what if we can find a way to harness lightning with a posing challenge as well?

I have solar panels as my source of electricity, and noticed when lightning strikes, the bars on them are instantly full for half a second. this led me to the idea that if we managed to craft lightning rods, it would be a way to charge your batteries while raining, and/or at night time while storming. The challenge of this would be if you chose to use a lightning rod for additional power, there will be more chances of power surges in your conduits which could lead to fires still, but you would at least gain something from lightning instead of simply dreading it.

I figure the cost of building these lightning rods would be Gold, a component or two, and steel.  Since these rods wouldn't cover the entire map, it would only cover a certain small radius, but it would still be pricey enough to put building one into consideration instead of just building a crap ton everywhere.

I like the idea to build lighting rods to protect your base. But NO,you can't storage lighting directly to your batteries. It will just blow them up by the ultra high voltage. Lighting strike make the solar panel full because it provide 100% light, not because it is charging something.
#6
Ideas / Hauling behaviour Suggestion "Balance" and "Keep"
November 15, 2017, 12:12:26 AM
I believe i'm not the only one have these problems

Case 1
You built 2 ammo storage around your base.
All your pawns will deliver ammo to one storage, and you get one empty and one full ammo storage in the end.
Is that possible, to add a behavior that the pawns can "balance" the items in the storage, so we can get 2 half full ammo storage? It doesn't need to be exactly same, but roughly same. I think an idea is the pawn will move new produced item to the storage with less same type of things (given two storage has same priority and both accepts that item) but not moving existing things

Case 2
You made a small storage as a buffer for your turret/workbench built away from your main storage.
But whenever one of your pawns takes a few things from the buffer, the others will fill it. Carrying very little things though half of the map.
Is that possible to have an option to set "Keep there between x-y" so the pawns will wait until the amount in the storage is less than x, then fill it to y, so the hauling will be more efficient (because the pawns will carry full load for each run).

#7
Ideas / Re: Multi-Threading Without Multi-Threading
November 13, 2017, 08:56:14 PM
Quote from: Nightinggale on November 13, 2017, 08:36:21 PM
Quote from: qsdoosix on November 13, 2017, 08:15:06 PMYes because this has most "space" can be worked on.
You may have 20 workbenches or more in mid/late game. And when working on a workbench, pawns are mostly standing still and don't need to do path finding.
But you will have over 200 blocks need to be cleaned and 100 items need to be hauled at same time. And you need find a path for each pawn doing it each time.
That's not a worst case scenario. Try using Fluffy's worktab. You can open each job category to see each job. The game will go through the jobs (not job categories) right to left (assuming same priority) and once it finds something to do, it will stop searching, meaning everything to the right will be ignored. The colonist then completes the task before searching again.

The worst case scenario is when there is nothing to do and it goes through everything. Not only is this by far the slowest, it also mean the colonist is without a job and will search again next tick. It's possible that there is a number of ticks between each search, but they are very frequent.

Getting your colony to work with a bunch of workbenches is not really an issue from a search for work perspective if they can find something to do and/or you disable crafting in the work menu for the colonists you don't want to work there.

That's why i'm suggesting a queue of works.
Search all works for every long time (like a in game hour) and push them to different queue by job type (like, crafting, planting, .etc), this can be done desynchronized, in other word, this can be done by another CPU thread. Then when a pawn needs a work, they just go to the queue with highest priority, pull one and then check if fits the requirement (like skill or accessibility), if it fits, then go for it, if doesn't, push this to a temporary queue and pull another one, until reach the end of queue or find one, then push the temporary queue back to the work queue.

By doing so you reuse the search result made before, and somehow keeps the manner that a work "created" earlier gets done earlier.
#8
Ideas / Consider add "Alarm level" for the colony
November 13, 2017, 08:45:13 PM
After 3rd time someone goes outside the wall to do something during a raid and get killed , i think an "alarm level" is very important for the game.

The idea is this
there can be 3 ( or more ) alarm level, green (which is "nothing"), yellow (low risk), red (high risk), by setting the alarm level, some outfit and activity zone setting will be override. For example, normally we allow our pawns go anywhere, but by rising a yellow (or red) alarm, they will be limited to a "safe zone" predefined by player. And if the red alarm is raised, then all the pawns will try to find armor and weapon if they don't have one, based on what they are more good at (ranged or melee) And rally together. And all these change will be discard when the alarm is reset.

In fact, it somehow like to be "change the zone restriction and outfit in one click". But it is really useful to manage a colony with 11 pawns.
#9
Ideas / Re: Multi-Threading Without Multi-Threading
November 13, 2017, 08:15:06 PM
Quote from: Nightinggale on November 13, 2017, 04:03:24 PM
Quote from: qsdoosix on November 12, 2017, 03:09:51 AMThe idea come to my mind is
make a queue for every job (hauling, crafting, etc., basically a queue for each work in work tab), updated and do the slow stuff (checking every possible work and push them in the related queue) in a relatively long period. (say,update every in game hour, even it takes a full second to do that you still can get a smooth game).And when a pawn needs a job, he just pull the first one in the queue with highest priority. Which takes almost no time.
My impression based on experience with turning jobs on and off in the work tab is that hauling and cleaning are the most demanding tasks for the CPU when there is nothing to do.

Take for instance cleaning. It cleans in the home zone (There is a mod to make a cleaning zone. That would be nice in vanilla). Imagine having a counter for the amount of dirt in the home zone. This means the first thing to check when trying to see if cleaning is possible is to return not possible if counter is 0. A counter for dirt inside each room (which is also in the cleaning zone) would be nice because particularly with mods the cleaner might not be able to get to all the dirt, which will really makes the game lag. If the counter is not 0, check counters for the rooms the pawn can access. Particularly stuff like making prisoners clean with the prison labor mod makes the game lag big time when the prison is clean.

A counter for items to be hauled could be good too. If you somehow end up with items, which the pawns tries to haul to stockpiles, but the items aren't accessible, then the game will lag big time.

Yes because this has most "space" can be worked on.
You may have 20 workbenches or more in mid/late game. And when working on a workbench, pawns are mostly standing still and don't need to do path finding.
But you will have over 200 blocks need to be cleaned and 100 items need to be hauled at same time. And you need find a path for each pawn doing it each time.

So it is very obvious which one will take more time to do.

As i don't know how the code is implemented, I just guessing on what i noticed.
The game gets much slower (I can keep smooth with 3x speed when alone, but when trader comes it become laggy) when trader group comes. Even your pawns are not going to interact with them. Also as i'm using a zombieland mod, 120 zombies didn't slow my game at all. And animals doesn't seems have too many effect (i had a save with about 30 animals still running smooth)

So my guess is, the game is searching for all possible work, including talking to all possible others, for every pawns in your base (kinda, active). When the population in your base increases, the calculation needed increase as n square.
#10
Ideas / Re: training/teaching facilities and schedule
November 12, 2017, 06:29:57 PM
Quote from: mistomaxo on November 12, 2017, 01:35:14 PM
it makes sense that one character could instruct another, but is a "teaching desk" really the best solution? if anything, allowing pawns to observe each other at work at the actual work benches would probably be better. the teacher would take a workspeed penalty to represent showing the student the steps, and the student would share enhanced skillgain up to half the value of the teacher's skill

that still leaves certain activities that have no related benches, though.
well, i'm trying to make it a more realistic studying.
For those have no idea about the job, go to the class and learn some basic concepts before you go do some real stuff.
And one of the point is, this don't need to change any current game behavior, so it should not break compatibility for mods.
#11
Ideas / Re: training/teaching facilities and schedule
November 12, 2017, 11:54:55 AM
Quote from: Chestergazi on November 12, 2017, 04:34:03 AM
Well it can be done and it need to be set as Lower Priority
Because in much times you colonist always being idle so it will be best to teach them.
But it can take a ''bit'' of time to make this...
yes but who will be the teacher then.
I think study/teaching should be added as a schedule, if you add teaching schedule for someone, then you can assign study schedule for others at the moment the teacher is teaching. They will try to find a room with table and chair (like dinning room, or there can be a separate thing called "Teaching desk")
And reading, it can be set as a job just like what you do in work bench, you can set a bookshelf to "only" provide certain type of book (e.g. crafting) and if someone assigned reading and don't reach the max crafting skill the bookshelf can provide, then he/she will go read the book
#12
Ideas / training/teaching facilities and schedule
November 12, 2017, 03:45:16 AM
Is that possible to add some devices like study desk, so that a pawn can learn some stuff from studying.
The idea come to my mind is
1.teacher/student, who will teach the student in a fast way, until the student reaches 2/3 of teacher's skill level. And by teaching, teacher can prevent his skill from decay for amount of time. Teacher will teach all skill he has at same time. You need to add teaching/student to the schedule in managing.

2.Book, which can let some pawn improve himself in a slow way, but the good is it doesn't need a pawn with high skill. By reading you can improve a pawn to a certain level of skill, related with the quality of the bookshelf he is using. A bookshelf can be used by 3 pawns at same time, and by reading you can only improve 1 skill at a time.

3.Practice, for any type of work, it can be assigned as "practice" it will produce less but also cost less (for harvesting, it will produce less resource, and for crafting it will not produce anything, but by recycling your pawn will only use 1/10 amount of materials needed).
#13
Ideas / Re: Multi-Threading Without Multi-Threading
November 12, 2017, 03:09:51 AM
As a student in computer science. I think there can be someway to keep the efficiency and reduce the lag.
Now, the game is lag in late game because it is checking every work for every pawn. So if you have x pawn and have y possible works to do, you need to check x*y times. And when you have many workbenches and many pawns it will cost a lot of calculations to do so.

The idea come to my mind is
make a queue for every job (hauling, crafting, etc., basically a queue for each work in work tab), updated and do the slow stuff (checking every possible work and push them in the related queue) in a relatively long period. (say,update every in game hour, even it takes a full second to do that you still can get a smooth game).And when a pawn needs a job, he just pull the first one in the queue with highest priority. Which takes almost no time.

And for emergency situation, we need be able to specify a work to be "urgent" so next pawn available will go for it. Or directly order some one to do it immediately.
Also this can work for personal needs like food/entertainment/sleep, all these stats should be consider as a type of job with priority. For example, set 5 queues for personal need with priority 0(which is highest) 1 2 3 4. if someone have more than 1/3 hunger, then the "work" eating will be put to the queue with priority 4, so he will not look for food unless he has nothing to do. And with the hunger decreases, it will be move to higher priority queue on update, until he is so hungry that he will ignore all other job queue (even it has a priority 1, is still lower than priority 0) and seek for food.

In general.
Before, we do the calculation to look for a job x*y times for each update.
now we do it y times for each game hour and x times for each update.


Moderator's edit (Calahan) - Not sure why you made a new post that was a quote of this post, and then edited the new post to add an extra paragraph to the quote of this post. Which is a bizarre choice, especially when you could have chosen the far far simpler option of just editing this post to add the extra paragraph. Anyway, I've taken the extra paragraph from the quote, added it here, and deleted the quote post.

emm, i think i am using the modify option in the thread and not making a new one. maybe some misop. Sorry for the inconvinence
#14
Ideas / Re: Colony gathering to eat dinner together
November 12, 2017, 02:47:21 AM
I like this idea,
Also i hope this will greatly reduce the chance they eat at field
#15
Ideas / Re: An option to "Stop" broken pawns
November 03, 2017, 05:21:51 PM
Quote from: Limdood on November 03, 2017, 02:53:05 PM
Quote from: qsdoosix on November 03, 2017, 02:17:29 PM
In real life, if your friend/child/work partner get crazy for the pressure, what will you do normally? For me i will go have some rest with him (either go watch movies or play games), not just let him walk around and stop eating/drinking/playing/sleeping.
which isn't a mental break at all...thats low mood.  Which works EXACTLY as you've described....low mood?  cheer them up.  Ignore low mood?  something worse happens.

QuoteIf he goes so crazy and start to attack others, you can call police and arrest him, and after he was clammed down will he become hostile against you because you arrested him? I don't think so. Because he should know you are doing this for his good.
thats a REALLY big assumption there.  If it was for his own good, you'd never have allowed him to get to that point in the first place.  Instead, the friend SNAPPED...you let it happen, then you locked him up for it...sounds like there might be some hard feelings there...

QuoteSo that's the point.
If someone really goes crazy and attack others, he should know he is doing something wrong and if somebody tries to arrest him, it is for his own good. So he should not be hostile.
no.  He should not "be reasonable" or understand things when he goes crazy
Quote(He may fight back when you tries to bring him to the jail or medbed, but after he recovers he should return friendly)
This already happens.  any mental break pawn who is downed or successfully arrested automatically ends the mental break and "returns them to friendly."  I disagree completely that they shouldn't resent you for it.
QuoteAlso , if someone is roaming around , we should be able to let his friend to go comfort him, and take care of him (e.g give him food and bring him to bed, or bring him to nearest playroom)
They aren't just roaming around...they're roaming around INCREDIBLY depressed, or so utterly fed up with what is going on that they won't even eat or sleep, or on an insane firestarting spree.  That isn't the kind of behavior that can be ended by a "hey dude, why don't you sit inside?" - they already have no regard for their safety at that point.

No, low mood happens every day for us. But get crazy, breaking pans or screaming out loud in real life is what i will call crazy, is not low mood, it is break. And if someone goes crazy like that, what shouldn't i lock him in some room so he won't hurt himself or others? Will he be hostile to others after he has clammed down because they locked him? He can be not reasonable when he is broken, but after he is recovered, he should know what happened and know why he is locked.