|
Post by zaimoni on May 27, 2016 0:51:51 GMT
0.9.2 released with an incomplete fix for the item drop-take loop that was mentioned. I have a game that demonstrates it, but the obvious fix strategies don't work. (Note that C# class equality defaults to C pointer equality, so there is some paranoia regarding the item taboo list having items that aren't on the map.)
|
|
|
Post by zaimoni on May 27, 2016 18:47:23 GMT
REVIVED 0.9.3 CHANGES ------------------ * drop/pickup loop issues suppressed more * Line of Sight handling of cardinal direction visibility blocking less restrictive
0.9.2 savefiles should load in 0.9.3 fine, but the civilian AI fix mentioned above may warrant restarting a map anyway.
|
|
Fool
Junior Member
Posts: 58
|
Post by Fool on May 31, 2016 3:49:22 GMT
Good work Zaimoni! Keep it up. I like to play the new RS whenever I get tired of coding. I think a lot of people are really exciting about you reviving the game proper.
|
|
|
Post by zaimoni on May 31, 2016 4:54:47 GMT
Thank you. Note that the rate of change will be slowing down (long-term work schedule flareup anticipated).
It appears that making the police sweep districts involves techniques that would feel like cheating for the player to use even if they were in-game. This unblocks several features. Target is for there to be an AI player for the cop faction as a whole, not just individual cops -- they are supposed to be organized force, after all. CHAR guard and soldier AI repair to standard is scheduled for after this.
|
|
|
Post by zaimoni on May 31, 2016 4:57:17 GMT
REVIVED 0.9.4 CHANGES ------------------ * Civilian AI failed item pickup travel loop suppressed * crash bug system involving sound fixed (reincarnation proven trigger) Save games from 0.9.2 and 0.9.3 should load in 0.9.4. The AI fix may warrant restarting a map regardless.
|
|
Fool
Junior Member
Posts: 58
|
Post by Fool on May 31, 2016 5:07:52 GMT
That was FAST. I take it you code for a living then?
|
|
|
Post by zaimoni on May 31, 2016 7:47:54 GMT
Yes, I maintain an online store backend, with some atypical optimizations to reduce the number of employees needed to ship orders. It's large enough to need source code control for coordinating with other programmers on the team.
|
|
|
Post by zaimoni on Jun 2, 2016 1:55:47 GMT
REVIVED 0.9.5 CHANGES ------------------ * Try to make a crash bug when attempting a reincarnation option with 0 candidates, a graphics glitch. * Enable the close button, and don't backtalk when Task Manager force-closes the game. * Waiting for a keypress, once the simulation thread stops, should read very close to 0% CPU in Task Manager. Savefiles from 0.9.2 through 0.9.4 should load as-is in 0.9.5.
|
|
|
Post by zaimoni on Jun 2, 2016 20:40:27 GMT
REVIVED 0.9.6 CHANGES ------------------ * The simulation thread should not attempt reincarnation. Savefiles from 0.9.2 through 0.9.5 should load as-is in 0.9.6 .
|
|
|
Post by zaimoni on Jun 4, 2016 8:21:03 GMT
REVIVED 0.9.7 CHANGES ------------------ * keep the player count accurate during reincarnation (addresses both reincarnation crash and AWOL player killer entries) * counter-adjust the drop/pickup loop fixes of 0.9.3 * It is possible for civilians (and survivors, technically) to bluff being cops well enough to become one for the duration of the apocalypse. The Prisoner Who Should Not Be currently will not divulge the location of the CHAR base to a cop. See the RS Revived manual for details. Savefiles from 0.9.2 through 0.9.6 should load as-is in 0.9.7. However, the AI change is large enough to cause maps to play differently.
|
|
Fool
Junior Member
Posts: 58
|
Post by Fool on Jun 5, 2016 3:44:28 GMT
Bluffing, thats awesome mate. Bloody brilliant. Good show. I guess I'm going to be playing it again tonight. Anything else in store, or is this just a quirky side effect you didn't anticipate?
|
|
|
Post by zaimoni on Jun 5, 2016 5:32:44 GMT
It's intended, although currently restricted to the player. The requirements aren't that hard to guess even if you don't read the RS Revived Manual; you just need the key parts of a cop's starting equipment, and appropriate background. (The police radio will go implicit when becoming a cop, so you do get the inventory slot you had committed to the radio back.)
I am planning for the police radio to be highly message-spamming. The main downside is that once detailed item memory is available to the AI, the police faction will end up "synchronizing" detailed item memory between the AI cops and yours. This is great for map visibility, ok for knowing where things are in a district -- and they'll be able to pathfind to any safehouses your cop tries to set up.
Also, subways are going to become less awesome safehouses once the pathfinding changes are in -- everyone with a flashlight will know how to recharge them.
|
|
|
Post by zaimoni on Jun 8, 2016 11:24:02 GMT
0.9.7 looks reasonably stable in the single-PC case. I probably will go ahead with savefile format breaking the first day work schedule isn't through the roof, even though trunk has two bugfixes for the multi-PC case (access via --subway-cop or savefile hacking). Bay12 players have not hit the multi-PC bugs yet, so hopefully 0.10.0 will be released before it matters.
I think the simulation process is now stable enough to decommission the simulation option set (just set everything to full simulation).
----
I've had a chance to think about the district exits situation. (The not yet live pathfinding class is perfectly capable of cross-district pathfinding, not just cross-map pathfinding). There is a very real risk of performance issues.
Right now, the surface district exits are placed where both sides are "clear enough" (e.g., at the time the exit is placed both sides are passable for the player). To get rid of them usefully, one would want to make them display if and only if they are usable in real-time. (That is, once the burning car on the other side extinguishes the exit should start existing; likewise if the exit is blocked by a gangsta the exit should cease to exist.)
Oh wait...that requires the two maps to be at reasonably consistent game times at the time of exit determination. That contradicts the current rationale of the simulation thread (if you play fast, the districts you aren't in fall behind in game time relative to you; when you try to enter a lagged district, the game simulates just that district to catch up). I don't have much difficulty getting ten or so turns ahead of the simulated districts, so this is going to be an observable problem.
Also, it might be useful to display why the exit is blocked. Once the game is doing that, extending Line of Sight/Fire into the next district (cf Batch 0) makes sense. At this point the districts become pre-apocalypse zoning; it becomes very hard to explain to the game what the simulation thread should and should not handle. (The "interaction range" for hearing is range 15 (half as many squares as there are turns in an hour) so anything within range 15 of any PC has to be current.)
|
|
Fool
Junior Member
Posts: 58
|
Post by Fool on Jun 9, 2016 22:54:50 GMT
I always figured there was a little bit of 'travel' between districts, which is why the undead couldn't follow you between maps. Makes for a clean explanation at the least.
|
|
|
Post by zaimoni on Jun 11, 2016 9:08:23 GMT
Yes. It would be a cleaner explanation if the sewer map played by the same rules as the surface map.
It took a few days away from coding to get an alternate clean way to schedule the district simulations that is compatible with unrestricted exits. The result is very laggy (15-20 seconds for each turn in early day zero on the 5-year-old development system; new low-end systems would simply bog down for minutes), so substantial optimization is needed before rolling out the key AI changes. That suggests each district in the early game is taking three fourths of a second, to a second, to simulate on the development machine.
000 100 110 111 111 211 000 000 000 100 110 111 000 000 000 000 000 100 ....
The above mostly respects the 0.9.7 simulation pattern in the background thread, and also guarantees that any exit leads to a district that is no more than one turn different than the district being left. It is fully compatible with extending Line of Sight/Fire into adjacent districts, should that be tenable.
The fundamental update pattern is
+1 0 0 0 D +1 +1 0 0
That is, each time a district has finished a turn, schedule the districts East, SouthWest, and NorthWest for simulation. Bootstrap is by scheduling A0 for simulation. It's not as consistent as 0.9.7, but there is no risk of a district's classification as having a player character (or not) changing at the last minute. Simulation on entering a new district is "eliminated" by waiting to start the player's district, until no simulation is needed for entering a new district.
|
|