Page MenuHomeWildfire Games

smiley (M.L)
User

Projects

User Details

User Since
Jan 31 2018, 11:59 AM (146 w, 6 d)

3/2/19

Recent Activity

Yesterday

smiley added a comment to rP24241: Fix segfault in FCollada with Visual Studio > 2013. Bump the version of….

https://github.com/rdb/fcollada if the maintainer is active, maybe that's a good candidate for a de facto upstream.

Tue, Nov 24, 2:58 PM
smiley added a comment to rP24241: Fix segfault in FCollada with Visual Studio > 2013. Bump the version of….

Does FCollada have an upstream anymore? it would be in everyone's best interest to not have N different libraries.

Tue, Nov 24, 2:41 PM
smiley added a comment to D2474: Fix Collada build on VS2015.

I am not sure this functionality should be totally removed. I went with what basically boils down to: if (!alloc) setAlloc(malloc).

Tue, Nov 24, 8:23 AM
smiley added a comment to D3130: Updates for compiling with VS2017.

FCollada.dll!fm::vector<char,1>::reserve(unsigned int count) Line 297 C++ Symbols loaded.

Tue, Nov 24, 7:44 AM

Oct 9 2020

smiley added a comment to D2726: AMD Ryzen fix.

I assume the TSC assumed to be present is invariant. I read that Intel's use invariant which is tied to the nominal clockrate and therefore not affected by either the turbo mode, or the low power mode and pretty much stays in sync even when throttled. I guess AMD doesn't deem it worth supporting the invariant TSC anymore. Or maybe, they never did, and the issue arose with these new ones.

Oct 9 2020, 4:26 PM

Sep 28 2020

smiley added inline comments to D1545: Provide AI json description files with ID tag to tell them apart from other JSON files.
Sep 28 2020, 8:45 PM
Herald added a reviewer for D1545: Provide AI json description files with ID tag to tell them apart from other JSON files: Angen.

Patch is alright logically. But syntactically, I am not so sure.

Sep 28 2020, 8:41 PM

Sep 16 2020

smiley added a comment to D3010: Handle 0 case for template parsing.

Right, hence not having null be distinguished from null.

Sep 16 2020, 10:16 PM
smiley added inline comments to D3010: Handle 0 case for template parsing.
Sep 16 2020, 7:57 PM
smiley added inline comments to D3010: Handle 0 case for template parsing.
Sep 16 2020, 7:50 PM
smiley requested review of D3010: Handle 0 case for template parsing.
Sep 16 2020, 5:16 PM

Aug 19 2020

smiley added a comment to D1746: Network Dialog / Troll removal device.

This looks great! Is it possible to also show when a player is having issues with turn calculation? This is important for late game when some players computer can't handle the processing, it would show who's having trouble which would otherwise be hidden.

Aug 19 2020, 12:59 PM

Aug 1 2020

smiley added a comment to D2377: Fix text input max_length attribute..

Thanks for the fair warning, and the time you took to express it :)

Aug 1 2020, 4:59 PM
smiley added inline comments to D2399: #1325 Replace ecvt() in FCollada with something else.
Aug 1 2020, 4:47 PM

Jun 27 2020

smiley added a comment to D2828: Flood fill algorithm to check tile connections.

Since there seems to be some confusion.

Jun 27 2020, 11:35 AM

Jun 26 2020

smiley added a comment to D2828: Flood fill algorithm to check tile connections.

I have been looking at this as a connectivity test rather than a flood fill algorithm.

Jun 26 2020, 5:43 PM

Jun 22 2020

smiley added a comment to D2828: Flood fill algorithm to check tile connections.

I will do those aforementioned tests and post here if something is not behaving as expected.

Jun 22 2020, 8:45 PM
smiley added a comment to D2830: Alpine Mountains random map.

I see what you mean actually. I kinda like the new look.

Jun 22 2020, 7:38 PM
smiley added a comment to D2828: Flood fill algorithm to check tile connections.

I slightly cleaned up the syntax.

Jun 22 2020, 3:23 PM
smiley added inline comments to D2828: Flood fill algorithm to check tile connections.
Jun 22 2020, 12:29 PM
smiley added a comment to D2830: Alpine Mountains random map.

If Noise2D can not be used, then I guess its fine.

Jun 22 2020, 12:21 PM
smiley added a comment to D2828: Flood fill algorithm to check tile connections.

Keeping the connectivity map in a tileclass is also an idea but seems like that cache would always be on the verge of invalidation.

Jun 22 2020, 12:04 PM
smiley added a comment to D2829: Add perlin and simplex noise functions.

The Noise.js implementations are also simplex noise. Any reason they do not suffice?

Jun 22 2020, 11:41 AM

Dec 13 2019

smiley added inline comments to D1630: Add perlin noise generator..
Dec 13 2019, 9:02 PM

Dec 12 2019

smiley added inline comments to D1630: Add perlin noise generator..
Dec 12 2019, 7:36 AM

Dec 10 2019

smiley added a comment to D2454: Add 2d value noise for rmgen..

https://smiley3.github.io/ The darker one is what I came up with.

Dec 10 2019, 8:53 AM
smiley added inline comments to D2454: Add 2d value noise for rmgen..
Dec 10 2019, 6:42 AM

Nov 14 2019

smiley added a comment to D2399: #1325 Replace ecvt() in FCollada with something else.

It does work as advertised. I just think the fix could be better.

Nov 14 2019, 7:06 PM
smiley added a comment to D2399: #1325 Replace ecvt() in FCollada with something else.

What other info should be added? Something like "License of musl libc - MIT license"?

https://code.wildfiregames.com/source/0ad/browse/ps/trunk/libraries/source/fcollada/src/FCollada/FUtils/FUStringBuilder.hpp$1-13

Nov 14 2019, 6:46 PM

Nov 2 2019

smiley added inline comments to D2399: #1325 Replace ecvt() in FCollada with something else.
Nov 2 2019, 11:55 AM

Oct 15 2019

smiley added a comment to D2377: Fix text input max_length attribute..

Since apparently I had commented on this before, I have a feeling this would not quite work the way it should in certain cases.

Oct 15 2019, 4:54 PM

Jul 21 2019

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

That's an oversimplification.

function test()
{
    var a = 6;
    console.log(a);
}
Jul 21 2019, 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: Generalise hard-counter tooltips..
Jun 7 2019, 11:53 AM
smiley added inline comments to D1707: Generalise 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: Generalise hard-counter tooltips..
May 10 2019, 10:13 AM
smiley added inline comments to D1707: Generalise hard-counter tooltips..
May 10 2019, 9:33 AM

May 4 2019

smiley added a comment to D1400: [gameplay] 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