|
Post by zaimoni on Mar 25, 2018 23:57:09 GMT
I have just cut the march 25th 2018 unstable release, and tagged it. I can't measure in-game speed differences between any, x64, and x86 but I do see the opening screen speed boost on the x86 build only. Game load time is closely comparable for all three (and *much* faster than at any prior time since the introduction of police district sweeping).
RogueSurvivor.exe is any; RogueSurvivor-x64.exe is x64; RogueSurvivor-x86 is x86. Depending on test results I may re-suffix future releases so that the fastest one is the default.
The cumulative changes since the creation of the stable branch are:
REVIVED 0.10.0 CHANGES ------------------ * names better matched to stereotypical English gender * key configuration files are not backward compatible. * even more AI overhaul. * Closing the door behind you is now a free action. * map generation radically altered. ** survivalist weapon caches more usable (ammo is matched to ranged weapons in cache) * It is rarely possible to see where a living is planning to move next. (If you are about to shove him, you will see this.) * player-player trading is now possible. A similar implementation is used for player-NPC trading (no more roulette, if the target doesn't want to give up anything you want, you will know immediately) * new (stub) command: Faction Info (default Shift-Ctrl-I). See the main manual for details. * new (stub) command: Set Waypoint (default Alt-Shift-I). Use this to far-look (move the viewpoint without actually moving). See the main manual for details. * Items will survive better if the method of death isn't particularly destructive to them. (A slightly weaker version of the change in Still Alive). ** the historical resistance of food and ammo to destruction has been retained. Armor will survive better if the method of death is non-violent. Other items will survive better if they aren't exposed to zombification. * The surface maps and sewer maps have lost their peace walls. For example, you can ** see across district boundaries (so does your minimap) ** throw grenades across district boundaries ** fire at targets across district boundaries, etc. ** Unfortunately, the AI is just as unimpaired as you.
|
|
|
Post by roguedjack on Mar 26, 2018 13:41:18 GMT
Just gave it a run. x86 is indeed faster but the game turns are still as slow as before, it takes from 1 to 3 seconds between a keypress and a move. Far-look doesn't lag at all, so the slow turns problem is not related to input lagging or rendering but something that is being processed during turns. Even though I have animation delays off, could it be that? Maybe some new or modified code doesn't check the option is off correctly and pause to "show" some NPC actions, hence the lag. Its a shame, I would like to experience all the improvements you made
|
|
|
Post by zaimoni on Mar 26, 2018 17:36:05 GMT
Ok...your per-turn speed in release is the same as the development machine in debug mode. I have had reports on reddit of 30-second turns so hopefully it will help those users. As implied earlier, System.Diagnostics.Contracts was bloating the samegame load time to 70-90 seconds from 8-10 seconds. The debug-mode turn speed before tearing out System.Diagnostics.Contracts was 3-5 seconds. [Problem: it depends on an extensive rewriter to mitigate the performance issues by making all of its directives go away in release mode (mimicking C assert). This was so difficult to maintain that Microsoft removed its maintenance from the core language team for C# 2015, and completely dropped it for C# 2017. In My Arrogant Opinion, since it's won't fix the usage of this module should be a hard error in C# 2017.]
Unfortunately, as part of the cross-district pathing support I had to work out how to guarantee that their clocks remained synchronized. This was responsible for a noticeable slowdown early in the 9.9.x series as the simulation options became ineffective.
|
|
|
Post by zaimoni on Mar 31, 2018 9:18:00 GMT
Ok...have a fix on at least one of the speed problems. A correctness fix to pathfinding for resupply degenerates very badly at game start. The SWAT team is trying to pathfind to suitably awesome melee weapons, and can take over 2 seconds/turn to do it at 5x5 district size 50. (There are some other issues, and it would be good to get the best processing time for living AI down below ~20 milliseconds on that map scale.)
|
|
|
Post by zaimoni on Apr 1, 2018 3:15:10 GMT
0.10.0.0 unstable 2018-03-31 uploaded. This won't completely stop the police taking 1.5+ seconds individually to pathfind to the nearest exotic supplies, but it will prevent it for the first few hours of the game.
|
|
|
Post by zaimoni on Apr 4, 2018 20:05:07 GMT
0.10.0.0 unstable 2018-04-04 uploaded. The previous unstable had severe (action-looping) pathing issues at the CHAR base at Day zero hour 17 for
RogueSurvivor --seed=1179775419 --city=3,30 --spawn=VLFFIREARMS --socrates-daimon --PC "Cop Pete Oswald"
I don't have a formal policy for "delisting" unstable releases. Right now, candidates for delisting are: 2017-11-12 (last release before CHAR Guard Manuals which have done wonders for preventing dangerously insane NPCs), and all of 2018-[01-16/03-25/03-31] for various flavors of excessively time-hoggy pathfinding.
|
|
L33TMaster
Member
I lurk and mess with tiles, not much else to say.
Posts: 108
|
Post by L33TMaster on Apr 5, 2018 10:16:20 GMT
Wonderful seeing that your still going strong, I've been wondering though, was it the save refactoring that made the size of the binary jump up from 40 to 200 MB. I honestly have no issue with the size, but I've been scared to download the latest thinking you'll release the next one almost right after. Ever since I had to change internet providers I've been trying to be cautious of the amount of data I use.
|
|
|
Post by zaimoni on Apr 5, 2018 15:20:33 GMT
No, ZIP size is due to sound file reformatting. In order to avoid using third-party libraries with unstable link requirements (MS C# will utterly fail to build if you try to link a DLL targeting a different platform, and MS C# 2015 *only* targeted the any-platform bytecode; there was no x86 or x64 option there), I had to change all files to WAV. Going back to MP3/OGG would be welcome (and apparently viable in MS C# 2017). [Implication: reusing the DLLs from RS Alpha 9 would lock the build down to x86, which doesn't have the 64-bit/32-bit translation overhead for the 32-bit GDI+ functions.]
Basically, if I do binary-only ZIPs again then I'll get (dying) fish that think binary-only ZIPs should work out of the box again. Probably what would make "most sense" for the technically literate is a binary, media, and complete ZIP triple; media would include everything other than the binaries and readme, and would only update as needed.
|
|
|
Post by chris123 on Apr 5, 2018 20:46:51 GMT
Heya, just wanted to drop a word of love Been following RS on and off for years, glad to see someone's actively developing it still! Keep up the work Edit: Just an FYI - it takes me forever to take turns, the game freezes up after each move and it took 10ish minutes to generate the starting map. Don't be discouraged!
|
|
|
Post by zaimoni on Apr 6, 2018 0:00:58 GMT
HMM....haven't tried 6x6 district size 100 yet (I'm expecting response time problems there because RS Alpha 9 had them on the development machine). Test coverage in general is a pain to set up.
|
|
|
Post by zaimoni on Apr 7, 2018 22:46:31 GMT
0.10.0.0 unstable 2018-04-07 uploaded. This addresses a few inconveniences (including one pathing infinite-loop the national guard triggered). Note change in release format : binary-only and media-only mean what they look like. The *absence* of a media-only file for 2018-04-07 is intentional -- there are no changes there, so the 2018-04-04 "would work" with 2018-04-7 (and thus the 2018-04-07 binary-only ZIP would upgrade 2018-04-04 to 2018-04-07)
|
|
|
Post by zaimoni on Apr 9, 2018 21:00:31 GMT
Commit log has a savefile break intended to reduce savefile size (it eliminates 9 object ids ( edit: i.e. 45 bytes) per smell sensor by converting AIScent to a struct), so next test game will have to restart. There should be no direct speed improvement as zombie and rat AIs already were untimeably fast (faster than 1 millisecond). Next test game will have item rating-based evaluation of need/want items; I haven't decided yet whether to put the RNG into the savefile, or whether to invasively reimplement the navigation priorities for police, for the next test game.
|
|
|
Post by zaimoni on Apr 16, 2018 23:03:47 GMT
The ley lines (district boundaries) in RS Revived have a player move exploit: it is possible to "run" at walking speed within a ley line. Due to the way time drift prevention works, it is possible to take two turns at the same turn #. This is an exploit because the AI doesn't use it, and it saves stamina: while the transition itself doesn't restore stamina, one's stamina isn't lowering either.
1.2 .1.
So, is this a bug, or is it a sign of CHAR technology? It plausibly works on the same principle as those zero-fuel emergency generators.
|
|
|
Post by zaimoni on Apr 19, 2018 1:40:31 GMT
Unstable 2018-04-18 has been released. As evident from the lack of a media ZIP, the binary-only archive is sufficient to upgrade. There's a savefile break from de-bloating the smell sensors.
I did a moderately radical change to the item prioritization: the want/need is strictly based on rating codes now. I cut the release too late so there should be some subtle changes to map generation; nothing that invalidates who exists where at game start, however.
Upgrade is highly recommended, as I finally managed to test Father Time's scythe. Merely viewing it had been a game-crasher.
|
|
|
Post by zaimoni on Apr 25, 2018 23:57:43 GMT
Unstable 2018-04-25 has been released. Release process needs re-thinking (the manuals really should considered part of the binary release but currently they're in two sub-subfolders and thus considered "media").
Notable changes: infinite loop in map generation bypassed (if no valid exit locations from sewers to surface, then hang); new self-order to butcher a corpse to oblivion (manual update for this exposed the problem with manuals).
I'm considering defining Config/Docs to be the "master" for the manuals, and eliminating the duplicate at Resources/Manual.
Next planned savefile break is per-living scores; several choices for next highly-destabilizing change, including trap location rewrite and re-implementation of the CivilianAI non-combat pathing targets as a central function.
|
|