MP
Member
Posts: 150
|
Post by MP on Jul 20, 2018 12:47:36 GMT
Time for a new release. I started it prior to moving house, and then again paused for the release of Alpha 10, so it's been stop-start. As always, grab it from the download link in the first post of this thread. Next up is to merge in most changes of RoguedJack's Aplha 10.
STILL ALIVE 1.5.37.9 (aka Release 5-7, 20/07/2018) ---------------------
Features: -Players can now supply their own character name. -Removed rats skill upgrade and reincarnation options. -Removed option to hide tags on the minimap. -Restored hour-of-day tint. -Molotovs now have a chance to set fleshy victims on fire. -Each level of Tough increases current HP as well as maximum HP (a la RS Revived) -Halved the amount of food and seeds grown by crops. -Throwing explosives at survivors will now draw their ire. -Survivors are now somewhat more liberal, but also more careful, about using explosives. -Survivors now favour multiple targets over tougher targets when using explosives. -Enabled permadeath by default (can still be changed). -Added reload sfx.
Fixes: -Tweaked evolution timeframes restrictions on all undead types. -AI won't waste flame weapons on (invulnerable to fire) skeleton types. -Fixed bug that prevented undead from being killed by fire when reduced to 0 HP. -Reduced molotov damage, and flame duration and damage. -Can now drink beer and smoke when sanity is disabled. -Reduced the quantity of food grown by planted crops. -Civilians followers now correctly obey directives not to use explosives/flame weapons. -Restored (albeit delayed) blood splatter cleanup, and added undead corpse cleanup. -Fixed bug in saving screenshots. -Removed the redundant option for reincarnating in sewers. You can now reinc in sewers.
Known issues: -Changing districts performance with simulation enabled decays as the game goes on. -Lacking difficulty options, and the current scoring multipliers are broken. These will be addressed in later releases.
Development: -Minor refactoring of turn processing. -Miscellaneous optimizations and housekeeping. -Resolved various supressed exceptions and code warnings. -Rearrangement/grouping of methods in RogueGame class. -Improved optimization of calculating which point is best to throw a flame weapon.
|
|
|
Post by ericomont on Jul 30, 2018 18:22:11 GMT
Sometimes, it seems after an action/message that requires to press <enter>, many turns will pass and one might get killed, like skipping many turns. The prisoner that should never be once didn´t respond to the switch, he just stood there not moving.
|
|
MP
Member
Posts: 150
|
Post by MP on Jul 31, 2018 11:24:15 GMT
Can't say I've seen that one before. Very weird. Have you noticed any pattern to it? When you say sometimes, how frequently on average?
Re the prisoner, I'm just wondering if they happened to be asleep at the time. Had they spoken to you when you moved close by?
I haven't been able to recreate them myself, so if you can capture a save prior to them happening (may not be easy, i know) please send it my way.
|
|
|
Post by zaimoni on Jul 31, 2018 13:59:10 GMT
Right, prisoner must be awake before moving next to the switch has an effect even in RS Alpha. (You may also want to be in his line of sight i.e. distance 2). Shouting to wake him up works, but is hardly stealthy.
|
|
|
Post by ericomont on Jul 31, 2018 21:25:41 GMT
The prisioner was awake and spoke to me the first line, he was hungry though. After I opened the doors he would not move anymore, hence I think he would not speak to me as it usually requires him to walk a space before he speaks. He just stood there forever, no shouting got him going and I could not use PUSH to move him out on force.
It happened about twice in 10 games. The second time had some weirdness but I can´t recall exactly what.
I also noticed some general instability in comparison to the other version, I had it crash on me twice while just walking about, in one of them the game´s music kept playing(had to kill the process).
The occasions when the player waits many turns and end up dead seems to be when the CHAR guys spot you inside their place and so far that only happened after the prisioner, I didn´t search a char place before. I also use the num pad´s ENTER but I doubt it has something to do with that.
|
|
|
Post by zaimoni on Jul 31, 2018 22:14:15 GMT
Ah. Prisoner follow-up line+transformation (historically) requires actually being adjacent on his turn-start, so not-moving would complicate things considerably even if that wasn't itself a sufficient implementation. (Haven't spot-checked this).
|
|
MP
Member
Posts: 150
|
Post by MP on Aug 1, 2018 0:25:18 GMT
I also noticed some general instability in comparison to the other version, I had it crash on me twice while just walking about, in one of them the game´s music kept playing(had to kill the process). The occasions when the player waits many turns and end up dead seems to be when the CHAR guys spot you inside their place and so far that only happened after the prisioner, I didn´t search a char place before. I also use the num pad´s ENTER but I doubt it has something to do with that. Thanks for bringing these up. I'm keen to keep on top of the really nasty bugs. A few questions to help me clarify: -When you say other version, are you referring to the one prior to the current; Release 5-6? -So you're getting spotted by a CHAR guard, pressing enter, a number of turns race by, and then you're dead? Roguedjack addressed some of the known threading issues in alpha 10, which I'm currently merging into Still Alive. I should have that ready in a week or two. I'm curious to see if it fixes some of the issues you're seeing.
|
|
|
Post by ericomont on Aug 1, 2018 4:13:53 GMT
-Other versions I mean your last version prior to this one. -Yep, it happened with the char guys more often but that is because my way of playing, it did happen with other trigger/message stuff, like the gangs and so on, and with some of them, a few turns passed away too, I was just lucky that no one got to me. None of this stuff was present on the version before as far as I played. It seems to happen after story messages that you have to press enter, not the day/nite stuff though.
I played this new version for a couple days only yet, will try a bit more tomorrow and may try to save stuff on the way in case I can catch some of these misbehaviors. Great job!
|
|
|
Post by zaimoni on Aug 1, 2018 12:59:15 GMT
Threading issues: note that we have a report on Discord of a hang-on-district change in RS Alpha 10 (I was not able to elicit details and really the main report should be here anyway).
I was only able to do a partial merge of the threading changes into RS Revived. The radically altered no-skew turn scheduler (also the presumed cause of the reported speed issues) made eliminating m_SimMutex technically infeasible. You should get a substantial improvement from the RestartSimThread kill and correlated changes in StartSimThread/StopSimThread and the new m_SimStateLock member.
|
|
MP
Member
Posts: 150
|
Post by MP on Aug 1, 2018 14:37:18 GMT
That's a good point. You're right, it isn't much to go on, but it does have the scent of a threading issue. If we can recreate, hopefully we should be able to get an exception from sim thread.
Interesting. Unfortunately my knowledge of threading is limited to background workers I've used at my job, but have you given any thought to trying another type of locking? I wonder if you'd benefit by switching to SpinLock, for example (iirc you're targeting .NET 4+ now right)? Long-running turn simulation might preclude it, but it could be useful if you're doing short, frequent cases of locking.
|
|
|
Post by zaimoni on Aug 1, 2018 15:36:51 GMT
Spinlocking is very CPU-intensive in both C and C++; I'd rather not go there even though the locks when updating various internal Map data structures likely is an intended use case.
The standard locking implementation is very hard to time a material slowdown (basically negligible compared to the template/generic A* pathfinder; even the infinite loop from catastrophic failure to place sewer exits on a 30x30 district only profiled 14% of CPU in locking)
Yes, RS Revived is currently on .NET 4.6.x . That lets the compiler enforce non-update of command-line options after game start. I haven't seen any must-have data types or syntax enhancements in 4.7.x (e.g., ToHashset() at 4.7.2 is something I would use but it's not a "you can't do what you want without it" idiom...unlike the readonly data types, for instance.)
|
|
|
Post by ericomont on Aug 3, 2018 22:21:52 GMT
One more thing, I also noticed once in a while the whole game freezes for a number of frames, like everyone is frozen but me. I haven´t noticed what triggers that yet either, but it seems to come back to normal after a number of turns and not an action.
|
|
|
Post by zaimoni on Aug 8, 2018 7:21:21 GMT
.... the whole game freezes for a number of frames, like everyone is frozen but me. .... it seems to come back to normal after a number of turns and not an action. Is the turn counter in the bottom right of the screen updating during one of these episodes? ... have you given any thought to trying another type of locking? I wonder if you'd benefit by switching to SpinLock, for example (iirc you're targeting .NET 4+ now right)? Not before "today", evidently. I don't see a use case for Spinlock (I can't count on the RNG being faster than 60-ish cycles, and everything else should take longer). Return on investment for using the Interlocked operations is very limited at this time. ReaderWriterLockSlim is more interesting. EDIT ReaderWriterLockSlim is underwhelming; all obvious test cases were slower with it, than the language-standard lock keyword.
|
|
MP
Member
Posts: 150
|
Post by MP on Aug 8, 2018 14:29:46 GMT
One more thing, I also noticed once in a while the whole game freezes for a number of frames, like everyone is frozen but me. I haven´t noticed what triggers that yet either, but it seems to come back to normal after a number of turns and not an action. These may or may not be the same issues manifesting in different ways, but they've been happening to me for a long time now: Random turns that take an extra couple of seconds, but everything and everyone including me is stuck during those. I also get instances where the AI seem to disappear or race off; almost as if they get a series of turns while I get one. It's most moticable when they are woken with alarm (shout or fire) but sometimes I'll be shadowing an AI or group and they just vanish. Maybe I'm just going crazy I'll slip another release into the schedule to focus solely on these if the Alpha 10 merge hasn't helped (might wait to see what 10.1 includes first). I'd also love to finally get to the bottom of what seems to be a race condition that causes overlays to be incorrectly cleared. EDIT: overlay issue I mention in regards to Still Alive only. I'm yet to understand the cause.
|
|
|
Post by ericomont on Aug 8, 2018 23:28:42 GMT
About the turn counter, while frozen, I can move and attack, but nothing else moves and I don´t spend resources like food or sleep. The fire and rain animation is also frozen, I will look into the turn counter next time, I can also save the game when it happens as it happens quite often.
|
|