Page MenuHomeWildfire Games

wraitii (Lancelot)
Animal

Projects

User Details

User Since
Dec 21 2016, 1:38 PM (326 w, 4 d)

Recent Activity

Sat, Mar 18

wraitii added a comment to D4970: tweak unit pushing to prevent overlap.

By "Bog down" is that the slowdown when units clump while moving? If this is already slightly in effect currently, I think players will dislike increasing it. I think we should avoid introducing any sluggish movement as much as possible.

Sat, Mar 18, 4:35 PM
wraitii added a comment to D4970: tweak unit pushing to prevent overlap.

I did some actual testing -> I maintain my 'needs revision'.

Sat, Mar 18, 12:28 PM

Tue, Mar 14

wraitii added a comment to D4970: tweak unit pushing to prevent overlap.

Have you tried these values? I think they are pretty good, closer to the status quo, but perhaps there are still improvements to be made.

No I need to actually do it. I think I should get the time this week.

Tue, Mar 14, 4:51 PM
wraitii awarded D4584: [WIP] - Technologies to templates. a Like token.
Tue, Mar 14, 10:05 AM
wraitii added a comment to D4970: tweak unit pushing to prevent overlap.

Yeah trying to improve is certainly fair, as I said. I guess I'm saying it's probably better to end of the side of 'smooth, clumped-up pathfinding' over 'slow, spread-out'.

Tue, Mar 14, 10:05 AM

Mon, Mar 13

wraitii added a comment to D4970: tweak unit pushing to prevent overlap.

Sure, seems sensible. Testing on a wide scale would definitely be a good idea.

Mon, Mar 13, 10:47 AM
wraitii added a comment to D4971: Disable actual turn rate for ships - make their turning purely visual.

(For what it's worth I remain convinced that we should give up on proper ship movement and just make them clip each other like Age of Empires does, or alternatively just prevent players from directly controlling ships or something.)

Mon, Mar 13, 10:08 AM
wraitii requested changes to D4970: tweak unit pushing to prevent overlap.

I think you're likely to break some things here, because you're bumping everything at once, and with somewhat large changes. I would recommend just changing one thing at a time with pushing, because movement literally affects everything in the game.

Mon, Mar 13, 10:00 AM

Jan 26 2023

wraitii added a comment to D4905: Molten VK Support.

I have the same testing behaviour as Langbart, so it's Working As Designed from my perspective.
I seem to get about 2x FPS in general, but that will depend on a variety of factors. I think we still have a huge draw-call overhead on several maps which probably limits the effectiveness of Vulkan.

Jan 26 2023, 10:33 AM
wraitii added a comment to D4911: Fix 10K process crash on MacOS.

It seems to solve the problem described in D4905 (the small pyrogenesis processes), but I am still able to trigger all the processes described in #6699. I also noticed that when playing the tutorial (around the 25th minute), an ~18GB memory spindump process amassed in the background, making the PC unusable if not manually killed. How to trigger these processes in a regular game is not clear, the steps to reproduce them remain obscure.


These processes (spindump, sandboxed,,ReportCrash) do not take place when a bundle is used, e.g. the one uploaded to D4905.

Jan 26 2023, 10:24 AM

Jan 25 2023

wraitii requested review of D4911: Fix 10K process crash on MacOS.
Jan 25 2023, 3:16 PM
wraitii added a reverting change for D1499: Do not actually Kill in debug_break() in non-debug binaries: D4911: Fix 10K process crash on MacOS.
Jan 25 2023, 2:56 PM

Jan 19 2023

wraitii abandoned D1925: High-DPI screen support.

irrelevant now, too many related & unrelated changes since.

Jan 19 2023, 11:13 AM

Dec 29 2022

wraitii committed rP27314: Wrap game settings initialisation from persistent data in a try-catch block..
Wrap game settings initialisation from persistent data in a try-catch block.
Dec 29 2022, 11:44 AM
wraitii closed D4794: Wrap GameSetup init from persistent setting / direct init in a try-catch block..
Dec 29 2022, 11:44 AM
wraitii updated the diff for D4794: Wrap GameSetup init from persistent setting / direct init in a try-catch block..

Include hotload in the try-catch

Dec 29 2022, 11:19 AM
wraitii added a comment to D4842: [POC] Static SystemComponents.

I'm assuming you're doing two things here:

  • Removing a layer of indirection by just having one component for the interface for system components (makes sense to me)
  • Doing some allocator-locality thing like D4718
Dec 29 2022, 11:08 AM
wraitii added a comment to D4718: Allocator and generator for component data..

I tried something similar in D3186 but never got around to finishing it. Your approach seems maybe slightly less invasive at a glance (though I commented on my patch that I thought my approach was 'neater' than a separate allocator, so your mileage might vary), and doesn't break the requirement that components aren't movable once constructed.

Dec 29 2022, 11:04 AM

Dec 28 2022

wraitii committed rP27310: Use Future::CancelOrWait in pathfinder Deinit.
Use Future::CancelOrWait in pathfinder Deinit
Dec 28 2022, 12:34 PM
wraitii closed D4831: CancelOrWait in pathfinder.
Dec 28 2022, 12:34 PM
wraitii updated the diff for D4831: CancelOrWait in pathfinder.

Remove Future::Cancel(), seems too dangerous to use properly from outside code.

Dec 28 2022, 12:06 PM
wraitii added a comment to D4848: Fix disappearing berries due to not miraging..

You should probably add a comment that this function should only be called for entities that are currently explored, but not visible or things will bug out. The C++ code seems to work fine for that

Dec 28 2022, 11:59 AM
wraitii committed rP27309: Replace SharedStateResult with std::optional.
Replace SharedStateResult with std::optional
Dec 28 2022, 11:55 AM
wraitii closed D4803: Replace SharedStateResult with std::optional.
Dec 28 2022, 11:54 AM

Dec 27 2022

wraitii added a comment to D4773: Normalize names for ClientId in /network.

Does anybody know why it was called m_HostId before?

Dec 27 2022, 12:29 PM
wraitii added inline comments to D4848: Fix disappearing berries due to not miraging..
Dec 27 2022, 12:19 PM

Dec 2 2022

wraitii requested changes to D4769: [WIP] unsync attacking / make attacking look more natural.
In D4769#203037, @lyv wrote:

Finally, I think this may introduce an OOS because the GUI Interface calls this function and that might be in a different pattern across clients. The PRNG only guarantees the same sequence, but that might lead to one generator being ahead other ones because there is one more function call on one client who called an extra GetEntityState or something.

Dec 2 2022, 9:41 AM
wraitii added inline comments to D4794: Wrap GameSetup init from persistent setting / direct init in a try-catch block..
Dec 2 2022, 9:34 AM
wraitii accepted D4831: CancelOrWait in pathfinder.

Can't think of a reason why we don't need to wait here, guess this is indeed just a typo. Good catch.

Dec 2 2022, 9:33 AM
wraitii added a comment to D4738: Allow other root XML than `entity`..

Good diff.
Quick note on the ENSURE -> I'm assuming schema verification would make the engine fail at loading badly-formed XMLs, and thus the ENSURE is indeed only triggered by code flaws and not possibly by bad data ?

Dec 2 2022, 9:30 AM
wraitii added a comment to D4428: SM91 upgrade.

@wraitii any update on this migration to SM91? Would be great to move to the newer SM version

Dec 2 2022, 9:25 AM

Oct 27 2022

wraitii added a comment to D4758: Rearrange GC scheduling for reduced lag.

Trying to maintain fps at all costs rather then trying to manage and smooth performance degradation as system stress ramps up is what causes GC shrink to run.

Oct 27 2022, 1:36 PM

Oct 26 2022

wraitii added a comment to D4758: Rearrange GC scheduling for reduced lag.

200ms is the length of time which the turn is simulating. 50ms is the processing time for the turn plus one frame. 150ms is the maximum amount of time that can be given to slice without introducing simulation lag.

But those 150ms aren't free ! They're being used by the renderer to get as close to 60FPS as possible. You can't just run the GC during that time.

Oct 26 2022, 7:40 PM

Oct 24 2022

wraitii added a comment to D4803: Replace SharedStateResult with std::optional.

This looks clean, but I'm not sure if it has performance implications or anything thereof ? Does it change anything? Or are you just fixing my code now that we can presumably use std::optional because we upgraded Xcode since I wrote my code

Oct 24 2022, 6:48 PM
wraitii added a comment to D4812: Disallow conversion in Future return..

Could you rebased D4730 to only contain its own changes? Obviously the patch won't apply, but it'll make it easier to understand why e.g. this patch is necessary

Oct 24 2022, 6:46 PM
wraitii added a comment to D4758: Rearrange GC scheduling for reduced lag.

Imagine a turn + frame which take 50ms to process and simulates 200ms. The slice budget is 200ms - 50ms = 150ms. The back-pressure equation is only relevant for when there isn't enough time to do everything and simulation is being allowed to lag, for example if sim context is 70% full while the simulation turn took 170ms to compute then 40ms will be budgeted instead of 30ms, potentially creating 10ms of lag.
Note that this leaves no time for animation frames if the whole budget is consumed, meaning graphics will run at 5 fps but 100% of available time is being given to slice. If we reserve some of that time for animation frames (32% if we assume 16ms per frame render at 20fps) then we aren't clearing out the excessive JS garbage and getting back on track as quickly. This is where the priority trade off between frame rate and simulation lag is: the tension between keeping it smooth in low stress and keeping it playable at high stress.

Oct 24 2022, 6:44 PM

Oct 23 2022

wraitii requested changes to D4758: Rearrange GC scheduling for reduced lag.

Dove deeper into the issue this morning, things are more complicated than I anticipated but this patch still needs some changes.

Oct 23 2022, 1:38 PM

Oct 16 2022

wraitii added inline comments to D3552: Split the rendering WaterManager in a graphics/ and a renderer/ part..
Oct 16 2022, 5:05 PM
wraitii added a comment to D3877: ThreadPool extension -> Timer for recurrent task & adapt netClient..

I don't understand your comment. To avoid wake up costs you restrict how long the task can take or to avoid wake up costs you introduce a new thread?

Oct 16 2022, 10:20 AM

Oct 15 2022

wraitii updated the diff for D3552: Split the rendering WaterManager in a graphics/ and a renderer/ part..

Rebase

Oct 15 2022, 5:08 PM
wraitii updated the summary of D4428: SM91 upgrade.
Oct 15 2022, 1:03 PM
wraitii updated the diff for D4428: SM91 upgrade.

Rebase & fixes:

  • Make the Linux 32-bit patch apply only on i686 (which I believe is only linux 32 bit?) to work around windows compilation issue.
  • Improve bash script per stan's comments
  • Update to 91.13.1, which is the last ESR for version 91. This requires a different virtualEnv fix for me which I've provided below (it's tied to Homebrew but I assume it won't hurt on mac os anyways).
Oct 15 2022, 1:01 PM
wraitii added inline comments to D4798: Rewrite shore wave vertex creation.
Oct 15 2022, 11:34 AM
wraitii added inline comments to D4798: Rewrite shore wave vertex creation.
Oct 15 2022, 11:26 AM
wraitii added a comment to D3877: ThreadPool extension -> Timer for recurrent task & adapt netClient..

I have a different idea:
A ThreadPool::runAfter(timePoint, timedTask) which pushes the timedTask to a new queue priority_queue<pair<timePoint, timedTask>>. Ordered only by .first.
So there is no need for a extra timerThread and there is no restriction in how long the task can take.

Oct 15 2022, 11:13 AM

Oct 8 2022

wraitii committed rP27135: Fix victory conditions loading (fixes Hero Garrison in regicide crashloop)..
Fix victory conditions loading (fixes Hero Garrison in regicide crashloop).
Oct 8 2022, 2:46 PM
wraitii closed D4793: Fix victory conditions loading (fixes Hero Garrison in regicide crashloop)..
Oct 8 2022, 2:46 PM

Oct 2 2022

wraitii added a comment to D4786: A bit faster "state hash check".

If I run it with this comments it does compute the hash (the hash are print to the console) but the profiler(1 and 2) does not show the time it takes. There are some "empty frames" were were the state hash check would be.

Oct 2 2022, 2:37 PM
wraitii published D4794: Wrap GameSetup init from persistent setting / direct init in a try-catch block. for review.
Oct 2 2022, 1:17 PM
wraitii published D4793: Fix victory conditions loading (fixes Hero Garrison in regicide crashloop). for review.
Oct 2 2022, 1:14 PM
wraitii added a comment to D4786: A bit faster "state hash check".

You can actually execute this in a replay with -hashtest-full=true and -hashtest-quick=true if you make it an MP replay.

Oct 2 2022, 12:16 PM
wraitii requested changes to D4758: Rearrange GC scheduling for reduced lag.

I think changing the GC scheduling is a good idea, but I feel like this overcomplicates things (the current code is IMO also overcomplicated) while also not necessarily doing enough:

Oct 2 2022, 12:14 PM

Aug 22 2022

wraitii added a comment to rP26915: Fix text alignment handling of spaces around wrapping..

What menu is that?

Aug 22 2022, 4:19 PM

Aug 15 2022

wraitii added a comment to D4760: Reduce simulation turns per second from 5 to 4.

See forum post -> I think this is the wrong direction, because average load matters little compared to peak frame load. Maybe the difference doesn't matter a ton here, but I think it's unlikely to be much better either.

Aug 15 2022, 4:49 PM

Jul 6 2022

wraitii resigned from rP25410: Do not allow to start pyrogenesis with incompatible mods.
Jul 6 2022, 9:18 AM
wraitii resigned from rP13472: Write mod data correctly. Fixes #1940..
Jul 6 2022, 9:18 AM
wraitii resigned from rP13167: Fix mod priority. Add user mod support. Fixes #1838..
Jul 6 2022, 9:17 AM

Jun 25 2022

wraitii added inline comments to D4728: No recursive calls in FunctionWrapper.h.
Jun 25 2022, 6:16 PM
wraitii added a comment to D4728: No recursive calls in FunctionWrapper.h.

Looks neater. I don't think I had a particularly good reason to use recursion here.

Jun 25 2022, 4:24 PM

Jun 24 2022

wraitii accepted D4707: [GUI] increase msgbox button size to fix text overlap.

Think this looks fine.

Jun 24 2022, 11:02 AM

Jun 19 2022

wraitii accepted rP26801: Allow setting the passability class dynamically. This is needed to improve….
Jun 19 2022, 2:55 PM

Jun 18 2022

wraitii added a comment to D4703: Choose civ randomly in gamesetup.

I didn't realise we had this feature... I'm in favour, random should be random.

Jun 18 2022, 9:29 AM

Jun 17 2022

wraitii added inline comments to D4702: Groups close minimap icons to decrease their visible count.
Jun 17 2022, 9:05 AM

Jun 14 2022

wraitii added inline comments to D4698: Fix entvalidate.py.
Jun 14 2022, 9:34 AM

Jun 13 2022

wraitii published D4698: Fix entvalidate.py for review.
Jun 13 2022, 9:51 AM

Jun 12 2022

wraitii added inline comments to D4673: [NetClient] Clean up g_xmppClient checking.
Jun 12 2022, 11:58 AM
wraitii updated the diff for D4673: [NetClient] Clean up g_xmppClient checking.

TryToConnectWithXmpp -> TryToConnectViaLobby to match the SetupConnection call (and because XMPP is basically the lobby client).

Jun 12 2022, 11:19 AM
wraitii updated the diff for D4667: Add JS bindings for in game camera attributes.

GetCameraDirection -> GetCameraOrientation for consistency with C++

Jun 12 2022, 10:59 AM
wraitii added a comment to D4667: Add JS bindings for in game camera attributes.

@edoput How do you want to appear in the credits?

Jun 12 2022, 10:57 AM
wraitii accepted D4667: Add JS bindings for in game camera attributes.
Jun 12 2022, 10:55 AM
wraitii committed rP26939: Change deprecated binary_negate<> to not_fn<>.
Change deprecated binary_negate<> to not_fn<>
Jun 12 2022, 10:48 AM
wraitii closed D4693: Fix clang warning for deprecated binary_negate<>.
Jun 12 2022, 10:46 AM
wraitii added a comment to D4682: Profiler2 lives in main().
In D4682#199519, @Stan wrote:

Oh my bad then. Just thought it'd be nice if someday we decide to have proper dependency injection.

Jun 12 2022, 10:45 AM
wraitii accepted D4693: Fix clang warning for deprecated binary_negate<>.
Jun 12 2022, 10:38 AM
wraitii added a comment to D4687: Explicitly differentiate tiles and vertices in rmgen..

Seems like you could fix a few listing problems while at it, but this gets a +1 for being a good idea.

Jun 12 2022, 10:37 AM
wraitii added a comment to D4682: Profiler2 lives in main().

Per https://trac.wildfiregames.com/wiki/Coding_Conventions, we have Prefer global variables over singletons, because then they're not trying to hide their ugliness. It's definitely something I kind of like, because singletons by design make it annoying to have two of something, and that can occasionally be useful.

Jun 12 2022, 10:36 AM
wraitii added a comment to D4679: [Gameplay] - Only have capturing entities contribute to the capture regenrate..

That sounds like good play then? And reckless play from the defender? There are walls to fend off these kind of raids?

Jun 12 2022, 10:32 AM
wraitii added a comment to D4677: span and string_view for CmdLineArgs.

Think this is generally a fairly good first use case, but I believe you could write simpler code, particularly since this bit doesn't really require us to optimise it to death.

Jun 12 2022, 10:31 AM
wraitii added a comment to D4676: [WIP] [Gameplay] Change of the capture paradigm.

Maybe this is too simple, but why don’t we just switch default unit behavior to destroy instead of capture and adjust health and control metrics to reflect how we want them? [...] It seems like it an all around win.

Jun 12 2022, 10:24 AM
wraitii accepted D4673: [NetClient] Clean up g_xmppClient checking.

I'll make a minor tweak to avoid double-messages but I think this looks good

Jun 12 2022, 10:23 AM

Jun 10 2022

wraitii committed rP26934: Improve shadow artifact problems without shadow filtering in some A25….
Improve shadow artifact problems without shadow filtering in some A25…
Jun 10 2022, 9:40 AM
wraitii closed D4681: Fix shadow artifacts without shadow filtering in some A25 biomes/maps.
Jun 10 2022, 9:40 AM
wraitii committed rP26933: Fix gamesetup breakage when matchsettings.json contains incorrect victory….
Fix gamesetup breakage when matchsettings.json contains incorrect victory…
Jun 10 2022, 9:38 AM
wraitii closed D4678: Fix gamesetup breakage when matchsettings.json contains incorrect victory conditions..
Jun 10 2022, 9:38 AM

Jun 9 2022

wraitii updated the diff for D4678: Fix gamesetup breakage when matchsettings.json contains incorrect victory conditions..

Lint

Jun 9 2022, 8:57 AM
wraitii updated the diff for D4681: Fix shadow artifacts without shadow filtering in some A25 biomes/maps.

This should fix that case as well.

Jun 9 2022, 8:54 AM
wraitii added a comment to rP26925: Fix build without precompiled headers. Fixes Phab:rP26915.

Thanks Stan

Jun 9 2022, 8:44 AM

Jun 4 2022

wraitii added a comment to rP26915: Fix text alignment handling of spaces around wrapping..

Probably won't have time to fix it until Monday FYI

Jun 4 2022, 10:11 AM

Jun 3 2022

wraitii added inline comments to D4681: Fix shadow artifacts without shadow filtering in some A25 biomes/maps.
Jun 3 2022, 12:01 PM
wraitii added a comment to D4681: Fix shadow artifacts without shadow filtering in some A25 biomes/maps.

It doesn't fix the ticket, so the ticket must not be closed. But the fix might be committed as soon as accepted until we have a proper solution.

Jun 3 2022, 10:29 AM
wraitii requested review of D4681: Fix shadow artifacts without shadow filtering in some A25 biomes/maps.
Jun 3 2022, 9:40 AM

Jun 2 2022

wraitii requested review of D4678: Fix gamesetup breakage when matchsettings.json contains incorrect victory conditions..
Jun 2 2022, 5:52 PM
wraitii committed rP26916: Minor cleanup in Future and TaskManager.
Minor cleanup in Future and TaskManager
Jun 2 2022, 3:00 PM
wraitii closed D4675: [TaskManager] Minor cleanup in Future + TaskManager.
Jun 2 2022, 2:59 PM
wraitii committed rP26915: Fix text alignment handling of spaces around wrapping..
Fix text alignment handling of spaces around wrapping.
Jun 2 2022, 2:58 PM
wraitii closed D4662: Fix text alignment handling of spaces around wrapping.
Jun 2 2022, 2:58 PM
wraitii added a comment to D4676: [WIP] [Gameplay] Change of the capture paradigm.

I've written about this fairly extensively, and I think the main problem with capturing is that it's boring as hell. Your units don't even fight. I actually think the only legitimate use is sneak-capture. We need a complete revamp of the 'capture' logic to represent breaking-in, defender vs attacker losses, and control of the building as a non-abstract concept IMO for it to work.

Jun 2 2022, 9:32 AM

Jun 1 2022

wraitii updated the diff for D4675: [TaskManager] Minor cleanup in Future + TaskManager.

default in the cpp

Jun 1 2022, 6:16 PM
wraitii added a comment to D4675: [TaskManager] Minor cleanup in Future + TaskManager.

The = defaultwas ok but not in the header file.

Jun 1 2022, 6:14 PM
wraitii updated the diff for D4662: Fix text alignment handling of spaces around wrapping.

Add a specific test for multi-space words. It is indeed not collapsed.
I've de-activated the 'ignore space' logic in those cases, kind of arbitrarily. It seemed more coherent.

Jun 1 2022, 6:12 PM