[A14] Colony Manager

Started by Fluffy (l2032), November 18, 2015, 06:20:55 PM

Previous topic - Next topic

werwerwsx

Looking for help with this mod and the Mod Variety Pack, every time I add this mod the game works fine. Until I attempt to load the world, whereupon it gives me a black screen and constant scrolling of a "squad ai brain" error that repeats endlessly.
You've stated that Manager works fine with MVP, so I'm hoping this is an easy fix.
What I've tried:

  • Restart
  • Reinstalling Rimworld, MVP, and ColMan
  • Creating a new world and new colony from scratch
  • Moving ColMan to different parts of the mod load list
I'm using:

  • RW_Manager-A12d.2b
  • ModVarietyPack-1.18
  • RimWorldAlpha12dWin

This is an example of the error from someone who had a similar issue:
http://puu.sh/kwzhW/2e5b322578.png

Grogfeld

Actually I had the same error today and I couldn't do anything. The same issue with the same configuration and same mods. 

Fluffy (l2032)

Quote from: werwerwsx on December 02, 2015, 07:02:41 PM
Looking for help with this mod and the Mod Variety Pack, every time I add this mod the game works fine. Until I attempt to load the world, whereupon it gives me a black screen and constant scrolling of a "squad ai brain" error that repeats endlessly.
You've stated that Manager works fine with MVP, so I'm hoping this is an easy fix.
What I've tried:

  • Restart
  • Reinstalling Rimworld, MVP, and ColMan
  • Creating a new world and new colony from scratch
  • Moving ColMan to different parts of the mod load list
I'm using:

  • RW_Manager-A12d.2b
  • ModVarietyPack-1.18
  • RimWorldAlpha12dWin

This is an example of the error from someone who had a similar issue:
http://puu.sh/kwzhW/2e5b322578.png
I've just tried with my own install;

  • updated both MVP and CM to their respective latest builds
  • started a new world, then game
  • no errors.

I can't do much more at this point as I have to work (paying the bills and such). In general I find that squadbrain errors (or any extremely spammy errors) are normally just a symptom of something gone wrong earlier in the loading process. It's that first error I'm mostly interested in, so screengrabs won't do.

If the error persists, please attach a full output_log.txt to your post. (<rw_dir>/RimWorld<version>_Data/output_log.txt). If this log is massive (and it well might be), you could open it up with a text editor and only send me the first page or two.
Quote from: willow512 on December 02, 2015, 07:23:23 AM
Quote from: Fluffy (l2032) on December 01, 2015, 07:00:24 PM
Aight, the livestock tab is done - until I get some feedback on it at least. Enjoy the new release! Several bugs and feature requests have also made it into this release, see the github commit notes for details.
Thanks :) I'll check it out and put up some feedback.. Though I have decimated my chicken infestation. And surprisingly ended up with a pile of food that will easily get me through this winter and the next.. (Chicks apparently eat a lot)
I'm going to reply in-line, and I'm tired so I'm going to reply with my first reactions. A more thoughtful response will come later. Always great to have feedback, so please don't be discouraged either way :).

Also.. I was thinking some more on the overview tab. Right now it doesn't really simplify life, or actually give us an overview of our colony's job status. The problem I think is that especially with mods like MVP or hardcore there is so much going on that the visible part of the active job list is really tiny compared to the amount of data available.I can't account for everything modpacks will throw at me. What I try to do is work with vanilla systems so ti works with modpacks that follow the rules. Modpacks that add a shitton of stuff (HCSK more so than MVP) will be a problem, but I'm inclined to say not my problem. Also by offering the information pretty much in the same way the job tab already does it doesn't add valueIMO it offers different information. History, worker activity. Also, it lists all tab's jobs, so it accounts for a larger context.. And the data it does offer doesn't really show what we need to get that "at a glance" overview that an overview tab should aim for.



How about a complete redesign?
How about no? I just finished V2 for crying out loud :P

  • Enumerate all resources that can be produced by one of your existing workbenches.Thats what the production tab available basically does.
  • Per resource it shows current value readonly, min and max values in editable format.This is not a spreadsheet.
  • Preferrably set up so no scrollbars are required..impossible, never know how many modded resources we're going to get, or what resolution to expect.
  • Show resources color coded and grouped by workbench, or item typewhat is item type?
  • Next to every resource is a small button which shows in a popup dialog your already existing job parameter UI, which allows the player to fine tune jobs as they can do in your currently existing setup.What about having multiple jobs per resource as you can do now?
  • This popup might offer a list of stockpiles with checkboxes behind them that allow us to set stockpiles per resource, instead of the now existing vanilla resources per stockpile.Interesting idea.
The manager code uses this data to check all resources: everything below minimum will generate a job that will grow the amount back to maximum and then completely remove the job until current falls below minimum again. Jobs for resources above max will be terminated or changed to lead up to max. This adds a level of automation I'm not sure I'm entirely comfortable with. May sound hypocritic as the whole mod is basically about reducing micromanagement, but reducing the whole resource production chain to a single spreadsheet seems a bit much.

Random thoughts

  • This has the benefit that it shows available inventory and status in one simple screen, it allows the player to intuitively set desired values without much clicking, just open manager enter some values, done... Whilst still allowing fine tuning.Doesn't show other tab's jobs though, hunting + logging might be factored in, but ranching and other upcoming tab(s)?
  • Color coding would show deficits in red. Sufficient amounts in green and possibly gray out items which cannot be produced due to insufficient amounts of the required resources.
  • The popup dialog shows required resources, these could also be color coded to show if they exist in sufficient quantities.  So if something requires 10 glass and you need to make 10 of that item to get to your maximum value, it will show in regular white if you have 100 glass, in red if you have insufficient resources to get to max.
  • The min/max solution would behave differently from the current target solution in that it doesn't trigger a job every time someone removes one item from the stack. It will produce batches allowing colonists to ignore the item for periods of time while it's hovering above minimum. I believe this will result in colonists sticking to jobs more consistently instead of running all over the place losing time in transit. And it more closely mimics real world inventory management.I might actually change the default behaviour to something more akin to this, you're not the first to comment on min-max ranges instead of a single threshold.
  • I think you should not be afraid to remove or change jobs manually created by the player if they fit the parameters. Though you could of course make this optional.

At first I thought this would be a lot of work and debated myself whether I should even suggest it. But in the basis it's removing components from the overview tab and adding the enumeration. Then in the manager code it's using data available in this tab to create and remove jobs. So maybe it's not so much work after all.. You know the code and should be the judge of that, not me.It's a bit more work than just that, but I might look into the feasibility of adding a separate 'details' tab or something that does a resource readout listing current jobs and storage settings, with some shortcuts for adding jobs etc.

willow512

It's your call fluffy. Obviously!

I switched to hardcore from mvp a few days ago, just to check it out. And found myself drowning in jobs to manage with no clear overview. (Though I do like the mod I think some awesome decisions were made) In the end I was making and eyeballing lots of smaller storage piles. And just started managing items from workbenches because it was quicker.

That's when the idea came up.

I'll answer some of your specific follow up questions. But I get that you're not in the mood to redo the whole thing once again just because some hippie had an idea ;) So please don't consider this as an argument. But rather as me politely clarifying the remaining points.

Quote from: willow512 on December 02, 2015, 07:23:23 AM
Thats what the production tab available basically does.
It does, but it does so in a list with big items in a small space which means scroll bars are going to appear before the first in game day has passed. Overview tabs should maximize insight. I feel more benefit can be had from this tab.

Quote from: willow512 on December 02, 2015, 07:23:23 AM
This is not a spreadsheet.
I agree, it's a plug-in for a game.
Then again, real world inventory management usually uses some form of spreadsheet.

Analogies might be unavoidable. ;)

Quote from: willow512 on December 02, 2015, 07:23:23 AM
impossible, never know how many modded resources we're going to get, or what resolution to expect.
True, but this is why I used the word preferably. I'm not saying you should guarantee, but maybe aiming for it is an idea..

Quote from: willow512 on December 02, 2015, 07:23:23 AM
what is item type?
I mean food, or raw materials. Or Medicine.

Quote from: willow512 on December 02, 2015, 07:23:23 AM
What about having multiple jobs per resource as you can do now?
Two answers to that, first of all, the overview tab I proposed doesn't eliminate the jobs tab you have now so your current functionality isn't affected. And second, and more critical... How many multiple jobs per resource are truly out there now? I have never found cause to use this feature. I'm sure use cases exist beyond the academical, but in general it's okay for a rarely used feature to require a bit more clicking to set up...

Quote from: willow512 on December 02, 2015, 07:23:23 AM
This adds a level of automation I'm not sure I'm entirely comfortable with. May sound hypocritic as the whole mod is basically about reducing micromanagement, but reducing the whole resource production chain to a single spreadsheet seems a bit much.
Yes, you could see it as offering too much automation, but in the end the user is still managing every bit of the chain. You're simply offering the tool to do it transparent and quickly.

If your idea of a game is clicking buttons and navigating UI then yes, you're taking away from the game with this. If the idea is making decisions and seeing how they pan out, then I think you're not taking away much. I'm certainly not proposing an autopilot...

Quote from: willow512 on December 02, 2015, 07:23:23 AM
Doesn't show other tab's jobs though, hunting + logging might be factored in, but ranching and other upcoming tab(s)?
True... Maybe there are ways to accomplish that?

Also, right now they're buried in the overview tab among 20 to 30 other jobs.  I find I tend to click on the logging/hunting tabs to quickly find those jobs.

I know you're aiming for vanilla. That's your prerogative. Hardcore however offers your mod in it's install, I think a lot of your users may end up coming from there. What that means for your mod is your decision. But it is a thought to take into account.

Quote from: willow512 on December 02, 2015, 07:23:23 AM
It's a bit more work than just that, but I might look into the feasibility of adding a separate 'details' tab or something that does a resource readout listing current jobs and storage settings, with some shortcuts for adding jobs etc.
It's your call Fluffy. I think you're awesome for even seriously considering my message, even if you make no changes to your mod accordingly. I get that you just made a V2, and that these are big changes that might warrant calling it a V3... So please don't feel any obligations, certainly not towards me.

Like I said, I debated if I should post it in the first place. I decided it was better for you to shoot the idea down than for me to go sit in your head and decide for you that you'd not like it anyway...

Peace ! :)

Grogfeld

#49
Ok I think I know when this bug is triggered on my machine. But I don't know why and what causes it to happen.
Now, I remember the same situation from yesterday. I've played for an hour or so and something happened with sound. Some strange ticks  and cracks. I do remember that sometimes I've been loosing sound in Rimworld and the only way to restore it was to restart game. So I've save, as usually, and exit game. After restarting this strange SquadBrainTick bug occurred.
It never happened before and it only occurred with this mod so maaaybe it's related with your recently changes in mod? Especially that when I've opened livestock tab for the first time it made some weird looped marking of text box but I thought that it was something with my keyboard.

I've attached output log so maybe you could find something in it but it was created after I restarted the game so probably it's not worth it to look. I will hunt for fresh one now, and if this bug pop up I save the game and post my result.

Also for the clarification I'm using Windows 10, administrator rights, Save data folder is in Game folder and game starts with arguments -savedatafolder SaveData. This is a crappy laptop with Intel HD Graphic but I had never problems with it.

Ok that's for now. Lets hunt!

Edit: I've forgot to mention it but after this NoBrainer bug happens every save related to this colony is corrupted, even autosaves.

[attachment deleted due to age]

Fluffy (l2032)

That output log was actually quite revealing.

The errors seem to start with pawn state icons, which is throwing several null reference errors. Shortly after, the manager throws an error while loading.

I'm not sure I trust the order in which these things happen from the debug log, it might be one of three things:
1 - the weird sound thing has corrupted your game state, in which case all saves will fail to load?
2 - PSI is doing something weird.
3 - Manager is doing something weird.

I'l appreciate a copy of your savegame so I can try loading it myself. I've not noticed any errors while loading savegames before, so that leads me to suggest the entire save is somehow corrupted. That said, I can probably save the offending bit in a more efficient way, so I might just give it some love anyway to see if that fixes things.

Grogfeld

OK, here are links to my save games, both are with this bug.

https://mega.nz/#!tNx33AaQ!Ig64oFHlBkOalbz0LxfZOk9vtyBrl5C-2H0U0WyLpes
https://mega.nz/#!UAIgXZYQ!Zvwe-s8WZWiM2qgsvduok86XxMAkobTtSz9pobu_vc0

and the World:
https://mega.nz/#!JA4QDa4L!JIqZCaqltrxLOJbL7NeJJTxsLjb9aqEHYA1tDnyvAHU

I've started new colony, save it and then load it. Everything was fine but if I loaded those two saves bug returns. So probably it's related to my sound issue, but why it corrupts all of my saves, even those that ware created before this bug happened?

Maybe Windows 10 is messing up but i don't have any problems with vanilla game and other mods.

I'll bet that if you load my saves everything will be fine :D

werwerwsx

I would like to add that I have been experiencing the same loss of sound (only happened once, but it's what led me to discover the bug) and the looped button press in the livestock menu.

I also think I've found the cause, creating a task in the livestock menu and then reloading Rimworld creates the bug. I created a fresh install, new world, new colony, and then before my colonists even touched down, I created a task within the livestock menu, saved and exited my game. Upon reloading it creates the squad brain tick error. To test I created a new world and created one of every task sans livestock, it loaded fine.

Something interesting of note, creating a fresh install with only ColMon installed and only creating a livestock task still creates the same crash, however it throws a different error, I've attached the output log. However I believe that this is the nail in the coffin here, creating a livestock task corrupts your save. I'll attach the save/world as well:
World: https://www.dropbox.com/s/koaey346fel6uyk/Bunda.rww?dl=0
Save: https://www.dropbox.com/s/0ajahmyrpkturnl/Colony1.rws?dl=0
Hopefully all this helps to find the cause and fix it.
On a whim, I'll add my ColMan jar as well, perhaps somethings corrupted there?
https://www.dropbox.com/s/1svygkqzvzmekcw/RW_Manager-A12d.2b.zip?dl=0

[attachment deleted due to age]

Fluffy (l2032)

Thanks for all the bug reports guys! Turns out I made a silly mistake. The good news is that your savegames aren't borked, the latest github release will load current saves just fine (i hope :P). I'm really quite sorry, I should have tested this more thoroughly - it happened in all saves, not even weird circumstances...

For those interested; I forgot to initialize a variable in the constructor. The trigger class for livestock jobs was populated from the job class, but when the scribe loads the trigger the field wasn't initialized, and then errored.

werwerwsx

Quote from: Fluffy (l2032) on December 03, 2015, 03:26:11 PM
Thanks for all the bug reports guys! Turns out I made a silly mistake. The good news is that your savegames aren't borked, the latest github release will load current saves just fine (i hope :P). I'm really quite sorry, I should have tested this more thoroughly - it happened in all saves, not even weird circumstances...

For those interested; I forgot to initialize a variable in the constructor. The trigger class for livestock jobs was populated from the job class, but when the scribe loads the trigger the field wasn't initialized, and then errored.

Thank you Fluffy! Don't worry about it too much, just glad it's fixed.

Grogfeld

Now that's a good information! Thanks Fluffy! It's great that everything ended well and our colonies are safe :D

Fluffy (l2032)

Sneak peek of some work in progress;


I'm going for something like this;

http://www.factorioforums.com/wiki/index.php?title=Electricity/Electric_network_infoscreen, from factorio, which, incidentally, is a game worth trying out!

willow512

The initial screenshot certainly looks awesome :)

Nanao-kun

#58
I'm not quite sure how hunting management is supposed to work. There's a herd of deer right next to my colony, but nobody's bothering to do anything after I set up the hunting bill. Is it because they're separated into "Bucks" and "Ewe"?

EDIT: Nevermind, it started working.

Fluffy (l2032)

Those would be the genders, and should have no influence.

First off, the entire manager system only works if you have a manager's desk built, (under production, and for some reason medical in ModVarietyPack), and a pawn with the managing skill actually does the job. You can check if the job has recently been checked by a manager pawn by looking at the timestamp on the job - it lists the time since a pawn looked at it. If it's over 3 hours, a pawn should normally do the job again, assign new targets, etc. If nothing happens - something is wrong, either you have too many jobs, no table, no worker, or your workers are occupied doing other things.

Second, the actual job only gets triggered when the amount of meat in your stockpiles and in fresh corpses is lower than the threshold. If you have no meat, but the job is still inactive (will show an icon on the job), either increase the threshold, or make sure corpses are being hauled and butchered correctly.

Finally, the manager tries to be semi-smart about what to hunt; it takes expected meat amount from butchery (can never be sure because it's affected by pawn skill) and divides that by the distance from the manager table to the target * 2, giving a crude indicator of cost/benefit. It then designates animals with the highest ratio, often passing over small critters close by to hunt bigger game further away, of course within the other boundaries set in the job (target species, hunting area).