Minetest logo

IRC log for #minetest-dev, 2023-09-12

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

All times shown according to UTC.

Time Nick Message
00:50 ShadowBot joined #minetest-dev
01:04 ShadowBot joined #minetest-dev
02:53 v-rob joined #minetest-dev
03:28 beanzilla joined #minetest-dev
03:41 YuGiOhJCJ joined #minetest-dev
03:53 fluxionary joined #minetest-dev
04:00 MTDiscord joined #minetest-dev
04:08 fluxionary joined #minetest-dev
04:18 Noisytoot joined #minetest-dev
04:55 jonadab joined #minetest-dev
05:02 fluxionary joined #minetest-dev
05:02 MTDiscord joined #minetest-dev
05:02 [MTMatrix] joined #minetest-dev
05:02 sugarbeet joined #minetest-dev
05:02 TheCoffeMaker joined #minetest-dev
05:02 erle joined #minetest-dev
05:02 fgaz_ joined #minetest-dev
05:02 behalebabo joined #minetest-dev
05:02 ShadowNinja joined #minetest-dev
05:02 pgimeno joined #minetest-dev
05:02 rubenwardy joined #minetest-dev
05:02 MisterE123 joined #minetest-dev
05:02 clavii joined #minetest-dev
05:02 nore joined #minetest-dev
05:02 dzho joined #minetest-dev
05:02 pmp-p joined #minetest-dev
05:03 [MTMatrix] joined #minetest-dev
05:03 calcul0n joined #minetest-dev
06:01 olliy1or joined #minetest-dev
06:51 v-rob joined #minetest-dev
08:29 calcul0n_ joined #minetest-dev
08:45 calcul0n_ joined #minetest-dev
09:09 yella joined #minetest-dev
09:09 yella joined #minetest-dev
09:19 yella joined #minetest-dev
09:19 yella joined #minetest-dev
09:38 appguru joined #minetest-dev
09:57 appguru joined #minetest-dev
12:43 ROllerozxa is renaming minetest still on the table? haven't heard much discussion about it in a while
12:50 [MTMatrix] <Zughy> There is an internal discussion, yes
12:54 ROllerozxa alright, that's understandable
13:35 TheCoffeMaker joined #minetest-dev
15:30 Desour joined #minetest-dev
15:34 fluxionary joined #minetest-dev
16:02 v-rob joined #minetest-dev
16:24 olliy joined #minetest-dev
16:53 tekakutli joined #minetest-dev
17:12 erle getroffene hunde bellen https://github.com/minetest/minetest/issues/13795#issuecomment-1716093139
17:15 ROllerozxa yikes
17:15 sfan5 wenn du denkst hier weitere kommentare abzulassen helfe deiner position dann nur zu
17:16 sfan5 du hast aber recht, ich habe vergessen dich wieder in die ignorelist aufzunehmen
17:16 erle i am not your enemy and i was not making fun of you in particular. i do think you didn't think it through, but closing and locking a proposal that is clearly performance-relevant because you are offended is not exactly helpful
17:24 [MTMatrix] joined #minetest-dev
17:31 [MTMatrix] <localhost> check dayoftime on global step is normal? Or minetest have alternative way?
17:31 erle localhost depends on what you want to achieve and this is probably a topic for #minetest
17:35 [MTMatrix] joined #minetest-dev
17:37 [MTMatrix] <localhost> just set sky in skybox by time on every connected and joined players. sorry for offtopic
17:37 sfan5 should I mark #13800 as blocker given #13550 is likely to be merged soon?
17:37 ShadowBot https://github.com/minetest/minetest/issues/13800 -- Migration path once MTG is no longer preinstalled
17:37 ShadowBot https://github.com/minetest/minetest/issues/13550 -- Improve UX when no game exists and drop `default_game` by rollerozxa
17:41 rubenwardy It's not a blocked as the latter doesn't remove MTG
17:42 sfan5 ah, true
17:42 sfan5 do we plan to actually do that this release?
17:42 rubenwardy that depends on when the release is
17:42 rubenwardy I'd say
17:44 sfan5 hmm
17:45 [MTMatrix] joined #minetest-dev
17:57 [MTMatrix] joined #minetest-dev
17:59 v-rob joined #minetest-dev
18:07 [MTMatrix] <Zughy> it's supposed to be in September, but frankly if we can delay it to remove MTG, I'm all for it
18:08 rubenwardy we may need to release 5.7.1 very soon to avoid copyright issues
18:08 [MTMatrix] joined #minetest-dev
18:11 erle rubenwardy what's copyrighted?
18:12 ROllerozxa I assume it's about the MTG water texture
18:15 sfan5 well if anyone can work on #13800 or #13799 then we can remove mtg asa
18:15 ShadowBot https://github.com/minetest/minetest/issues/13800 -- Migration path once MTG is no longer preinstalled
18:15 ShadowBot https://github.com/minetest/minetest/issues/13799 -- Allow games to enforce lock-step upgrades with versions
18:15 sfan5 p
18:26 rubenwardy the second one is one my to-do list
18:28 rubenwardy ContentDB allows you to do `min_minetest_version = 5.8` in game.conf to do version limits, would be nice to reuse that. The use of the version name rather than protocol may be an issue, probably should have made it an engine feature before putting it in CDB but alas
18:29 rubenwardy so for Minetest Game you'd do `min_minetest_version = 5.8` and `max_minetest_version = 5.9-dev`   I guess? The -dev there is a bit messy
18:30 rubenwardy Perhaps you'd only set `min_minetest_version = 5.8` and you'd have support for update detection without entering CDB
18:31 rubenwardy (I've been working on faster APIs that make it possible to quickly check for updates without loading the full package information)
18:36 rubenwardy ah #10336
18:36 ShadowBot https://github.com/minetest/minetest/issues/10336 -- Warnings when loading a mod incompatible with this version of minetest
18:39 rubenwardy I went with MT version rather than protocol version as  1) it's more understandable  2) not all MT minor versions have distinct protocol versions.  Note that CDB ignores the minor number
18:39 rubenwardy *patch number
18:41 rubenwardy So to support forks, we could have a concept of API version which happens to be the same as the Minetest version. So a fork could have version 1.1.1 or whatever but api version 5.8
18:45 [MTMatrix] <localhost> whoa! 5.9 soon?
18:47 rubenwardy let's get 5.8 first
18:54 erle rubenwardy i think feature detection is better than version detection. why not make the mods list features they need?
18:54 erle rubenwardy is that too much?
18:54 rubenwardy that would be very complicated
18:55 erle i just thought that there is a feature table, so maybe …
18:55 rubenwardy also the only way that would work is if we gave each mod its own Lua environment and only exposed features if the mod asks for it
18:55 erle it does not make sense to use those things if the version does cover that though
18:55 erle i see
18:55 ROllerozxa btw #13550 should be ready for merge now
18:55 ShadowBot https://github.com/minetest/minetest/issues/13550 -- Improve UX when no game exists and drop `default_game` by rollerozxa
19:06 tekakutli joined #minetest-dev
19:10 Desour joined #minetest-dev
19:41 appguru joined #minetest-dev
20:01 [MTMatrix] <Zughy> about game#3061: can't you just use Soothing 32 as default?
20:01 ShadowBot https://github.com/minetest/minetest_game/issues/3061 -- MTG textures overhaul?
20:03 [MTMatrix] <Zughy> or Mineclone 2 ones
20:05 sfan5 making mtg looks like mcl2 wouldn't be good imo
20:05 sfan5 rubenwardy: ideally only mtg ever uses this feature so I wouldn't worry too much about fork compat
20:06 [MTMatrix] <Zughy> there's also RPG 16, which contrary to Soothing 32, supports all the MTG mods
20:07 sfan5 AFAIK the only reason MTG does this anyway is because it does one or two things that aren't guaranteed to be portable across engine versions
20:07 MTDiscord <warr1024> Soothing 32 is a really nice looking pack, but it makes a very bold aesthetic statement that a lot of existing content wouldn't be able to match.
20:10 [MTMatrix] <Zughy> warr1024: I think that is better to have a sane default people can try to emulate, than a bad one teaching bad art
20:10 sfan5 but MTG isn't supposed to be any kind of "default" ;)
20:32 yella joined #minetest-dev
20:32 yella joined #minetest-dev
20:38 _yella_ joined #minetest-dev
20:47 _yella_ joined #minetest-dev
20:54 erle why was ”won't add” added to this if it was not discussed on its technical merits at all? https://github.com/minetest/minetest/issues/13795
20:54 erle i mean, would it still have been ”won't add” if i had been less of a little sarcastic bitch?
20:57 [MTMatrix] <Zughy> next time you can avoid acting as a sarcastic bitch so you will know
20:57 MTDiscord <warr1024> Adding semi-intelligent compression in various places independent of the type of media could actually be pretty nice.  LZO or Zstd compression of network payloads, possibly compressing stuff that goes into the media file cache, etc.
20:57 [MTMatrix] <Zughy> *little sarcastic bitch
20:57 erle well, i want to tell everyone that i have been told that it is quite rude to point out when people say things that usually indicate they have not put thought into something, even if that assessment is correct (and obviously if it is not). i will try to avoid toing that.
20:58 erle doing
20:58 erle zughy i hope next time people can avoid dismissing solutions on a hunch though.
20:58 erle Warr1024 i agree for obj files actually
20:59 MTDiscord <warr1024> I haven't tested B3D but they might benefit too
20:59 erle Warr1024 why don't you open a ticket about it, you are less obnoxious than me
20:59 MTDiscord <warr1024> and .tr locale files a bit too
20:59 ROllerozxa B3D and X could benefit from compression over the network too, yeah
20:59 ROllerozxa (especially text format X models... *shudder*)
20:59 erle the thing is, with TGA there are files that do not benefit from compression. is that the case with other formats as well?
20:59 MTDiscord <warr1024> I was hoping for compression at a lower protocol layer too, though, e.g. to compress things like those "object properties" packets and such as well.
21:00 erle because if that is the case you need introspection to see if the compression is a good idea or not.
21:00 erle which is something the minetest engine, as far as i can tell, generally does not offer for file formats.
21:00 ROllerozxa (zipping up mobs_mc_dragon.b3d, which is 670KiB, for testing shrinks it down into 50KiB)
21:01 MTDiscord <warr1024> Generally the "smart" way to handle compression, assuming the CPU trade-off works out in general, is just to try to compress everything, and if it ends up larger (or you get any early indication it's not going to go well), you just send things uncompressed, and you have a "compressed" flag in the header so you can do that with as little overhead as possible.
21:01 MTDiscord <warr1024> Compressing media files might be a separate layer to network compression, though, granted.
21:01 erle for images, the classic gamedev example is a dirt texture that is bigger as a compressed PNG than a TGA because it has too much entropy
21:02 erle ROllerozxa i have noticed several such models, usually they can be optimized in other ways too. i strongly suggest to open some files in mm3d and see if it can optimize the surfaces.
21:02 MTDiscord <warr1024> Honestly, just allowing *.z or *.gz and transparently decompressing might be a big boon for media.  IIRC there's a way to save PNG files uncompressed, and if you apply compression outside the PNG header, sometimes you can get some benefits even for a format that's supposed to handle compression internally.
21:03 erle Warr1024 i must disappoint you, having a deflate stream with just literal blocks is one of the worst “uncompressed” formats.
21:03 erle (that is what “uncompressed PNG” refers to i think)
21:04 MTDiscord <warr1024> I've seen gzip squeeze a couple of bytes out of an already-compressed PNG anyway.  When I'm doing web serving and can pre-compress things, I just throw everything through the compressor and see what comes out before deciding, rather than trying to rely on heuristics.  If MT supported transparent decompression of all media, that could become an option for everything MT too.
21:05 erle well, i already suggested just supporting .z, so i agree. i think heuristics are actually much harder to get right in the engine than in mods.
21:05 MTDiscord <warr1024> The nice thing about "worst uncompressed formats" is that shoving them through a compressor can still yield surprisingly good results.
21:06 MTDiscord <warr1024> Yeah, I think we don't even need to worry about heuristics if we just let mod creators decide on whether to compress or not by just providing either compressed or not files.
21:06 erle yes, but i can not figure out any scenario in which a png.z would would be better than a tga.z (worse in terms of filesize, encoding & decoding speed)
21:06 MTDiscord <warr1024> Tbh I think your requests to make TGA transfer more efficient would go a lot more smoothly if you just didn't mention TGA 😉
21:06 erle > I think we don't even need to worry about heuristics if we just let mod creators decide
21:06 erle finally someone agrees with me
21:07 erle Warr1024 so you making an issue for general handling of .z files?
21:08 MTDiscord <warr1024> Given that .obj, .b3d, .x, and .tr already can benefit from compression, that might already be enough justification anyway without having to drag the more dramatically unpopular formats into the ring.
21:09 erle i mean if you could just use minetest.compress() on some assets, i'm sure mods would be creative. (i strongly suggest to punch everyone in the face who suggests zstd support here though)
21:09 [MTMatrix] <localhost> xz super compress, but too hard
21:09 erle oh no
21:09 MTDiscord <warr1024> xz is not a great format for this application
21:10 MTDiscord <warr1024> it's very heavy and takes too long to warm up
21:10 erle Warr1024 good luck dealing with the comments like “we should use something else than DEFLATE”
21:10 erle bz2! :P
21:10 [MTMatrix] <localhost> oops
21:10 MTDiscord <warr1024> gz, z, lzo, snappy, or zstd are all possible candidates.  gz, z, and sztd are also already used in the engine and already available to us.
21:11 [MTMatrix] <localhost> what if uncompressed? Is too much large? :D
21:11 erle i want to point out *again* that zstd lacks the dictionary support necessary for small payloads here
21:11 MTDiscord <warr1024> bz2 is kind of a cool tech in its own way, too bad it's not so hot with files that aren't at least like in the 100kb range.
21:11 erle in the minetest API
21:11 [MTMatrix] <localhost> terabytes blocks :P
21:11 [MTMatrix] <localhost> terabytes of blocks :P
21:12 erle and that it's an easy footgun, but i disgress
21:12 erle Warr1024, good luck anyway!
21:12 MTDiscord <warr1024> Yeah, I dunno about how MT uses zstd, but I assume it must be offering at least some advantage over deflate for payloads in the mapblock-size range, else it'dn't've been used.
21:13 erle as appguru explained: he saw the benchmarks for mapblocks and thought they applied to smaller stuff
21:13 MTDiscord <warr1024> I think your feature request may have been too confusing if people were talking about adding compression.  It sounds like both you and I are interpreting this feature as offering only decompression in the engine, and game/mod creators would be responsible for doing the compression themselves.
21:13 erle yes
21:13 erle and everyone immediately latches on “the engine should do this automatically instead”
21:14 erle which is a *much* larger task and *much* harder to get right (and not very useful for my use case)
21:14 MTDiscord <warr1024> Decompression only makes this a lot simpler and easier to implement than compression would, and the costs are negligible, since it wouldn't even change the behavior of existing stuff.
21:14 MTDiscord <luatic> erle: wdym by "smaller stuff", schematics are often bigger than mapblocks (> 16³)
21:14 erle luatic go benchmark it!
21:14 MTDiscord <warr1024> schematics aren't sent as media, so wouldn't apply to this feature anyway
21:15 erle Warr1024, the only thing you have to make sure is that a .z resource is sent raw to older clients.
21:15 erle but that's easy obv
21:15 MTDiscord <warr1024> Ideally, if we've already got the libraries in MT to support .gz, .z, and .zstd, we might as well just support them based on file extension and let creators pick whatever's appropriate on a file-by-file basis.  Then we don't need to have the argument about what format is best.
21:16 [MTMatrix] <localhost> schematics be like: I can save area -500,0,-500; 500,0,500 in WE, but I can't restore it - too large
21:16 [MTMatrix] <localhost> schematics be like: I can save area -500,0,-500; 500,0,500 in WE for 10 secs, but I can't restore it - too large
21:16 erle Warr1024, well, zstd *is* generally better, but minetest.compress() does not have dictionary support, which means you can't really outperform zlib meaningfully (except on encoding and decoding speed ig, you get 2 to 3 times)
21:17 erle at least for small stuff
21:17 erle and all the stuff we talk here is small
21:17 erle like <100kb
21:17 erle right?
21:18 erle the encoding and decoding speed can probably be enough of an argument though
21:18 MTDiscord <warr1024> Well, for dynamic stuff we might be limited to just zlib, but for creators pre-compressing stuff at build time e.g. to optimize mod download or server join times, they can just try each format and see.  I already run basically all the media for all of my mods and games though a battery of stuff including zopfli compression of the deflate parts in all the PNG files, so now I'd be able to do that sort of thing with my OBJ files and such
21:18 MTDiscord too...
21:18 erle i agree
21:19 erle Warr1024 ha, zopflipng!
21:19 erle Warr1024 how large are your texture dimensions generally?
21:19 [MTMatrix] <localhost> and imagine security issue as... blocks as zip bomb in dumped world 👀
21:19 erle localhost what do you mean
21:20 erle there are already items that contain zipped info
21:20 erle xmaps handheld items and displayed item entities for example contain a zipped TGA in their meta (for easy bookkeeping, garbage collection and so they work in map downloads)
21:20 [MTMatrix] <localhost> nothing, i just make strange thinks
21:21 erle and i am pretty sure if shulkers would use compression they could contain more stuff hehe
21:21 erle bigger recursive shulkers pls
21:21 MTDiscord <warr1024> I generally do 16px base textures in all my stuff.  If people want higher res, that's what TPs are for.  I would prefer the baseline to be as conservative as possible a burden on users, and those with capacity for more fancy can add that on as desired later.
21:22 MTDiscord <warr1024> As for what I actually use to compress my pngs, I run them through optipng, then advpng (which uses zopfli) and then ECT (which has its own brute-force search that's apparently even more thorough).
21:22 [MTMatrix] <localhost> also how I can ask the engine no generate empty space blocks? Except mg limit
21:23 erle localhost what do you mean
21:23 erle Warr1024 funny how you end up at better optimizers and i end up at “wait this is so small, i can zip up the pixels and call it a day”
21:23 MTDiscord <warr1024> Mapgen limit is the only way you can ask the engine not to generate mapblocks, as far as I know.
21:23 [MTMatrix] <localhost> Just a... no save air blocks in map.sqlite
21:23 erle what
21:24 MTDiscord <warr1024> Sounds like a #minetest question more than a #minetest-dev one.
21:24 MTDiscord <luatic> localhost: what
21:24 MTDiscord <luatic> air blocks will be very compact in map.sqlite due to run-length encoding
21:24 erle localhost, do you actually know how to join another channel?
21:25 erle you keep asking questions here
21:25 erle maybe you need help
21:25 erle do you?
21:26 [MTMatrix] <localhost> Okay. Sorry for wrong select channel
21:27 erle localhost have you joined the correct one or do you need help with that?
21:27 erle ah you have
21:27 erle good
21:33 v-rob joined #minetest-dev
21:46 MTDiscord <mistere_123> sfan5, or others who know minetest's mapgen implementation: If every server step, if forceload a block, then the next server step un-forceload it, and forceload it again (or, rarely, forceload a different block), is this going to cause lag/ put undue strain on the engine?  If I'm just changing a table that the engine checks at its lesiure by doing that, it shouldnt be laggy, I would think. But if calling forceload_block actually
21:46 MTDiscord actively does something, then it could cause lag
21:47 MTDiscord <mistere_123> /s/if forceload/I forceload
21:52 MTDiscord <mistere_123> The reason is that I want to let an entity manage itself by preventing itself from ever being deleted while it lives.
21:52 MTDiscord <mistere_123> /s/deleted/unloaded
21:55 MTDiscord <warr1024> Interesting ... I've had similar needs, but I avoided the "what if I un-force-load and re-force-load again" problem by just having my own layer of forceload management where I only pass changes down to the engine.  It turned out to be necessary as I wanted to have my own limit budget, and I wanted a fair distribution of the available resource in cases where demand exceeded budget.
22:02 sfan5 @mistere_123 un-forceloading a block should cause it to be unloaded eventually, how fast I would have to check
22:02 sfan5 I think a better design would be to only un-forceload the block if you know that the entity is really not there anymore
22:03 MTDiscord <mistere_123> ok. This entity will be moving around, so the block could change
22:04 MTDiscord <warr1024> you might have to forceload the new block, then wait for it to actually become loaded, and then move into that block, and then remove the old forceload.
22:05 MTDiscord <warr1024> If you want to be able to move into the new block using normal physics movement, you might have to make sure it's pre-loaded by "leading" in front of the entity's movement based on its velocity.  That's still no guarantee though as it can take arbitrarily long to emerge an unloaded block.
22:17 MTDiscord <mistere_123> I figured it out, I think. Details in discord dev so as not to clog irc with code
22:34 panwolfram joined #minetest-dev
23:11 [MTMatrix] <Zughy> What to do with #10166? It's the oldest PR and OP has no activities on Github in the last two years
23:11 ShadowBot https://github.com/minetest/minetest/issues/10166 -- Unittest/collision by scrain777
23:13 MTDiscord <wsor4035> rip
23:13 MTDiscord <wsor4035> could rerequest a review from sfan5
23:14 MTDiscord <wsor4035> or put it in the next meeting notes if those are going to be a thing
23:48 [MTMatrix] <Zughy> sfan5 already has to deal with dual weilding, definitely doesn't need this one too
23:48 MTDiscord <wsor4035> mainly saying it because they already reviewed it

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