|
Post by zaimoni on Dec 14, 2018 22:12:29 GMT
What kind of trouble? If it's just "slow" then that's expected and very invasive reimplementations (that belong only in unstable) are needed to even try to do anything (file load is paralyzed by the garbage collector and the only real solution is to shrink the savefile size). If there are more substantial issues (e.g., savegame crashes out on loading or other weirdness) I can take a look at the logfile and make an educated guess as to what is going on. Private message would be fine.
I'm not set up to properly maintain 0.9.8 (would have to create yet another branch specifically for that, but the real problem is that I'm in the middle of a paid work spike that is suppressing work on RS Revived in general).
|
|
|
Post by zaimoni on Nov 23, 2018 5:51:30 GMT
0% without Medic skill. You need to be playing a mode with corpses (Infection or Vintage) or there's nothing to revive anyway.
For Rogue Survivor, a "fresh" corpse (very close to 100% condition) is 15% per level of Medic. There's a penalty for worse conditions. The most recent UI (RS Alpha 10, should be imported into both RS Revived and Staying Alive) tells you up front what the % to revive is.
|
|
|
Post by zaimoni on Nov 12, 2018 19:20:50 GMT
Welcome to source code control I had to fade out (work spike predicted to end within a day or two).
|
|
|
Post by zaimoni on Sept 8, 2018 0:23:24 GMT
4 of 8 cores at 100% is not expected; the four-core development system is only using 1 core at 100% and trace amounts of CPU elsewhere (so never above 26%-27%).
Yes, 17-21 seconds/turn is expected at about 1 hour in on the development machine for the test game RogueSurvivor --seed=1179775419 --city=5,50 --spawn=CLFFIREARMS and its close relatives. Most testing backing the August 20 release was with RogueSurvivor --seed=1179775419 --city=5,50 --spawn=CLFFIREARMS --socrates-daimon --subway-cop . (Socrates' daimon provides a cheat mapper similar to the savefile scanner for RS Alpha 9; this particular seed does have a subway station in C2 and the normal PC spawns there, so it's a 2-PC game)
Cf. the CPU stat in the very latest release: it directly measures this particular issue. 19-25 seconds seems to be the equilibrium level past the very early game, when nothing else is going on that triggers massive cross-map pathfinding. (CHAR Guards betraying the police triggers 40-50 delays relating to the resupply behavior; the corresponding delays after breaching That Location can reach 90-100 seconds, again from the resupply behavior. This is one of two time costs that I can try to mitigate with a high-risk strategy that could backfire impressively.)
In terms of CPU drain it's the total number of cops in the game that matter (cross-map pathfinding), with the number of "distant followers" (those that need cross-map finding to their leader) as a secondary influence.
RC 6 is the last version meant to be save-compatible and gameplay-compatible with RS Alpha 9, so it both doesn't have those features, and does have the option to let non-PC districts lag behind the PC district by 100+ turns even when simulating.
|
|
|
Post by zaimoni on Aug 30, 2018 4:50:11 GMT
Adjusting incremental release process: splitting the media-only archive into media-no-sound and sound-only for August 18, 2018 onwards. I'm going to have to cut another unstable release before doing anything high risk; there are two fixes in RS Alpha 10.1 that are "critical" relating to traps.
|
|
|
Post by zaimoni on Aug 24, 2018 18:11:37 GMT
Gangsters...arguably (this goes back a long way, at least RS Alpha 8).
Bikers: if you're near full health, most of them will run away if you wield a huge hammer. (Note: this is by raw damage...while the katana and axe artifacts are "better" at long-term damage per second, they're not as high maximum damage so don't work quite as well.) The leader may be harder to convince. And they don't shoot back because they actively avoid using ranged weapons.
In both cases, breaking line of sight immediately will help. As will using a free-move run to get a chance to back away on seeing a biker/gangster rather than just standing there on their turn and giving them a chance to see you.
|
|
|
Post by zaimoni on Aug 20, 2018 19:11:19 GMT
Crash on viewing options screen reported on Discord. Revised upload should be available within 12 hours or so. EDIT Revised upload is on-server as 2018-08-20 unstable.
|
|
|
Post by zaimoni on Aug 19, 2018 5:19:46 GMT
Unstable release 2018-08-18 has been cut. Only the main ZIP is being provided: several *.CSV are incompatible with 2018-04-25. I have tried to ram in all foreseeable sound and graphics file changes with this release.
Changes since 2018-04-25:
Many RS Alpha 10 changes merged in. If it's not in and not mentioned, assume that there's a conflict or technical interaction with a vaporware RS Revived mechanic. * This does include the park shed and residential outdoor rooms changes, and corresponding map objects. * Invulnerability as debug feature, and guarantee of PC sighting of NPCs will not be in. * The negotiation interface is wanted, but did not make it due to time cost.
Far-look now has run and walk to waypoint subcommands.
Breaking objects now triggers a self-order that also affects those followers you are in communication with.
Map generation: Complete subway network at district size 40+
Father Time has his sprite now. He'll greet you near New Year's Day on game open, just like Santaman greets you near Christmas. Unfortunately, the subway interacted badly with the Dijkstra pathfinder -- that's a lot of low-plausibility locations for the floodfill to expand into. I have some ideas of how to mitigate this further, but they're high-risk. Worst-case turn times for the latest test game were during Day 0 hour 12 and Day 1 hour 1; debug build exceeded 90 seconds both times.
You'll notice a CPU stat -- that is how long the processor has been running before the player's turn comes up. I haven't had time to design an appropriate indicator; empirically, it is your turn when you have more than 0 energy and your stamina bar is only a single color (that is, the "change in stamina" color coding is not showing).
The graphical glitches regarding inventory vs. hotkeys was noticed shortly before release. Fixing them is not a high priority.
|
|
|
Post by zaimoni on Aug 16, 2018 23:17:39 GMT
I'm technically close to pushing out an unstable release; no firm ETA yet. (There are some pathfinding weirdnesses that are exposed by the new run/walk subcommands of the far-look command; trunk pathing is not reticent enough about jumping.) The release needs to be cut before I attempt some high-risk changes to more effectively use the less extravagant pathfinding methods (RS Alpha 10 RouteFinder and RS Revived's minimum step pathfinder).
|
|
|
Post by zaimoni on Aug 15, 2018 4:53:24 GMT
I wonder if it would be possible to have more noisy roads, similar to the buildings, but I never checked the source. Noisy tiles are easy (the next unstable release of RS Revived will have a number of tiles with reduced noise as I needed to construct a reference diagonal subway tile and had to get the color scheme to blend with the current scheme). Tracking which noisy tile variant is in use per-tile, requires extending the internal representation.
|
|
|
Post by zaimoni on Aug 11, 2018 8:53:28 GMT
As mentioned elsewhere, RS Revived had come down with a free-attack bug (this is a crasher in debug builds). The following patches eliminated the failure for same-map attacks: lock down ActionPoints to allow use of Interlocked.Add and eliminate CheckNextActorIndex in favor of its backing private field. That leaves cross-district melee attacks (unique to RS Revived) in the simulation thread as a trigger. I don't have a visual on how to fix this (in a release build, this would simply be a sudden-death for the NPC; it's always a shambler doing the cross-district attack). AP before: 50 Melee attack function runs: predicted AP -50 actual AP: 50: throw Note that since energy recovery for a shambler is 50, even if we had a total failure of both the scheduler and the lock() primitive, running RogueGame::NextMapTurn would only recharge the shambler to 0 and that won't cause a thrown exception. The 100 AP cost of the attack is simply not being recorded. I checked that the volatile keyword, and Interlocked.MemoryBarrier(), both did not fix this. [RS Revived uses the UI thread to run NPC districts until a district containing a PC is available.] EDIT Above behavior was from z level-up.
|
|
|
Post by zaimoni on Aug 9, 2018 20:04:21 GMT
Deadlock is an indefinite freeze. This reproducer showed as a free melee attack for a z during simulation (that is, the decrement of the z's AP was "overwritten"/"lost"). One of the changes I re-interpreted from RS Alpha 10 was an explicit check for this.
Since RS Revived takes a lock on the district when doing AdvancePlay, it's not clear what the trigger is. (RS Revived also has defensive coding against duplication of actors in the actor list when loading games.) Just confirmed that the bug is a true Heisenbug, it even reacts to what other programs are open on the target system. (Having an extra Visual Studio instance open was enough to prevent the bug from manifesting in the reproducer save.)
EDIT 2 failed commits so far.
|
|
|
Post by zaimoni on Aug 9, 2018 12:14:56 GMT
I have a reproducer for this in RS Revived trunk (throws an exception in debug build). It feels like a multi-threading issue. Unfortunately, the apparent correct fix strategies are savefile breaks. Edit Cannot be papered over in the ActionPoints setter, only displaced.
|
|
|
Post by zaimoni on Aug 9, 2018 3:32:59 GMT
The subway changes had an unplanned side effect: it turns out that subways and sewers both "nuke" whatever was before them -- including NPCs (their default creation time is after NPCs have been assigned). Now that RS Revived's trunk has the ability to force subway stations, it also acquired highly populated subway stations.
Too populated. Especially in park districts. And as long as I'm having to adjust the civilian distribution, I should be considering things like "which shops would be expected to have shopkeepers, and which would have properly evacuated for the curfew".
|
|
|
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.
|
|