Page MenuHomeWildfire Games

smiley (M.L)
User

Projects

User Details

User Since
Jan 31 2018, 11:59 AM (80 w, 3 d)

3/2/19

Recent Activity

Sun, Jul 21

smiley added a comment to D2107: Clean var values from Trader.js.

That's an oversimplification.

function test()
{
    var a = 6;
    console.log(a);
}
Sun, Jul 21, 8:04 PM

Jul 10 2019

smiley added a comment to D2059: Let "GetPrimaryMember"-function of "Formation"-component actually return something of a primary member..

I am not so sure whether this is any less arbitrary. In other games, the primary member seems to be the bulk of the army. That doesn’t necessarily mean numerically.
(Just a random thought, do what the reviewer says and you will be good)

Jul 10 2019, 7:26 PM

Jul 9 2019

smiley added a comment to D1501: Mapgen: library improvements.

typo. 8 -> 18

Jul 9 2019, 10:57 PM
smiley added a comment to D1501: Mapgen: library improvements.

That 6s performance is achieved by nuking the 27 already IIRC

It helps, but the best I achieved was 18 seconds on 512 8 player mainland. You might have better luck with nani's patch.

Jul 9 2019, 10:52 PM

Jun 29 2019

smiley abandoned D1642: Allow to manipulate the heightmap in simulation.

(Apparently refs #2264. Overall design seems to be the same.)

Jun 29 2019, 9:03 PM

Jun 25 2019

smiley added a comment to D1492: Abort instead of throwing an error when dealing with empty areas..

Why would I know that? When I first mentioned that none of this stuff are going anywhere, (most of those posts were removed)

I guess someone is confusing Wildfire Games for their personal patchslave.

So, best I can do is guess based on evidence. The way I see it, I am doing wfg a favor.

Jun 25 2019, 10:20 PM
smiley added a comment to D1492: Abort instead of throwing an error when dealing with empty areas..
  1. Look at the date on which this was uploaded
  2. Look at what was changed
  3. Try to come up with a reason
Jun 25 2019, 9:16 PM
smiley abandoned D1677: [Minor cleanup] Use typed arrays where possible and worth it..

Adds literally nothing of value whatsoever -.-

Jun 25 2019, 7:58 PM
smiley abandoned D1492: Abort instead of throwing an error when dealing with empty areas..

Nobody cares about tiny maps anyway.

Jun 25 2019, 7:55 PM
smiley abandoned D1599: Texture priority support for rmgen.

Status correction. Changes are not planned. (at least not relevant to this status)
Also, this is not the only changes relevant for priority.

Jun 25 2019, 7:53 PM
smiley added a comment to D2010: Replace an incorrect math.max() by math.min() in tileclass.

Patch by smiley

Is it really? ax -> in hardly counts as a change, let alone a patch.
Is there legal meaning behind that?

Jun 25 2019, 7:46 PM
smiley added a comment to rP21026: Cleanup TileClass prototype and use vector arguments for countInRadius….

(There have been a release *after* this was found)

Jun 25 2019, 5:45 PM

Jun 12 2019

smiley added a comment to D1628: Reregister game in multiplayer lobby when host disconnects from lobby..

The cathedral and the bazaar
To be honest, i never figured out which was which. It's all cathedrals.

Jun 12 2019, 8:51 PM

Jun 7 2019

smiley added inline comments to D1707: Hard-counter tooltips.
Jun 7 2019, 11:53 AM
smiley added inline comments to D1707: Hard-counter tooltips.
Jun 7 2019, 11:46 AM

May 30 2019

smiley added a comment to D1501: Mapgen: library improvements.

If you've got a way to dramatically reduce that and it proves to work then it's practically guaranteed to be accepted.

https://youtu.be/uCGD9dT12C0

May 30 2019, 11:57 PM
smiley added a comment to D1501: Mapgen: library improvements.

I have already checked out this branch. I feel the constraints took a right step, but I always favored using the objects directly without proxies. I guess that needs a detailed analysis.

May 30 2019, 11:34 PM
smiley added a comment to D1501: Mapgen: library improvements.

You should submit this.

You have done far more valuable things. I guess it doesn't matter if they are here or on a local machine.

May 30 2019, 11:22 PM
smiley added a comment to D1501: Mapgen: library improvements.

Yeah, I found the 6-36 thing hard to believe too. Way less and faster iteration and way more efficient cpu cache usage might be the reason. The significantly JS typed arrays would have something to do with it too.
Anyway, we are now speaking of things which does not matter.

May 30 2019, 10:56 PM
smiley added a comment to D1727: Update auras when a formation member renames.

requested changes to this revision.

I don't have any other answer than requesting someone else to commandeer.

May 30 2019, 10:49 PM
smiley added a comment to D1501: Mapgen: library improvements.

I just wanted to point out that the changes to tileclass is unneeded and only removes a possibility. The chance of someone needing to count the number of tagged tiles within a radius is not that far off.

May 30 2019, 6:15 PM

May 29 2019

smiley added a comment to D1501: Mapgen: library improvements.

(First two is from a significantly optimized tileclass system)
Without early return.

Setting biome generic/alpine.
Generating Mainland of size 512 and 8 players.
Creating playerbases... 0.221s.
Creating bumps... 2.384s.
Creating hills... 0.593s.
Creating forests... 1.514s.
Creating dirt patches... 0.986s.
Creating grass patches... 0.615s.
Creating stone mines... 0.013s.
Creating metal mines... 0.004s.
Creating decoration... 0.213s.
Creating food... 0.016s.
Creating food... 0.008s.
Creating straggler trees... 0.248s.
Total map generation time: 6.848s.
Total entities: 16350, Terrain entities: 12882, Textures: 13.
May 29 2019, 1:27 PM

May 28 2019

smiley added a comment to D1501: Mapgen: library improvements.

I replaced the tileclass member counting function used by constraints with a function that returns either true or false, using early exit for success/failure depending on the type of query. The early exit should moderately reduce the cost of constraints checking, which is probably the largest single cost for generating maps.

May 28 2019, 11:10 PM

May 20 2019

smiley added a comment to rP21082: Implement a ConvexPolygonPlacer that returns all points in the convex hull of….

I researched it, wrote it, tested it, benchmarked it and compared it with old code on my own. It was definetly not easy work.
To answer the question, past me would have come up with something better than "idk man, i am not sure if thats even something i want at this point". Honestly, from what I can tell, it sounds horrible.

May 20 2019, 8:22 PM

May 19 2019

smiley added inline comments to D1905: Vision Blocking by Terrain while exploring.
May 19 2019, 12:46 PM
smiley added inline comments to D1905: Vision Blocking by Terrain while exploring.
May 19 2019, 11:52 AM

May 18 2019

smiley added inline comments to D1905: Vision Blocking by Terrain while exploring.
May 18 2019, 10:49 PM
smiley added inline comments to D1905: Vision Blocking by Terrain while exploring.
May 18 2019, 10:04 PM
smiley added inline comments to D1905: Vision Blocking by Terrain while exploring.
May 18 2019, 1:12 PM

May 13 2019

smiley added a comment to rP21082: Implement a ConvexPolygonPlacer that returns all points in the convex hull of….

I guess I focused on the wrong keyword there. (given your stance on both, I wasn't sure)
All that matters to me is the intention. Not the phrasing.

May 13 2019, 10:57 PM
smiley added a comment to rP21082: Implement a ConvexPolygonPlacer that returns all points in the convex hull of….

If the people/person who cares about the thing can see it, I am content.
Making things public did not really helped much in the past, which probably played a part in that view.

May 13 2019, 10:33 PM
smiley added a comment to rP21082: Implement a ConvexPolygonPlacer that returns all points in the convex hull of….

Is it private wip crap?

Irrelevant. I found a defect and I am just pointing it out. With arguments and opinion for why I think it needs to be fixed.
Does it make much of a difference anyway?

May 13 2019, 10:16 PM
smiley added a comment to rP21082: Implement a ConvexPolygonPlacer that returns all points in the convex hull of….

I only considered two things, the result is wrong, and this gets called with such points quite often. Since it got resolved with the rewrite, I either had to reintroduce the bug for mapgen hash matching or leave it alone.
I won’t raise a concern. I will leave it up to you to decide whether the current results are acceptable.

May 13 2019, 9:24 PM

May 10 2019

smiley added a comment to rP21082: Implement a ConvexPolygonPlacer that returns all points in the convex hull of….

I think the gift wrapping algorithm was implemented based on this description: https://en.wikipedia.org/wiki/Gift_wrapping_algorithm#Algorithm

Indeed it is. I found this while investigating a mapgen mismatch following an algorithm change, and found it interesting.
Btw, this does imply this is technically wrong since a placer called for points on a line should at least include all the points of the input. Someone raise a concern or something?
This does get called with such points quite often.

May 10 2019, 9:26 PM
smiley added a comment to rP21082: Implement a ConvexPolygonPlacer that returns all points in the convex hull of….

[{x:265, y:26}, {x:266, y:26}] for [{x:269, y:26}, {x:268, y:26}, {x:266, y:26}, {x:265, y:26}] is what the code does. Which vertices would constitute a convex hull. The term convex hull is being bent here. A Convex Hull implies a polygon. Co-linear points cannot form a polygon regardless of how they are connected.

May 10 2019, 8:21 PM
smiley added a comment to rP21082: Implement a ConvexPolygonPlacer that returns all points in the convex hull of….

Mind elaborating what the expected result should be for points on a straight line? (Not what the code does, what it should do?)
I am just interested in the reasoning.

May 10 2019, 7:29 PM
smiley added inline comments to D1707: Hard-counter tooltips.
May 10 2019, 10:13 AM
smiley added inline comments to D1707: Hard-counter tooltips.
May 10 2019, 9:33 AM

May 4 2019

smiley added a comment to D1400: Hero aura revision.

Probably. Whether it interests the relevant people is a different question.

May 4 2019, 7:39 PM

Apr 25 2019

smiley added a comment to D1846: Adds a "properties"-property to resources and let mods be able to prevent resources from being bartered, traded and/or tributed..

(A certain other project also has this feature implemented. Mostly irrelevant, but if this is not committed before the first release, it might be of some interest)

Apr 25 2019, 11:31 AM

Apr 24 2019

smiley added a comment to D1846: Adds a "properties"-property to resources and let mods be able to prevent resources from being bartered, traded and/or tributed..

Angen also have a patch doing this. See the mythology mod.

Apr 24 2019, 9:20 PM
smiley added inline comments to rP22219: Const-Correct the long range pathfinder.
Apr 24 2019, 9:15 PM

Apr 23 2019

smiley added inline comments to D1631: TileClass optimization..
Apr 23 2019, 7:21 AM

Apr 22 2019

smiley added inline comments to D1631: TileClass optimization..
Apr 22 2019, 10:55 AM
smiley added inline comments to D1631: TileClass optimization..
Apr 22 2019, 10:26 AM
smiley added a comment to D1631: TileClass optimization..
Apr 22 2019, 10:19 AM

Apr 16 2019

smiley added inline comments to D1769: Do not mark unit as injured when receives 0 damage.
Apr 16 2019, 6:47 PM
smiley added inline comments to D1769: Do not mark unit as injured when receives 0 damage.
Apr 16 2019, 5:19 PM

Apr 12 2019

smiley added a comment to D1822: Handle hotkey to order only one unit on minimap.

I still have no clue what this feature is? Does it allow giving order to one unit even though you have multiple selections?

Apr 12 2019, 8:17 AM · Contributors
smiley added a comment to D1637: BoolArray array wrapper..

80% improvement on some maps. Already decided. As mentioned before, js “pureness” is a moot point. Take what you can.
Btw, JS iterators only have a next() function.

Apr 12 2019, 8:14 AM

Apr 7 2019

smiley added inline comments to rP13472: Write mod data correctly. Fixes #1940..
Apr 7 2019, 8:12 PM
smiley added a comment to D1637: BoolArray array wrapper..

(Maybe add an iterator?, for something like tileclasses, it may not be relevant, but I assumed this was not to be restricted rmgen/ )

Apr 7 2019, 6:28 PM
smiley added inline comments to rP13472: Write mod data correctly. Fixes #1940..
Apr 7 2019, 6:14 PM
smiley added inline comments to rP13472: Write mod data correctly. Fixes #1940..
Apr 7 2019, 5:51 PM

Apr 5 2019

smiley added a comment to D1637: BoolArray array wrapper..

But for 15% I'm not so convinced that it's necessary to sacrifice JS pureness.

Somewhere between 30% (most cases) to 50% faster.
Of course, it depends on how much mapgen is spent in tileclasses. Some maps spend more times in placers. But for a giant Ambush map, the 30% was 86 seconds. So, mixed feelings about this. But, you never know until you write code.

Apr 5 2019, 7:38 PM
smiley added a comment to D1637: BoolArray array wrapper..

(I assume you have checked the other sizes. There is a tradeoff between faster iteration and the number of false negatives.)

Apr 5 2019, 6:56 PM
smiley added a comment to D1637: BoolArray array wrapper..

Tileclass patch refers to actually using this thing. And there are a few cleanups in there like nuking rangeOP. But the whole performance improvement is the direct result of solely using this.

Apr 5 2019, 5:40 PM
smiley added a comment to D1637: BoolArray array wrapper..

A giant mainland map doesn’t really prove it. A large grid with a few points is what mainland offers and is exactly what the bool array method excels at. I wonder how it would perform in a grid where it would have to go to the bit-by-bit check quite frequently.

Apr 5 2019, 4:47 PM
smiley added inline comments to D1637: BoolArray array wrapper..
Apr 5 2019, 1:54 PM
smiley added a comment to D1637: BoolArray array wrapper..

The tileclass optimization patch is using this patch only. So, the performance improvement is a direct result of using this. Or we can always write a new data structure that can eliminate half the remaining grid on each iteration.

Apr 5 2019, 7:40 AM

Apr 4 2019

smiley added a comment to D1637: BoolArray array wrapper..

how much it would add (more than nanis patch? so much more that it's worth sacrificing the JS-pureness?).

Apr 4 2019, 11:20 PM

Apr 1 2019

smiley added a comment to D1637: BoolArray array wrapper..

Well yes. The current TileClass.js uses wrong values for the rangeOP. The way I tested it, there would have been no false results like that. That was how the error was found, so I guess the methodology is correct.

Apr 1 2019, 3:20 PM
smiley added a comment to D1637: BoolArray array wrapper..

whether it's feasible at all (may not result in a JS/C++ interface overhead bottleneck), and if it is,

Back then, I started implementing it in a way which does not expose any tile class to js.
It would have worked something like,

Engine.AddTileClass(ID, size);
Engine.AddToTileClass(ID, [p, q, r]);
Engine.TileClassGetPointsInRadius(ID, p, radius);
Apr 1 2019, 11:10 AM
smiley added a comment to D1637: BoolArray array wrapper..

There is a mismatch between the < 27 and >= 27 code path, creating different maps, nani had investigated it too. It would be good to know which one of the two is wrong in order to fix it if it's the one we keep.

I guess you would be out of the loop on this one. But the 27 mismatch was found. And I failed to find any mismatches. But nani claimed that he found mismatches in water maps (only). (This was independent work from both sides, so it is hard to establish conclusions).
Regarding, rangeOP, I have plans to replace it with something working on the same principle but much clearer. But, that is not likely in the near future.

Apr 1 2019, 10:56 AM

Mar 31 2019

smiley added a comment to D1637: BoolArray array wrapper..

Since I was mentioned here and all of this has been discussed with the author before.
Using this would be a significant improvement. Especially for tileclasses. Since it allows eliminating up to 16 tiles in one iteration. This was confirmed by both of us.
Regarding the 27. Just revert the commit that introduced it. Only rangeOp existed initially. And the mismatch issue was found. (I could not reproduce the mismatch you mentioned on water maps, which really does not make any sense to me).
And I proposed moving the tileclasses to c++.

Mar 31 2019, 11:04 PM
D1414: Make ClumpPlacer determine the correct fraction of failed attempts to place points now requires review to proceed.

(I am just removing this from the queue of people who actually can do something)

Mar 31 2019, 8:51 PM

Mar 30 2019

smiley removed 1 auditor(s) for rP21441: Create winning teams for relic and wonder victory instead of letting all allies…: smiley.
Mar 30 2019, 9:36 PM
smiley removed 1 auditor(s) for rP21378: Allow units to be positioned with freehand placement: smiley.

so I don't see anything wrong....

Ok.

Mar 30 2019, 9:35 PM
smiley removed 1 auditor(s) for rP21026: Cleanup TileClass prototype and use vector arguments for countInRadius…: smiley.
Mar 30 2019, 9:33 PM

Mar 25 2019

smiley changed the visibility for P125 smileys mapgen noise generator.
Mar 25 2019, 8:52 PM

Mar 24 2019

nani awarded P133 Attempt at a better UI for external links a Pirate Logo token.
Mar 24 2019, 8:30 PM

Feb 2 2019

smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Feb 2 2019, 7:52 PM
smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Feb 2 2019, 7:19 PM
smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Feb 2 2019, 7:16 PM
smiley added a comment to rP21847: Rewrite the prelobby pages and add the Terms of Service, Terms of Use and the….

(In the while condition? Is that even legal? I'm currently stuck in c++ bytestream hell otherwise I'd have tested or looked up.)

Probably not. (Feeling too meh to test)
Edit: Yes, it is not legal.

Feb 2 2019, 3:18 PM
smiley added a comment to rP21847: Rewrite the prelobby pages and add the Terms of Service, Terms of Use and the….

Then there's the hypothetical race condition where the user doubleclicks on some XmppClient initialization button twice before it's disabled. But that should be caught already

Evidently, it is not. That is exactly the problem (at least that’s the gist of it.)

Feb 2 2019, 1:55 PM
smiley added inline comments to rP21847: Rewrite the prelobby pages and add the Terms of Service, Terms of Use and the….
Feb 2 2019, 12:52 PM
smiley added a comment to rP21847: Rewrite the prelobby pages and add the Terms of Service, Terms of Use and the….

Seems like the first steps and the observed problem are missing.

Not registration, just when logging in. Although, the problem would probably exist then as well. The problem is a second xmpp client being created while the earlier one is logging in. And hence an assertion failure.

Feb 2 2019, 12:39 PM

Feb 1 2019

smiley added inline comments to rP21847: Rewrite the prelobby pages and add the Terms of Service, Terms of Use and the….
Feb 1 2019, 6:11 PM
smiley added a comment to rP21847: Rewrite the prelobby pages and add the Terms of Service, Terms of Use and the….

Press continue, click and accept any of the prelobby docs, see that the continue button is enabled again and press it.

Feb 1 2019, 6:07 PM
smiley added inline comments to rP22075: Health.js cleanup. Fixes Vulkan complaints.
Feb 1 2019, 7:32 AM
smiley added inline comments to D1764: Dynamically sizes the dataCounter overlay.
Feb 1 2019, 6:46 AM

Jan 31 2019

smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Jan 31 2019, 2:37 PM

Jan 29 2019

smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Jan 29 2019, 4:18 PM
smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Jan 29 2019, 1:53 PM
smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Jan 29 2019, 12:25 PM
smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Jan 29 2019, 5:08 AM

Jan 28 2019

smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Jan 28 2019, 3:24 PM
smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Jan 28 2019, 3:21 PM

Jan 27 2019

smiley added inline comments to D1718: Decay/regenerate option for resources when not being gathered from.
Jan 27 2019, 8:23 PM
smiley resigned from D1718: Decay/regenerate option for resources when not being gathered from.
Jan 27 2019, 8:01 PM
smiley reclaimed D1718: Decay/regenerate option for resources when not being gathered from.

Try now.

Jan 27 2019, 7:53 PM
smiley added a comment to D1755: Fix line misaligment in gamesetup settings..

Does look correct now apart from this one thing.
(Would accept the revision but that would be pretty meaningless.)

Jan 27 2019, 7:00 PM
smiley added inline comments to D1764: Dynamically sizes the dataCounter overlay.
Jan 27 2019, 4:20 PM
smiley added inline comments to D1767: Rewrite Profiler2's GUI using highcharts.
Jan 27 2019, 2:41 PM
smiley added inline comments to D1767: Rewrite Profiler2's GUI using highcharts.
Jan 27 2019, 2:39 PM
smiley retitled D1764: Dynamically sizes the dataCounter overlay from Fixes FPS overlay bug in the Bulgarian language to Dynamically sizes the dataCounter overlay.
Jan 27 2019, 2:03 PM
smiley added inline comments to D1764: Dynamically sizes the dataCounter overlay.
Jan 27 2019, 1:51 PM
smiley added a comment to D1764: Dynamically sizes the dataCounter overlay.

Add yourself to gui/credits/text/programming.json (path might be wrong).
And also remove the unnecessary three files from the diff. Only needs the changed JS file.

Jan 27 2019, 1:50 PM
smiley added inline comments to D1755: Fix line misaligment in gamesetup settings..
Jan 27 2019, 5:02 AM