Time |
Nick |
Message |
00:34 |
|
don_flymoor joined #minetest-hub |
03:11 |
VanessaE |
anyone awake? I really need someone else to take a look at my biome_lib code |
03:12 |
VanessaE |
not just to help me find the cause of mapblocks occasionally (and thankfully, rarely) ending up unpopulated by plants, but also to test the non-minetest_game option (clone, apply this patch over master, see the bottom of API.txt, https://gitlab.com/VanessaE/biome_lib/-/snippets/2097514) |
03:14 |
VanessaE |
also I wouldn't mind if someone could compare generating speed at 353ca0cb or older, against how it is now at HEAD (for me, HEAD definitely feels faster) |
03:15 |
VanessaE |
second opinions and all that. |
03:37 |
MTDiscord |
<Ronoaldo> Hi |
03:37 |
MTDiscord |
<Ronoaldo> you need help debugging is that it? |
03:42 |
VanessaE |
yeah |
03:43 |
VanessaE |
the "unpopulated" part is debugging, the others are just that I need someone who can test things and give me an objective opinion |
03:44 |
VanessaE |
(actually, I suppose I'm really asking for a SUBjective opinion on the speed question ;) ) |
03:45 |
MTDiscord |
<Ronoaldo> (ok, the unpopulated happens with the patch applied or without it?) |
03:45 |
VanessaE |
the patch I mentioned is unrelated |
03:45 |
VanessaE |
this is three separate, unrelated questions/issues |
03:45 |
MTDiscord |
<Ronoaldo> ok, sorry now I'm lost \o/ |
03:46 |
VanessaE |
heh |
03:46 |
MTDiscord |
<Ronoaldo> let me see if I got 1) check from HEAD if I can reproduce some unpopulated blocks 2) check if head is faster than 353ca0cb and 3) peer review and test the patch --- I got them right? |
03:48 |
VanessaE |
if you're inclined to help, try this: clone plantlife and biome_lib (https://gitlab.com/VanessaE/plantlife_modpack and https://gitlab.com/VanessaE/biome_lib). Install. Create a new world (minetest_game, preferably with the flat mapgen), and enable those two mods. Test, observe how fast it is. Now roll biome_lib back to commit 353ca0cb, delete your map.sqlite, and go again |
03:48 |
MTDiscord |
<Ronoaldo> Perfect! I'll give it a got |
03:48 |
MTDiscord |
<Ronoaldo> *go |
03:49 |
VanessaE |
(to me 353ca0cb is much slower than HEAD, which is what I'm hoping is the case for others) |
04:00 |
|
MTDiscord joined #minetest-hub |
04:12 |
MTDiscord |
<Ronoaldo> I'm not very good at testing... I used my notebook in single player and it kind of felt the same to me ? |
04:12 |
VanessaE |
huh |
04:13 |
MTDiscord |
<Ronoaldo> My test mode was not ideal tho, I randomly walked with fast mode |
04:13 |
VanessaE |
well as long as 353ca0cb definitely isn't faster :) |
04:13 |
VanessaE |
the difference might not be too apparent in singleplayer I guess |
04:14 |
MTDiscord |
<Ronoaldo> Do you have some map or seed that could trigger the most of biome generation? |
04:14 |
VanessaE |
the gaol is to reduce apparent lag as everyone else sees it, if and when some chowderhead goes off into neverland and starts thrashing the mapgen to make new terrain |
04:15 |
VanessaE |
well I used the flat mapgen, which happens to make lots of grass |
04:15 |
VanessaE |
seed...um |
04:15 |
VanessaE |
*checks* |
04:15 |
MTDiscord |
<Ronoaldo> I used 1 with flat mapgen, and behave like the crowderhead but as I as also the other player I probably just saw myself lagging myself |
04:16 |
MTDiscord |
<Ronoaldo> I'm not sure what I typed actually makes sense ¬¬ |
04:16 |
VanessaE |
5791653907587404959 |
04:16 |
VanessaE |
there we go |
04:16 |
MTDiscord |
<Ronoaldo> cool |
04:16 |
MTDiscord |
<Ronoaldo> I'll reset things, testing the 353 first this time |
04:16 |
VanessaE |
it makes sense :) |
04:17 |
VanessaE |
except it's cHowderhead, not cRowderhead ;) |
04:17 |
MTDiscord |
<Ronoaldo> lol thanks! |
04:18 |
MTDiscord |
<Ronoaldo> I was feeling crowded |
04:18 |
VanessaE |
heh |
04:23 |
MTDiscord |
<Ronoaldo> so I can't paste the seed ... |
04:23 |
VanessaE |
split into 4 digit groups so you can type it in: 5791 6539 0758 7404 959 |
04:23 |
VanessaE |
(well 4's and a 3) |
04:33 |
MTDiscord |
<Ronoaldo> ok, now I could see that HEAD was indeed faster |
04:33 |
VanessaE |
oh good |
04:33 |
MTDiscord |
<Ronoaldo> on shutdown, from master, I noticed a higher time, and picked this message: 2021-03-30 01:31:59: INFO[Main]: Executing shutdown hooks [biome_lib] Stand by, playing out the rest of the aircheck mapblock log (there are 10175 entries)... |
04:33 |
VanessaE |
that's pretty normal |
04:34 |
MTDiscord |
<Ronoaldo> cool |
04:34 |
VanessaE |
1 chunk is 125 entries |
04:34 |
VanessaE |
so that ^ would be around 9 or 10 entries as reported by 353ca0cb or earlier |
04:35 |
MTDiscord |
<Ronoaldo> grep 'Stand by' *.log -A 1 353.log:[biome_lib] Stand by, playing out the rest of the aircheck mapblock log 353.log-(there are 12 entries)... -- HEAD.log:[biome_lib] Stand by, playing out the rest of the aircheck mapblock log HEAD.log-(there are 10175 entries)... |
04:35 |
VanessaE |
it shouldn't take more than a few tens of seconds on a slow machine |
04:35 |
MTDiscord |
<Ronoaldo> I have the verbose log of both runs, if they help somehow? |
04:35 |
VanessaE |
nah, don't need it |
04:36 |
VanessaE |
I didn't add any debug statements related to the faster code |
04:36 |
MTDiscord |
<Ronoaldo> it ware a few tens of sec. indeed... I'm not sure my machine is "fast", but it's not slow (Ryzen 7 3700U with 16G RAM) |
04:37 |
VanessaE |
I figured in normal use, even if someone goes off and tortures the mapgen, they won't last very long before they either get bored and sign off, or they find an area to play in, either way the mapgen will probably settle back down to idle before the next regular shutdown |
04:38 |
VanessaE |
so that hook usually won't have anything to do |
04:38 |
MTDiscord |
<Ronoaldo> makes sense |
04:38 |
MTDiscord |
<Ronoaldo> oh, I see... the second time I waited less time before shutting down, that is why it took more time right? |
04:39 |
VanessaE |
man I can't math |
04:39 |
MTDiscord |
<Ronoaldo> neither do I... |
04:39 |
VanessaE |
10000 odd entries now is 80ish under the old code |
04:39 |
VanessaE |
that's a LOT |
04:40 |
MTDiscord |
<Ronoaldo> I am considering to write a small script to test before-after and record |
04:40 |
MTDiscord |
<Ronoaldo> would that be useful? |
04:40 |
VanessaE |
during my tests I've never managed to get more than 50 or so "old" entries stacked up (typically about half that) |
04:40 |
VanessaE |
do you just have a really fast flight configured or something? :) |
04:40 |
MTDiscord |
<Ronoaldo> maybe? |
04:41 |
VanessaE |
my machine must be slower than I thought then :) |
04:41 |
MTDiscord |
<Ronoaldo> I do have some waaaay to far view distance (or something) in my conf |
04:41 |
VanessaE |
Phenom II X6 1055T, 2.8 GHz (it's 6 cores but of course MT can only use one when Lua is involved) |
04:41 |
MTDiscord |
<Ronoaldo> doubletap_jump = false aux1_descends = false menu_last_game = minetest autojump = true screen_w = 1291 screen_h = 945 remote_port = 30000 name = pedro address = mercurio.ronoaldo.net fast_move = true keymap_cmd_local = KEY_PERIOD maintab_LAST = local enable_fog = true noclip = false viewing_range = 500 keymap_decrease_viewing_range_min = KEY_MINUS keymap_increase_viewing_range_min = KEY_PLUS mute_sound = false free_move = false |
04:41 |
MTDiscord |
pitch_move = true fixed_map_seed = 5791653907587404959 selected_world_path = /home/ronoaldo/Software/minetest/minetest-5.4.0-ronoaldo-linux/bin/../worlds/biomeworld mainmenu_last_selected_world = 3 mg_name = flat world_config_selected_mod = 3 language = pt_BR fullscreen = false enable_damage = true creative_mode = false mgflat_spflags = nolakes,nohills,nocaverns enable_waving_plants = false fsaa = 0 anisotropic_filter = false mip_map = false |
04:41 |
MTDiscord |
enable_waving_water = false tone_mapping = false trilinear_filter = false bilinear_filter = false leaves_style = fancy enable_waving_leaves = false enable_shaders = false node_highlighting = box mg_flags = light,nodecorations,ores,nocaves,biomes,nodungeons |
04:41 |
VanessaE |
I guess a Ryzen 7/3700 is like 3-4x as fast |
04:42 |
|
Fixer joined #minetest-hub |
04:42 |
MTDiscord |
<Ronoaldo> I am terrible with hardware so I don't know for sure ... I barelly know the CPU version or something |
04:42 |
VanessaE |
you might want to limit your paste size when you're in the "IRC" channels there on the discord |
04:42 |
MTDiscord |
<Ronoaldo> oops sorry |
04:43 |
VanessaE |
anyway, as long as the new code feels faster, it's doing its job :) |
04:43 |
MTDiscord |
<Ronoaldo> it does for my tests now |
04:45 |
VanessaE |
oh yeah... if I let it get way behind and then quit without letting it catch up, |
04:45 |
VanessaE |
(there are 21839 entries)... |
04:45 |
VanessaE |
heh |
04:45 |
VanessaE |
took about 20s for it to finish. |
04:46 |
MTDiscord |
<Ronoaldo> yeah, but this test was just an edge case tho, on real world usage this would not happen at shutdown |
04:46 |
VanessaE |
(maybe 30, I didn't time it closely) |
04:46 |
VanessaE |
yeah, that was flat mapgen, flying at full speed and not looking back or stopping, then quitting without pausing more than a moment |
04:46 |
VanessaE |
worst possible case |
04:47 |
VanessaE |
20-30s to process 21839 action entries is pretty good |
04:47 |
VanessaE |
:) |
04:47 |
MTDiscord |
<Ronoaldo> indeed |
04:47 |
MTDiscord |
<Ronoaldo> it's like 1000 entities/s |
04:47 |
VanessaE |
entries |
04:48 |
MTDiscord |
<Ronoaldo> entries makes more sense .... |
04:49 |
MTDiscord |
<Ronoaldo> ok, out of curiosity, from here https://gitlab.com/VanessaE/biome_lib/-/snippets/2097514#LC123 |
04:49 |
MTDiscord |
<Ronoaldo> why not initialize all the default replacement tables like the final ones (c3, c4 and c5)? |
04:50 |
VanessaE |
because string.split() returns a table, {foo, bar, baz, meh} if given "foo,bar,baz,meh" as in input, and those last three can take the tables in that form |
04:50 |
MTDiscord |
<Ronoaldo> c1 and c2 are initialized with if/else blocks but the c3-c5 ones are initialized with an oneliner |
04:51 |
MTDiscord |
<Ronoaldo> hmm, c1 and c2 are string:bool "maps" right? |
04:52 |
VanessaE |
but the first two need tables in the form of {["foo"] = true, ["bar"] = true,.....} so that I can just do test = "foo" if table[test] then.... i.e. if the element specified by 'test' is present at all in the table |
04:53 |
VanessaE |
(like at like 139 of the snippet) |
04:53 |
MTDiscord |
<Ronoaldo> ok |
04:53 |
VanessaE |
line* |
04:53 |
MTDiscord |
<Ronoaldo> got it |
04:54 |
MTDiscord |
<Ronoaldo> the only "edge" case I see is if strings.split("default:dirt, default:air") is used, second entry will have a leading space |
04:54 |
MTDiscord |
<Ronoaldo> is a trim needed? |
04:54 |
VanessaE |
string:bool maps.. um.. maybe. :) there's a name for this kind of {["foo"] = true, ...} table but I can't remember it |
04:54 |
VanessaE |
I think spaces are stripped-off? |
04:55 |
VanessaE |
* `include_empty`: boolean, default: `false` |
04:55 |
VanessaE |
I assume that trims whitespace as well as things like foo,,,bar |
04:56 |
VanessaE |
(and if it doesn't, well, the user should remove the spaces from the minetest.conf entry ;) ) |
04:56 |
luk3yx |
VanessaE: It doesn't look like it does trim whitespace |
04:56 |
VanessaE |
ok. |
04:56 |
VanessaE |
maybe I can just use that string.trim() call |
04:57 |
VanessaE |
https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L3235-L3244 |
04:57 |
VanessaE |
maybe not |
04:58 |
MTDiscord |
<Ronoaldo> I tought that was a lua stdlib function. It's defined by minetest right/ |
04:58 |
MTDiscord |
<Ronoaldo> ? |
04:58 |
luk3yx |
Both string.trim and string.split are defined by Minetest |
04:59 |
luk3yx |
They're defined in https://github.com/minetest/minetest/blob/6c9be39db0d8ae2759cc8d6d5c4b952d13cf4f64/builtin/common/misc_helpers.lua#L171-L208 |
05:01 |
VanessaE |
local function trim(s) |
05:01 |
VanessaE |
local s1=string.gsub(s, ", ", ",") |
05:01 |
VanessaE |
return string.trim(string.gsub(s1, " ,", ",")) |
05:01 |
VanessaE |
end |
05:01 |
VanessaE |
that ought to cover it. |
05:01 |
luk3yx |
And string.trim doesn't work? |
05:01 |
luk3yx |
You'd have to run it over every list entry in split |
05:01 |
VanessaE |
it just says it drops leading and trailing whitespace |
05:02 |
luk3yx |
Say `for k, v in ipairs(my_list) do my_list[k] = v:trim() end` |
05:02 |
VanessaE |
not if I trim the string before splitting it. |
05:02 |
MTDiscord |
<Ronoaldo> the issue is that the split will produce intermediate values that need to be trimmed |
05:02 |
VanessaE |
e.g. string.split(trim(s)) (trim being the above funt) |
05:03 |
luk3yx |
So if you wanted to use string.trim you'd have to iterate over the result of string.split |
05:03 |
VanessaE |
no |
05:03 |
luk3yx |
But otherwise making your own trim function is probably easier |
05:03 |
VanessaE |
string.gsub will perform its substitution across the WHOLE string |
05:03 |
MTDiscord |
<Ronoaldo> what about local s = strings.split ; then use biome_lib.default_water_nodes[s(i)] = true |
05:03 |
VanessaE |
not just the first match. |
05:04 |
MTDiscord |
<Ronoaldo> spaces are ilegal in node names right? |
05:04 |
VanessaE |
yep., |
05:04 |
VanessaE |
but they're legal in table keys. |
05:04 |
MTDiscord |
<Ronoaldo> ok, full replace before split fixes that |
05:04 |
VanessaE |
so I have to pack the string before splitting it into a table. |
05:05 |
MTDiscord |
<Ronoaldo> what is pack the string? |
05:05 |
VanessaE |
as in pack out the spaces |
05:05 |
VanessaE |
compact |
05:05 |
MTDiscord |
<Ronoaldo> ok, got it... why not just plain replace(" ", "") from the cfg value then split? |
05:06 |
VanessaE |
eh? |
05:06 |
VanessaE |
oh, string.gsub can use an empty string as the replacement? |
05:07 |
MTDiscord |
<Ronoaldo> sorry, I'm new to lua but most string subs allow that, It may not be the case ? |
05:07 |
VanessaE |
it can. |
05:07 |
VanessaE |
> =string.gsub("foo bar baz", " ", "") |
05:07 |
VanessaE |
foobarbaz2 |
05:07 |
VanessaE |
that simplifies it a bit :) |
05:07 |
MTDiscord |
<Ronoaldo> cool ? |
05:07 |
MTDiscord |
<Ronoaldo> ok, so edge case fixed then. |
05:08 |
MTDiscord |
<Ronoaldo> LGTM |
05:09 |
VanessaE |
there, reload the split |
05:09 |
VanessaE |
er |
05:09 |
VanessaE |
there, reload the *snippet* |
05:10 |
VanessaE |
(I guess you have to re-download it, git reset biome_lib to HEAD, and re-apply it) |
05:12 |
MTDiscord |
<Ronoaldo> I did not applied the patch, was just reading the diff ? |
05:12 |
VanessaE |
ok :) |
05:13 |
VanessaE |
thanks for catching that though :) |
05:14 |
MTDiscord |
<Ronoaldo> ok, so 2/3 help, it's 2am now I'll go sleep before I start typing stranger things |
05:14 |
VanessaE |
good night :) |
06:19 |
|
Kimapr1 joined #minetest-hub |
06:24 |
|
Kimapr joined #minetest-hub |
06:50 |
|
hlqkj joined #minetest-hub |
07:08 |
|
scr267_ joined #minetest-hub |
07:44 |
|
Kimapr1 joined #minetest-hub |
08:00 |
|
ShadowNinja joined #minetest-hub |
09:39 |
|
calcul0n_ joined #minetest-hub |
09:53 |
celeron55 |
offtopic but interesting https://helplbrysavecrypto.com/ |
09:56 |
sfan5 |
I thought "crypto" meant cryptography, weird ;) |
10:09 |
VanessaE |
it still does :P |
10:10 |
|
calcul0n__ joined #minetest-hub |
10:15 |
MTDiscord |
<appguru> Is configuration being a pain again? |
10:37 |
|
olliy joined #minetest-hub |
10:56 |
rubenwardy |
Cryptocurrency does seem more like a security than a currency |
10:56 |
rubenwardy |
Blockchain bros are so cringe |
11:06 |
rubenwardy |
https://twitter.com/SaishyKitty/status/1368999942061236232 |
11:15 |
|
Kimapr joined #minetest-hub |
12:46 |
|
DS-minetest joined #minetest-hub |
14:23 |
|
hlqkj joined #minetest-hub |
14:30 |
|
ronoaldo joined #minetest-hub |
16:37 |
Krock |
no idea how the camera works but I'm getting there sooner or later. https://krock-works.uk.to/u/rotations-2021-03-30_18.36.15.mp4 |
16:56 |
Krock |
https://krock-works.uk.to/u/rotations-2021-03-30_18.56.01.mp4 |
16:56 |
Krock |
how about that |
17:03 |
Krock |
uhm it's kinda glitchy when colliding with stuff. not sure if depending it on the movement direction is a good idea |
18:03 |
rubenwardy |
What is that? |
18:04 |
|
Fixer joined #minetest-hub |
18:09 |
Krock |
rubenwardy: alternative 3d view, using the same rotation and control mechanisms as seen in other games |
18:10 |
Krock |
but since there's no "focus lock" for actions (dig, place, punch), it's just pure eye candy at best |
18:19 |
|
Peppy joined #minetest-hub |
18:19 |
MTDiscord |
<Benrob0329> That seems like it could be rather helpful for certain types of games, I feel like adding intractability would be worthwhile |
20:12 |
|
homthack joined #minetest-hub |
21:22 |
MTDiscord |
<Jordach> Krock: one flaw, it applies with first person attachments |
21:22 |
MTDiscord |
<GreenXenith> Is that really a flaw? |
21:22 |
MTDiscord |
<GreenXenith> Sounds like a feature™️ |
21:31 |
MTDiscord |
<Jordach> dewpends |
21:31 |
MTDiscord |
<Jordach> depends even |
21:31 |
MTDiscord |
<Jordach> IRL you sidestep |
21:32 |
MTDiscord |
<Jordach> not rotate your body 90 degrees |
21:32 |
MTDiscord |
<Jordach> if it only applies to local players that's fine |
22:37 |
|
Jordach joined #minetest-hub |
22:40 |
|
panwolfr- joined #minetest-hub |
22:42 |
|
Calinou_ joined #minetest-hub |
22:42 |
|
erstazi joined #minetest-hub |