Alpha 15 unstable branch testing feedback

Started by Tynan, August 17, 2016, 03:02:20 PM

Previous topic - Next topic

Fleurs

Quote from: pdxsean on August 21, 2016, 03:38:44 PM
I agree with what you are saying, but is there a way we can police our colonies? For example, can we destroy drugs in the incinerator? I know we can sell them to traders. Anyway I am concerned that having some sort of drug stockpile - say loot from raiders - will endanger my colonists if I keep it around even forbidden. I'd like to be able to destroy any drugs I don't want my colonists near. Since they don't deteriorate (well the ones I researched before my save crash) it's not like I can leave them out in the rain or whatever. Perhaps there could be some social conflict when an addict/chemical fascinate sees another pawn throwing drugs in the incinerator.

Just forbid the door leading to the drug room.

pdxsean

Quote from: Tynan on August 21, 2016, 03:42:15 PM
Quote from: pdxsean on August 21, 2016, 03:38:44 PM

I am concerned that having some sort of drug stockpile - say loot from raiders - will endanger my colonists if I keep it around even forbidden.

This is actually an entirely intentional mechanic that I'm balancing around. It is the downside that balances out the profits of running a drug trading operation. Having drugs all around runs the risk that someone is going to use them.

That said, I agree a way to destroy them would be good. Thanks for the suggestion.


Definitely. I think it's a great idea to have the dangers you've associated, but having some modest form of control would help, otherwise I see every colony spiraling into addiction and chaos with random raiders dropping drugs when they die. As it is, I'll have to add chemical fascination to my list of major negative traits when I am considering capturing.

pdxsean

Quote from: Fleurs on August 21, 2016, 03:46:06 PM
Just forbid the door leading to the drug room.

Yeah that is a good defense against the chemically fascinated but from my experience pawns in rages and binges will ignore forbidden doors. These are the pawns I am particularly worried about. Also it would be pretty fiddly to have to approve/deapprove the door every time new drugs came in. But yeah until Tynan tinkers with it that's pretty much my plan.

Goosedown

Noticed the drug production research dropped down to 700 from i believe 1700. That makes it a lot more practical to research, especially for tribals. Thank you for that.
Before I couldn't prioritize drugs over machining and the like. Drugs>Violence

And having a way to destroy drugs would be great, that pile of flake is just waiting for someone to binge on it and it scares me...

MikeLemmer

I think the addiction rate for joints (.1%) is too low. At that rate, it would take an average of 5-10 growing seasons, smoking all the joints produced, to get anyone dependent on marijuana. Arguments about real-life addiction rates aside, it seems too rare to be a real downside. I would suggest raising it to .5% or 1%.

Tynan

Quote from: MikeLemmer on August 21, 2016, 03:55:49 PM
I think the addiction rate for joints (.1%) is too low. At that rate, it would take an average of 5-10 growing seasons, smoking all the joints produced, to get anyone dependent on marijuana. Arguments about real-life addiction rates aside, it seems too rare to be a real downside. I would suggest raising it to .5% or 1%.

Probably right, it's a bit OP.
Tynan Sylvester - @TynanSylvester - Tynan's Blog

Tel

Heh, walked away from my desk for a bit, came back to a new version and a new bug. Got the below on autosave.

Exception while saving map: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.TaleData_Def.ExposeData () [0x0000b] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Tales\TaleDatas\TaleData_Def.cs:21
  at Verse.Scribe_Deep.LookDeep[TaleData_Def] (RimWorld.TaleData_Def& target, Boolean saveDestroyedThings, System.String label, System.Object[] ctorArgs) [0x0015a] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:58
  at Verse.Scribe_Deep.LookDeep[TaleData_Def] (RimWorld.TaleData_Def& target, System.String label, System.Object[] ctorArgs) [0x00000] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:14
  at RimWorld.Tale_SinglePawnAndDef.ExposeData () [0x00006] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Tales\Tales\Tale_SinglePawnAndDef.cs:25
  at Verse.Scribe_Deep.LookDeep[Tale] (RimWorld.Tale& target, Boolean saveDestroyedThings, System.String label, System.Object[] ctorArgs) [0x0015a] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:58
  at Verse.Scribe_Collections.LookList[Tale] (System.Collections.Generic.List`1& list, Boolean saveDestroyedThings, System.String label, LookMode lookMode, System.Object[] ctorArgs) [0x001ca] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Collections.cs:71
  at Verse.Scribe_Collections.LookList[Tale] (System.Collections.Generic.List`1& list, System.String label, LookMode lookMode, System.Object[] ctorArgs) [0x00000] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Collections.cs:13
  at RimWorld.TaleManager.ExposeData () [0x00000] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Tales\TaleManager.cs:24
  at Verse.Scribe_Deep.LookDeep[TaleManager] (RimWorld.TaleManager& target, Boolean saveDestroyedThings, System.String label, System.Object[] ctorArgs) [0x0015a] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:58
  at Verse.Scribe_Deep.LookDeep[TaleManager] (RimWorld.TaleManager& target, System.String label, System.Object[] ctorArgs) [0x00000] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:14
  at Verse.Game.ExposeSmallComponents () [0x000f2] in C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:101
  at Verse.Game.ExposeData () [0x00016] in C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:83
  at Verse.Scribe_Deep.LookDeep[Game] (Verse.Game& target, Boolean saveDestroyedThings, System.String label, System.Object[] ctorArgs) [0x0015a] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:58
  at Verse.Scribe_Deep.LookDeep[Game] (Verse.Game& target, System.String label, System.Object[] ctorArgs) [0x00000] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:14
  at Verse.GameDataSaveLoader.<SaveGame>m__895 () [0x0000b] in C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\SaveLoad\GameDataSaveLoader.cs:145
  at Verse.SafeSaver.DoSave (System.String fullPath, System.String documentElementName, System.Action saveAction) [0x00007] in C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\SaveLoad\SafeSaver.cs:95

Tynan

Quote from: Tel on August 21, 2016, 04:17:27 PM
Heh, walked away from my desk for a bit, came back to a new version and a new bug. Got the below on autosave.

Exception while saving map: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.TaleData_Def.ExposeData () [0x0000b] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Tales\TaleDatas\TaleData_Def.cs:21
  at Verse.Scribe_Deep.LookDeep[TaleData_Def] (RimWorld.TaleData_Def& target, Boolean saveDestroyedThings, System.String label, System.Object[] ctorArgs) [0x0015a] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:58
  at Verse.Scribe_Deep.LookDeep[TaleData_Def] (RimWorld.TaleData_Def& target, System.String label, System.Object[] ctorArgs) [0x00000] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:14
  at RimWorld.Tale_SinglePawnAndDef.ExposeData () [0x00006] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Tales\Tales\Tale_SinglePawnAndDef.cs:25
  at Verse.Scribe_Deep.LookDeep[Tale] (RimWorld.Tale& target, Boolean saveDestroyedThings, System.String label, System.Object[] ctorArgs) [0x0015a] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:58
  at Verse.Scribe_Collections.LookList[Tale] (System.Collections.Generic.List`1& list, Boolean saveDestroyedThings, System.String label, LookMode lookMode, System.Object[] ctorArgs) [0x001ca] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Collections.cs:71
  at Verse.Scribe_Collections.LookList[Tale] (System.Collections.Generic.List`1& list, System.String label, LookMode lookMode, System.Object[] ctorArgs) [0x00000] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Collections.cs:13
  at RimWorld.TaleManager.ExposeData () [0x00000] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Tales\TaleManager.cs:24
  at Verse.Scribe_Deep.LookDeep[TaleManager] (RimWorld.TaleManager& target, Boolean saveDestroyedThings, System.String label, System.Object[] ctorArgs) [0x0015a] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:58
  at Verse.Scribe_Deep.LookDeep[TaleManager] (RimWorld.TaleManager& target, System.String label, System.Object[] ctorArgs) [0x00000] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:14
  at Verse.Game.ExposeSmallComponents () [0x000f2] in C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:101
  at Verse.Game.ExposeData () [0x00016] in C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:83
  at Verse.Scribe_Deep.LookDeep[Game] (Verse.Game& target, Boolean saveDestroyedThings, System.String label, System.Object[] ctorArgs) [0x0015a] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:58
  at Verse.Scribe_Deep.LookDeep[Game] (Verse.Game& target, System.String label, System.Object[] ctorArgs) [0x00000] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\SaveLoad\Scribe\Scribe_Deep.cs:14
  at Verse.GameDataSaveLoader.<SaveGame>m__895 () [0x0000b] in C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\SaveLoad\GameDataSaveLoader.cs:145
  at Verse.SafeSaver.DoSave (System.String fullPath, System.String documentElementName, System.Action saveAction) [0x00007] in C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\SaveLoad\SafeSaver.cs:95


That's save incompatibility from the update.
Tynan Sylvester - @TynanSylvester - Tynan's Blog

MikeLemmer

Speaking of save incompatibility, do you want us to start a new colony each time a new version of the unstable build is released? Or are the gameplay changes minor enough we should be able to continue our previous colonies with no screwiness?

Adventurer

The trap change is a step in the right direction, and I can see good reasons as to why this mechanic should be kept.

However... I very much dislike things that encourage the player to learn how to exploit the AI. Meaning, right now, savvy players are constructing their bases in such a way that the player's pawn AI will always avoid said traps while enemies will still walk into them.

I think friendly trap triggering should be gotten rid of entirely, and simply replaced with a movespeed debuff for when friendly pawns are traveling over the trap. A SIGNIFICANT one, like slower than traveling over rocks.

MikeLemmer

Quote from: Adventurer on August 21, 2016, 04:39:55 PM
The trap change is a step in the right direction, and I can see good reasons as to why this mechanic should be kept.

However... I very much dislike things that encourage the player to learn how to exploit the AI. Meaning, right now, savvy players are constructing their bases in such a way that the player's pawn AI will always avoid said traps while enemies will still walk into them.

I think friendly trap triggering should be gotten rid of entirely, and simply replaced with a movespeed debuff for when friendly pawns are traveling over the trap. A SIGNIFICANT one, like slower than traveling over rocks.

Agreed, with the caveat that colonists can trigger them if they're wandering around in a daze or inebriated. However, that would require some additions to how you can handle mental breaks.

Also, couldn't players always exploit the AI like that just by being very finicky with their "Allowed Areas" zones?

Adventurer

That's a good example of what I mean, Mike. Having traps work the way they do kind of encourages player to do stuff like that. I mean it is a completely legitimate tactic, sure, but I think the simpler, more intuitive solution is best.

Mihsan

#162
Quote from: Tynan on August 21, 2016, 03:06:46 PM
Quote from: Mihsan on August 21, 2016, 02:59:30 PM
Played some A15. Do not like how those drug policies work.

If I set some pawns to "no drugs" policy they should not do drugs (unless I change policy or give manual order). It is super frustrating when I want them to not take drugs and they do it anyway.

You're looking at them as robots over whom you should have 100% control, or as RTS units from StarCraft. They're really not. They'll also insult people when you don't want, go on mental breaks, etc etc. If they were robots this game would be a lot more boring. There's not a lot of room for characterization in a robot.

I really cant aggree with that. For me it is a design problem: there is whole "drug policy" system, which does nothing. Why there is whole "take X joints per day if mood is below Y" thing if my pawns will take all the joints they want whenever they want? Why my colonist will strictly obey work sheet (cleaning only after hauling), but drug policy is just a recommendation, not the law? Why I cant play "we are making and selling drugs, not using them"? Really cant see logic in that.

This problem also adds too much unwanted micromanagement for me (forbiding all the drugs on map, giving drugs to specific colonists... which in fact turns me into surrogate drug policy). Micromanagement that can be removed with drug policy working better.

About "there's not a lot of room for characterization in a robot": there is already drug binges in the game (which will already ignore drug policy and happen very often) that give enough character play. On that background all pawns snorting/smoking/drinking whatever they want all the time looks like overkill. Too much characterization that gives opposite result and turns my pawns into blank snorting/smoking/drinking grey mass without any character.

P.S.:
- Deffault drug policy should be "take whatever you want"
- There should be policy "stay clean" (possible forbiden to chemical fascinated colonists... or giving them mood debuff if they cant take drugs)
Pain, agony and mechanoids.

Tynan

#163
Drug policy is the law. They will take the drugs you assign.

Drug policy has nothing to do with telling pawns what drugs *not* to take. It's in the Assign tab, not the Restrict tab :)

As for your micro techniques, they're pointless. Pawns will only take addictive joy drugs if they're chemical interest or binging or addicted. Normal colonists won't just start smoking flake randomly.

"Stay clean" is the default directive for pawns but depending on who they are they won't be willing, or won't have the willpower to do it. You can't just tell an addict to stop taking and expect him to comply.

This is a major interesting facet of drugs, which is that they can be profitable but having them around can end you up with addicted colonists. It's an intentionally designed risk/reward calculation which distinguishes the drugs from just growing cotton and selling shirts, or every other industry in the game.

I have considered adding some sort of state they can go into where they try to kick a habit, but that's not designed yet. Considering it for future alphas. But no, I don't imagine you'll ever be able to simply instruct an addict to stop using and expect it to happen.

Maybe you could instruct non-chemical interest, non-addicted pawns to never touch some drugs, but they could still go on binges. I'll think about it.

edit: I'll also have to review the AI here, there might be a bug or two that's making them take drugs when they shouldn't...
Tynan Sylvester - @TynanSylvester - Tynan's Blog

Tynan

#164
This thread isn't for open-ended suggestions, it's for A15 feedback only, thanks. Some posts were removed.
Tynan Sylvester - @TynanSylvester - Tynan's Blog