Minetest logo

IRC log for #minetest, 2024-07-19

| Channels | #minetest index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:17 boingman joined #minetest
00:33 Noisytoot joined #minetest
00:34 ShadowBot joined #minetest
00:43 Noisytoot joined #minetest
01:03 Izaya left #minetest
01:03 Izaya joined #minetest
01:34 Noisytoot joined #minetest
01:44 Noisytoot joined #minetest
02:48 Izaya left #minetest
02:50 Izaya joined #minetest
03:00 behalebabo joined #minetest
04:00 MTDiscord joined #minetest
04:23 Izaya left #minetest
04:24 fluxionary joined #minetest
04:27 liceDibrarian joined #minetest
04:34 Izaya joined #minetest
05:03 liceDibrarian joined #minetest
05:32 gregon joined #minetest
05:32 TomTom joined #minetest
05:42 YuGiOhJCJ joined #minetest
06:46 jaxon-dozier joined #minetest
07:10 jaca122 joined #minetest
07:47 jaxon-dozier joined #minetest
07:49 Hanicef joined #minetest
07:51 gregon joined #minetest
08:08 mrkubax10 joined #minetest
08:09 jaxon-dozier joined #minetest
08:10 Noisytoot joined #minetest
08:27 Yenoxel joined #minetest
08:36 frostsnow joined #minetest
08:37 SliverFlowCipher joined #minetest
08:44 Noisytoot joined #minetest
08:47 Loveaabb joined #minetest
09:08 mrkubax10 joined #minetest
10:29 gregon joined #minetest
10:30 ireallyhateirc joined #minetest
11:16 Hanicef how do you set a name on a label in formspec, so it can be styled independently of other labels?
11:16 Hanicef i already tried setting it to the text, but no luck
11:18 MTDiscord <rollerozxa> formspec styling is applied in the order they come, so you can set a style_type for labels, put the label you want to style and then reset the styling
11:18 Hanicef ah, thanks, rollerozra!
11:37 Furi0us_mat joined #minetest
11:47 gregon joined #minetest
13:05 Nusakan joined #minetest
13:41 peterz joined #minetest
14:08 jaca122 joined #minetest
14:13 peterz joined #minetest
14:18 peterz joined #minetest
14:20 silverwolf73828 joined #minetest
14:43 Road_Killer joined #minetest
14:43 ireallyhateirc joined #minetest
16:01 Nusakan joined #minetest
16:04 peterz joined #minetest
16:11 peterz joined #minetest
17:01 mrkubax10 joined #minetest
17:25 book` joined #minetest
17:44 gregon joined #minetest
18:00 bodiccea joined #minetest
18:10 gregon joined #minetest
18:26 mrkubax10 joined #minetest
18:45 Nusakan joined #minetest
19:10 Lunatrius joined #minetest
19:49 germ joined #minetest
19:58 liceDibrarian joined #minetest
19:59 diceLibrarian2 joined #minetest
20:19 ireallyhateirc joined #minetest
20:20 diceLibrarian2 joined #minetest
20:22 Mantar question: I'm trying to attach a particlespawner to an invisible entity. If I set the entity to visible=false, the particlespawner doesn't seem to attach and fall with the entity, it just hangs there in space
20:22 Mantar If I set visible=true, I can watch the entity fall to the ground, but now no particles appear at all. 🤔
20:23 Mantar can anybody think of a mod or something that does this, so I could see how they got it to work?
20:37 MTDiscord <warr1024> Entities that are visible=false are not added to the scene at all, and thus things cannot be attached to them.  The only workaround I know for that is to use an empty model or transparent texture or something.
20:38 MTDiscord <warr1024> In my experience I also don't rely on it being possible to attach anything to an entity as soon as it's created.  I generally create an entity in one step and then attach things to it in later steps.  Of course, I've had a LOT of issues with entity attachments (particlespawners I presume use a similar system) so I'm a bit paranoid.
20:42 Mantar ah, so maybe attaching too soon is causing the attachment to fail somehow and the particlespawner just doesn't appear
20:45 bodiccea joined #minetest
20:56 Mantar got it -- forgot to alter pos when it attached, since the pos becomes relative instead of absolute,oops  ¯\_(ツ)_/¯
20:57 Mantar figured it out by increasing the particle size and spread to colossal, and then spotted them coming out of the sky off to one side
20:57 * Mantar facepalms
21:06 Guest87 joined #minetest
21:17 SpaceManiac joined #minetest
21:27 SpaceManiac joined #minetest
21:42 down200 joined #minetest
21:56 down200 joined #minetest
22:10 jaca122 joined #minetest
22:17 * cheapie joins some random creative server that popped up recently, is greeted by unified inventory with 253 pages and a few roads with intersections that each have about 10 traffic lights all showing different things, then is attacked by a random mob (despite damage being off), then the server crashed
22:17 Mantar lol
22:35 panwolfram joined #minetest
22:40 BluebirdGrey51 joined #minetest
22:42 BluebirdGrey51 About mapgens: I've just discovered that in the async mapgen environment, the blockseed is the same for all chunks. In the "main thread" environment, the blockseed is different for every chunk (the expected behavior). I didn't test to see if this occurs in unmodified minetest_game, but I doubt there's any way my custom game environment could have
22:42 BluebirdGrey51 screwed this up. Can someone confirm this?
22:43 ireallyhateirc could make a test now, but I do my own seed
22:43 BluebirdGrey51 What led to this discovery: I was using PseudoRandom to randomize tree placement per-chunk. I noticed that the trees were in the EXACT same locations in every chunk. Then I printed out the blockseed on the console. Result: same blockseed printed for every mapchunk.
22:46 ireallyhateirc I generate mapchunk hash this way: https://codeberg.org/lord_of_the_dumpster/perfect_city/src/commit/be61144a71bfda41a488a7e217105d66c5f06ed4/mods/pcity_mapgen/utils.lua#L85
22:47 ireallyhateirc So basically take pos_min of the mapchunk, run minetest.hash_node_position
22:47 ireallyhateirc math.randomseed(hash, mapgen_seed)
22:48 ireallyhateirc hash is the hash produced above, mapgen_seed is simply the world seed
22:49 ireallyhateirc BluebirdGrey51, can confirm blockseed is the same for each chunk in mapgen env
22:50 BluebirdGrey51 thanks
22:59 BluebirdGrey51 Reported: https://github.com/minetest/minetest/issues/14868
23:05 Eragon joined #minetest
23:06 ireallyhateirc this bug boosts reproducibility :)
23:37 BluebirdGrey51 joined #minetest
23:38 BluebirdGrey51 I'm jumping in again to say that using minetest.hash_node_position() to generate blockseeds from chunk coords produces insufficiently random results. Examples follow:
23:38 BluebirdGrey51 pos: (26048,23168,5008), blockseed: 1.6225035045421e+14, rnd: 23544
23:39 BluebirdGrey51 pos: (26048,23168,5088), blockseed: 1.6259394783789e+14, rnd: 23544
23:39 BluebirdGrey51 pos: (26048,23168,5168), blockseed: 1.6293754522157e+14, rnd: 23544
23:39 BluebirdGrey51 pos: (26048,23168,5248), blockseed: 1.6328114260525e+14, rnd: 23544
23:39 BluebirdGrey51 All 4 produce the same output sequence (the final number)
23:39 ireallyhateirc I first turn node position to mapchunk coordinates
23:40 BluebirdGrey51 here `blockseed` is the value from minetest.hash_node_position()
23:40 MTDiscord <luatic> math.randomseed possibly only uses something like the lowest 32 bits
23:40 MTDiscord <luatic> and minetest.hash_node_position encodes as a 3*16 = 48 bit number
23:40 ireallyhateirc The code from my repo provices distinct enough results
23:41 MTDiscord <luatic> yep hash_node_position encodes as zyx, 16 bits each
23:41 MTDiscord <luatic> so the lowest 32 bits will be yx only
23:41 BluebirdGrey51 Are you sure? From what I see here, mapchunks on the same Z-axis will produce the same results (a change of X or Y axis produces a different random sequence)
23:41 ireallyhateirc luatic, btw my vector utils PR is ready for review, don't plan doing more work on that, seems ready enough
23:42 MTDiscord <luatic> and your block positions differ in z only
23:42 ireallyhateirc BluebirdGrey51, I generate a road system from that and each chunk is different
23:42 MTDiscord <luatic> ireallyhateirc: thanks for letting me know. i'm afraid it'll have to wait till 5.10.0 due to the feature freeze however.
23:42 BluebirdGrey51 ireallyhateirc, IDK what to make of that, then
23:43 BluebirdGrey51 Note: I was using the value from minetest.hash_node_position() as the param for PsueoRandom, which according to docs accepts a 64bit number
23:44 MTDiscord <luatic> by the way ireallyhateirc: math.randomseed only takes a single argument
23:44 BluebirdGrey51 Oops I am wrong
23:44 ireallyhateirc it takes two actuallyu
23:44 BluebirdGrey51 PseudoRandom only accepts a 32bit number
23:45 MTDiscord <luatic> ireallyhateirc: are you sure that you're checking the 5.1 reference manual?
23:45 ireallyhateirc checking right now
23:45 MTDiscord <luatic> the lua RNG was changed to xoshiro in a newer version (5.3 or 5.4 iirc)
23:45 MTDiscord <luatic> and that needs more seed i think
23:45 MTDiscord <luatic> but 5.1 is just using C stdlib APIs
23:45 ireallyhateirc oh right, I trolled myself again
23:46 BluebirdGrey51 I just read this (I am slow) "yep hash_node_position encodes as zyx, 16 bits each", OK, that explains why I see my results
23:46 ireallyhateirc well, this explains why the second one wasn't doing anything lol
23:47 MTDiscord <luatic> btw the implementation of math.randomseed in PUC Lua casts the number to a 32-bit signed integer. so only the lowest 32 bits of whatever you pass to it will make a difference.
23:47 BluebirdGrey51 But wait ... I did an earlier test, moduo'ing minetest.hash_node_position()'s result by 2147483648, e.g., return minetest.hash_node_position(pos) % 2147483648. And I still saw the same results
23:48 MTDiscord <luatic> PUC Lua 5.1, to be precise, which is what MT uses
23:48 BluebirdGrey51 So I guess the modulo kills the effect of the Z-axis?
23:48 MTDiscord <luatic> yes
23:50 BluebirdGrey51 I hope this can get fixed kinda soonish, https://github.com/minetest/minetest/issues/14868    I was hoping I could use the position hash as a crutch, but it seems I am in for some pain if I want to figure out how to do it right
23:50 ireallyhateirc it's really easy
23:50 MTDiscord <luatic> 2147483648 is just 2^31. that could make a difference for extreme y axis values. in this case you were only getting rid of the z axis - which math.randomseed or seeding pseudorandom would've gone rid of anyways, since they cast to int.
23:50 MTDiscord <luatic> note that you should not use pseudorandom.
23:51 MTDiscord <luatic> use pcgrandom instead. it also allows a 64-bit seed.
23:51 BluebirdGrey51 Can do for some cases but not all. PcgRandom is definitely slower.
23:51 ireallyhateirc why are you using RcgRandom? any advantage of using that over math.random?
23:51 MTDiscord <luatic> BluebirdGrey51: Interesting, by how much? In my benchmarking the opposite was the case.
23:52 MTDiscord <luatic> ireallyhateirc: You don't need to reseed anything after you're done; it's safer
23:52 BluebirdGrey51 I didn't measure, but doing PcgRandom for 80*80*80 mapchunk was noticably slower that PseudoRandom
23:52 MTDiscord <luatic> math.random is much faster though.
23:52 BluebirdGrey51 By "noticeably slower" I mean the difference was really obvious: full seconds.
23:52 ireallyhateirc I just remember to reseed and that's it
23:52 MTDiscord <luatic> this might be hardware-dependent but could you try benchmarking the random individually?
23:53 MTDiscord <luatic> ireallyhateirc: yeah, if you want perf you should use math.random and reseed.
23:53 BluebirdGrey51 Not sure how to do that correctly? I've never bothered to learn proper benchmarking
23:53 ireallyhateirc BluebirdGrey51, as for the mapchunk hash, you use the hash of hash pos_min, right?
23:53 ireallyhateirc pos_min of the mapchunk that is
23:53 BluebirdGrey51 yes, I used chunk minp
23:53 ireallyhateirc and it doesn't work?
23:53 BluebirdGrey51 It did not
23:54 ireallyhateirc okay, weird. Thoug I don't use bare pos_min
23:54 BluebirdGrey51 chunks where minp only differed on the Z-axis produced the same RNG sequence
23:54 ireallyhateirc I calculate "mapchunk coordinates" first
23:54 ireallyhateirc the chunk that starts at xyz: -32 is the 0,0,0 chunk
23:54 ireallyhateirc read this function: https://codeberg.org/lord_of_the_dumpster/perfect_city/src/commit/be61144a71bfda41a488a7e217105d66c5f06ed4/mods/pcity_mapgen/utils.lua#L184
23:55 ireallyhateirc Or better: this: https://codeberg.org/lord_of_the_dumpster/perfect_city/src/commit/be61144a71bfda41a488a7e217105d66c5f06ed4/mods/pcity_mapgen/utils.lua#L42
23:55 MTDiscord <luatic> BluebirdGrey51: Here's my benchmarking code: https://gist.github.com/appgurueu/0fcbe99941064b639c014c2d43318730
23:55 ireallyhateirc Mapchunk coords are what I put into minetest.hash_node_position
23:56 ireallyhateirc and it produces different outcomes
23:56 BluebirdGrey51 I would guess you're seeding  PRNG that accepts 48-bit values
23:57 BluebirdGrey51 I did PsuedoRandom which only does 32bit, so it makes sense to me, that Z-axis is getting dropped
23:57 ireallyhateirc you can use the bit operators to scramble it for your needs I guess?
23:57 BluebirdGrey51 luatic: thanks, but I'm not sure I really understand the benchmark code?
23:57 BluebirdGrey51 I would need to look at it for aqhile
23:57 BluebirdGrey51 *awhile
23:59 MTDiscord <luatic> it is a pretty basic benchmark, not very fancy
23:59 MTDiscord <luatic> what might make it a bit harder to read is that i generate lua code via string format but that's about it

| Channels | #minetest index | Today | | Google Search | Plaintext