Minetest logo

IRC log for #minetest, 2022-05-02

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

All times shown according to UTC.

Time Nick Message
00:30 Soni joined #minetest
00:35 MTDiscord <MisterE> anyone want to play the newly finished balloon bop minigame, based on Exevirus' ludum Dare game?
00:40 Verticen joined #minetest
00:57 TheAltHacker joined #minetest
01:04 cation joined #minetest
01:17 specing joined #minetest
01:28 v-rob joined #minetest
01:46 Verticen joined #minetest
01:58 Toothless joined #minetest
02:14 v-rob joined #minetest
02:21 v-rob joined #minetest
02:40 ghoti So.. I know I can skin a basic_robot using things like this:    self.set_properties({visual="mesh", mesh="mobs_tree_monster.b3d", textures={"mobs_tree_monster2.png"}, visual_size={x=2, y=2}})
02:40 ghoti But how do I do this if I'm given a .obj file instead of a .b3d file? If I just change files, I get .. weird shapes instead of the the ones I'm expecting.
03:00 Fulgen joined #minetest
03:25 v-rob joined #minetest
04:00 MTDiscord joined #minetest
04:25 paradust joined #minetest
04:26 mugli[m] joined #minetest
04:29 loggingbot_ joined #minetest
04:29 Topic for #minetest is now The official Minetest channel | Latest version: 5.5.0 (2022-01-30) | General, player and modding discussion is on-topic. If in doubt, post here | Responses may take a while, be patient | Rules: https://wiki.minetest.net/IRC#Rules | Development: #minetest-dev | Server list: https://minetest.net/servers | IRC logs: https://irc.minetest.net/minetest
04:30 hook54321 joined #minetest
04:33 v-rob joined #minetest
04:34 programmerjake joined #minetest
04:35 GNUverkty[m] joined #minetest
04:36 Kimapr joined #minetest
05:29 lemonzest joined #minetest
05:41 calcul0n joined #minetest
06:33 acidbunny joined #minetest
06:52 Gustavo6046 joined #minetest
06:58 Gustavo6046 joined #minetest
07:00 Pexin joined #minetest
07:23 sfan5 @Warr1024 that does sound like it might be broken position interpolation esp. relating to low framerates
07:26 erle for the nodebox drawtype, how can i make it culled?
07:26 erle i tried to turn all the stone into lego bricks
07:27 erle and it renders everything
07:27 erle i can see it in wireframe view
07:27 erle it's not good for the fps
07:29 erle it looks like this https://mister-muffin.de/p/KyQM.png
07:30 erle if i can fix the framerate problem, i can make a mod that adds studs on all the cube nodes :)
07:34 sfan5 the engine can't do face merging for nodeboxes
07:43 MTDiscord <ROllerozxa> yeah I don't think there's any way of doing culling with nodeboxes to make a mod like that work currently
07:43 MTDiscord <ROllerozxa> I actually tested having 3d studs in openblox but it ended up becoming so laggy that the map loading just completely froze
07:45 MTDiscord <ROllerozxa> you could of course go the texture trickery route and make a mod that overlays a stud outline texture on the top face of every node, but it won't be true 3D  studs unfortunately
07:47 erle yeah it's super laggy
08:09 erle sfan5 ROllerozxa i thought this was horrible at first, but hahahaha rendering speed goes brrrrrrr https://mister-muffin.de/p/Fgdj.png
08:10 erle obviously this neighbour check could be made a bit better
08:10 erle because i only want to catch opaque nodes
08:12 erle and obviously the nodebox can extend {-8/16,-8/16,-8/16,8/16,8/16,8/16}
08:15 MTDiscord <ROllerozxa> oh nice
08:15 erle yeah so how would a proper check for “surrounded by opaque nodes” look?
08:18 erle because if anyone can code some check like that, it's free fps for all drawtypes that can not be automagically culled
08:18 erle celeron55 rubenwardy any idea?
08:20 v-rob joined #minetest
08:22 MTDiscord <GoodClover> Was about to point out nodeboxes can extend up to 3 nodes³, but no that's not an issue.
08:24 MTDiscord <GoodClover> oh wait, it is. You need to check the diagonals too.
08:24 sfan5 this issue has been known for a few years, it's one of the reasons MTG didn't get nodebox snow
08:25 sfan5 so it won't be that nobody has tried solving it
08:25 erle yeah i want to know what they ran into
08:26 erle like, suppose i a) check the diagonals and b) figure out how to find out how to check for “is this node fully occluded”
08:26 erle what remains?
08:26 erle or is the ”fully occluded” check too difficult?
08:26 erle if so, in what way?
08:27 erle sfan5 if you could point me to discussions or implementations of ideas like that, maybe i can learn from it
08:28 sfan5 that's a different, simpler approach than I was thinking of
08:28 sfan5 you want to skip entire nodes if they cannot possibly be seen
08:29 sfan5 what we really need is to remove any duplicate faces (at least) at node borders
08:29 MTDiscord <GoodClover> Looking at lua_api the recommended limit is actually 2.9n³ (1.45 in each direction), and only for collision boxes. So this would introduce a new "restriction" of sorts.
08:29 MTDiscord <GoodClover> I'm all for it though
08:30 sfan5 here's one of them https://github.com/minetest/minetest/issues/6409
08:31 jluc joined #minetest
08:32 sfan5 duplicate but with more detail https://github.com/minetest/minetest/issues/9126
08:34 sfan5 the obvious question is how would you implement this efficiently
08:35 sfan5 (I have no idea)
08:38 jluc joined #minetest
08:40 ___nick___ joined #minetest
08:41 MTDiscord <GoodClover> erle: your current solution would cause issue with people surrounding nodeboxes by transparent nodes.
08:42 MTDiscord <GoodClover> oh, sorry, you mentioned that above
08:48 ___nick___ joined #minetest
08:53 orwell96 joined #minetest
08:54 erle GoodClover give me a check for opaque nodes and you get legos everywhere
09:08 Thelie joined #minetest
09:30 jluc joined #minetest
09:49 Fixer joined #minetest
10:33 YuGiOhJCJ joined #minetest
10:57 Wuzzy joined #minetest
10:57 MinetestBot Wuzzy: Apr-30 14:19 UTC <rubenwardy> no idea, maybe ask on the thread
11:00 definitelya joined #minetest
11:22 grouinos joined #minetest
12:26 Thelie joined #minetest
12:46 debiankaios joined #minetest
12:48 orwell96_ joined #minetest
13:01 _Zaizen_[m] joined #minetest
13:15 specing_ joined #minetest
13:16 kamdard joined #minetest
13:32 MTDiscord <Warr1024> sfan5: re: position interpolation: I tried peeking at the code, and there were some fudge factors in it that had a strong "last person to work on this didn't actually understand how it works" kind of smell to it. :-)
13:33 MTDiscord <Warr1024> I was thinking of filing it as an issue (client visuals) but an existing-bug search is part of that process, and I couldn't be sure that I had the right terminology and wasn't missing some duplicate.
13:35 MTDiscord <Warr1024> I also ran into a fun one where player:set_look_dir() always happens on a different client step AFTER player:set_pos(), even if it's called BEFORE set_pos() on the same tick server-side.  This causes "camera jumpcuts" to have a few frames of an intermediate cut that doesn't belong.
14:09 Taoki joined #minetest
14:36 qur joined #minetest
14:57 Sven_vB joined #minetest
15:03 qur joined #minetest
15:07 Thelie joined #minetest
15:11 Talkless joined #minetest
15:12 TheCoffeMaker joined #minetest
15:14 panwolfram joined #minetest
15:26 TheCoffeMaker joined #minetest
15:29 qur joined #minetest
15:40 appguru joined #minetest
16:06 panwolfram joined #minetest
16:12 Verticen joined #minetest
16:18 panwolfram joined #minetest
16:20 TheCoffeMaker joined #minetest
16:23 MinetestBot [git] JakobDev -> minetest/minetest: Add German translation to AppData file (#12161) 41e79d9 https://github.com/minetest/minetest/commit/41e79d902d536f31b7b5fe2fb63a7272ce38d437 (2022-05-02T16:22:23Z)
16:24 debiankaios joined #minetest
16:47 TheCoffeMaker joined #minetest
16:48 v-rob joined #minetest
16:58 Yad joined #minetest
17:23 settl3r[m] If player A built a travelnet with name X, can player B (who doesn't know A) connect his own travelnet booth to network X (eg. if he accidentally discovers the name), and then travel to player A's (secret) location ?
17:25 qur joined #minetest
17:32 Thelie joined #minetest
17:37 calcul0n settl3r[m], no, this will just create another network
17:43 x2048 joined #minetest
17:44 x2048 erle, sfan5: Rergarding nodeboxes, I've been thinking about  simple optimization that would focus on snow and similar stuff
17:45 x2048 step1: enumerate neighboring solid nodes
17:45 x2048 step2: enumerate neighboring nodes with the same node type
17:46 x2048 When drawing a cuboid, when a dimension has bounds [-0.5, 0.5], check neighbours lef and right and skip drawing faces if a neighbor is a solid or the same type
17:46 x2048 That was step3
17:48 sfan5 o/
17:48 sfan5 that's missing a step where you precompute for each node which side is entirely covered
17:48 sfan5 but yeah that'd work
17:49 sfan5 as the graphics person I expected that you'd have an idea how to efficiently implement generic "If a triangle [...] facing a box face co-planarly" tests
17:49 sfan5 my google-fu failed me on this
17:49 TheCoffeMaker joined #minetest
17:50 x2048 I was thinking about that too, but sounds more complicated, like, a next step
17:50 x2048 What I propose is much simpler and has two assumptions:
17:51 x2048 (1) solid nodes most likely win over nodeboxes (yes, there are easy exceptions)
17:51 x2048 (2) we need to optimize large arrays of typical nodeboxes, not snowflakes
17:52 sfan5 well it'd also be nice if internal duplicate faces of nodeboxes could be removed
17:52 sfan5 but you can precompute that and do it with a different algorithm if needed
17:55 nisa joined #minetest
18:04 kabou joined #minetest
18:05 qur joined #minetest
18:07 TheCoffeMaker joined #minetest
18:10 Verticen joined #minetest
18:13 MTDiscord <luatic> "If a triangle [...] facing a box face co-planarly" tests - do you want generic tests (for arbitrarily rotated triangles and boxes) or just for AABBs?
18:16 sfan5 AABB suffices
18:19 settl3r[m] <calcul0n> "settl3r, no, this will just..." <- ok, what about elevators? do these function less strictly?
18:24 MTDiscord <x2048> @criticalfault42 I had to step away, and you picked my thought. We need to analyze AABB, not triangles.
18:26 MTDiscord <luatic> The first question to ask would be: Do we event want to check against co-planarity? I don't think so.
18:26 sfan5 why not
18:26 MTDiscord <luatic> We want to perform occlusion checks, but not every co-planar face is occluded
18:27 MTDiscord <luatic> Co-planar faces may be Z-fighting, but even that might be resolved by backface culling
18:27 MTDiscord <luatic> We want to find interior faces, which for two solid bodies next to each other happen to be co-planar faces
18:29 sfan5 you're un-simplifying the problem
18:30 MTDiscord <luatic> I may indeed be complicating it, oof
18:31 MTDiscord <luatic> Anyways, if we restrict our stuff only to fully solid nodes (alpha = opaque)
18:32 MTDiscord <luatic> Well, finding equal faces is pretty easy for nodeboxes < 1 node, just check whether the neighbor has a face there
18:32 MTDiscord <luatic> Otherwise this theoretically is a case for R-trees
18:34 rubenwardy ERROR[Main]: OpenGL procedures were not loaded correctly, please open a bug report with details about your platform/OS.
18:35 rubenwardy this is new
18:35 rubenwardy outdated irrlicht maybe
18:36 sfan5 if irrlicht is oudated you should get a compile error instead
18:36 sfan5 but try that
18:39 rubenwardy same error
18:39 rubenwardy maybe needs a clean build
18:40 erle i don't even want to
18:40 erle think about this in terms of faces
18:40 erle i just want to not render stuff that is surrounded by other stuff so it can never be seen
18:40 erle so i can make everything lego
18:41 erle also i think the studs represent a bunch of problems for doing it later
18:41 erle “later” as in later in the rendering process
18:51 sfan5 rubenwardy: sounds like a bug report you need to file
18:52 rubenwardy sounds like it. Just wanted to confirm whether it was a me problem first
18:56 MinetestBot [git] sfan5 -> minetest/minetest: Remove some unused variable from Lua class wrappers 5362f47 https://github.com/minetest/minetest/commit/5362f472ff75ffe1885b54d09f22faa85284f817 (2022-05-02T18:54:55Z)
18:56 MinetestBot [git] sfan5 -> minetest/minetest: Reorganize some builtin functions in preparation for async env e6385e2 https://github.com/minetest/minetest/commit/e6385e2ab74af7b01163ea91d4e3cfd5dfe6552e (2022-05-02T18:54:55Z)
18:57 MinetestBot [git] sfan5 -> minetest/minetest: Refactor some Lua API functions in preparation for async env 56a558b https://github.com/minetest/minetest/commit/56a558baf8ef43810014347ae624cb4ef70b6aa3 (2022-05-02T18:54:55Z)
18:57 MinetestBot [git] sfan5 -> minetest/minetest: Fix synchronization issue at thread start 663c936 https://github.com/minetest/minetest/commit/663c9364289dae45aeb86a87cba826f577d84a9c (2022-05-02T18:54:55Z)
18:57 MinetestBot [git] sfan5 -> minetest/minetest: Async environment for mods to do concurrent tasks (#11131) e765988 https://github.com/minetest/minetest/commit/e7659883cc6fca343785da2a1af3890ae273abbf (2022-05-02T18:56:06Z)
19:01 Thelie joined #minetest
19:01 erle sfan5 about “Keep the first four commits intact / Squash the rest into a single one” … do you know about interactive rebase? if yes, what is the reason for first making a bunch of commits only to then squash them?
19:02 sfan5 I use git rebase -i more than git rebase
19:02 erle oh okay
19:02 sfan5 the reason is that I don't want to amend during development all the time and also it allows me to go back/look at older dev snapshots
19:02 erle then why only squash on merge? is there an advantage?
19:02 erle ok
19:02 erle i see
19:02 erle thx
19:07 erle <MTDiscord> <luatic> Well, finding equal faces is pretty easy for nodeboxes < 1 node, just check whether the neighbor has a face there
19:07 erle luatic show me the code
19:07 erle so i can make the legos
19:07 erle how to check if neighbour has a face
19:08 sfan5 locate window, look at neighbor
19:08 sfan5 if your neighbor is faceless call the police
19:09 debiankaios joined #minetest
19:09 erle “you must wear a face” https://nitter.net/Shitty_Future/status/1285346849298292736
19:11 behalebabo joined #minetest
19:11 MTDiscord <ROllerozxa> aw man, what if I forgot my face at home?
19:33 MTDiscord <luatic> yay async evn!
19:48 sfan5 released a windows build with it too
20:01 jluc joined #minetest
20:01 MTDiscord <PrairieWind> I always wear my face
20:02 MTDiscord <PrairieWind> Im not quite sure how to painlessly take it off.
20:04 behalebabo joined #minetest
20:06 MTDiscord <x2048> erle, sfan5, @criticalfault42 : Started optimizing nodeboxes here: https://github.com/x2048/minetest/tree/nodeboxes. MCL2 snow: https://ibb.co/BLJtCBx
20:06 sfan5 great
20:10 panwolfram joined #minetest
20:11 erle x2048 wow, that looks good! but you don't do any diagonal checks so far, right?
20:11 sfan5 what's so special about diagonals?
20:12 erle i was thinking of oversized nodeboxes
20:12 erle i mean my stupid check was also missing them
20:12 erle bc i just wanted to see if it's viable
20:12 erle i like the x2048 solution very much
20:13 erle sfan5 regarding the snow layers, was it such a performance hog to draw all the node boxes? if so, wouldn't it be a horrible performance thing to draw 4 studs on top every top surface of a node?
20:15 MTDiscord <x2048> So far I would not care to optimize oversized nodeboxes, unless there's a viable case with a 100x100 field of those.
20:16 erle so what exactly is your criterion right now? same type or solid, right?
20:17 erle (i have skimmed the source)
20:18 erle x2048 so what would happen if an oversized nodebox is surrounded by 6 solids?
20:18 MTDiscord <x2048> yes, because that's the two worst cases.
20:18 v-rob joined #minetest
20:18 erle so yeah, i am missing a check for a nodebox going out of bounds diagonally. maybe i am not seeing it where you exclude them?
20:20 MTDiscord <x2048> ah, the current algorithm is dumb. if should also check that the face to mask is at the node boundary (+-0.5), and for sametype there's a matching face on the other side.
20:20 MTDiscord <x2048> I did not add it yet
20:20 MTDiscord <x2048> *it should
20:22 erle well it is an improvement on my dumb algo obv
20:22 erle i didn't even check for NDT_NORMAL hehe
20:23 erle well you don't check for ignore, but not sure if that's relevant here
20:23 erle x2048 do you want to test your current solution with my lego brick nodebox?
20:24 MTDiscord <x2048> not yet 🙂
20:24 MTDiscord <x2048> did you replace all solids with legobrick?
20:24 MTDiscord <x2048> or do you only apply it to nodes under air?
20:27 erle i made drawtype for stone lego and minetest crapped it's cuboid pants fps-wise
20:27 erle this all came out of a conversation with my bf about how LEGO did not buy minecraft
20:27 erle the reason for that is actually moderation
20:27 erle LEGO universe (the “lego minecraft” that they developed around 2010 to 2012) was supposed to be a classic lego product
20:28 erle i.e. trusted by parents
20:28 erle which means they did everything to make sure that kids don't see dicks or so
20:28 erle the problem is that everyone likes to build dicks in block games. especially kids.
20:28 erle so they had whitelisted moderation
20:29 erle you could build what you want, but others could only see it if mods whitelisted it
20:29 erle because the LEGO group was of the opinion that they want to be 100% trusted by parents
20:29 erle mojang on the other hand was like “you can't stifle creativity likei that and also IT COSTS A LOT OF MONEY”
20:30 erle the money question and creativity stifling allegedly led to lego universe going the way of the dodo
20:30 erle meanwhile, minecraft became a hit, but
20:30 MTDiscord <x2048> to no surprise
20:30 erle there are a lot of dicks and swastikas in random minecraft streamer's videos on youtube
20:30 erle like if they just go explore
20:30 MTDiscord <ROllerozxa> ohh my god, lego universe, I remember that
20:31 erle i once saw a video where someone found a base full of swastikas in minecraft actually. and added some new ones. only the new ones were completely out of TNT, hahahahahahahaha.
20:31 MTDiscord <ROllerozxa> was it that thing where you would rebuild the entire world in lego? you would click somewhere on the world map and you would get a small baseplate to build on
20:31 erle no i think that is lego creator?
20:31 erle not sure
20:32 erle last time i used lego stuff i used legCAD
20:32 erle anyway, that is actually a thing i like about the minetest community. even the griefers seem to hate nazis.
20:32 erle i mean, that's different from a bunch of other games
20:33 erle so back to the lego bricks
20:33 erle my bf and me wondered like, how bad can it be
20:33 erle and i made this nodebox with the 4 studs on top of a regular node
20:33 erle and was like this should work right
20:33 erle and then the framerate fell over and died
20:34 erle so i made the culling thing and then x2048 improved on the idea
20:34 MTDiscord <x2048> well, if you set view range to, like, 40, it should work
20:34 MTDiscord <x2048> somehow
20:34 erle *record scratch* just in case you wondered, how we got here
20:35 erle x2048 well, i can play minetest on a potato if i set viewing range to 40, but still someone making a lot of meshes will ruin my day
20:35 MTDiscord <x2048> you mean mesh nodes / entities?
20:37 erle yes
20:37 erle they are drawn irrespective of occlusion
20:37 erle did i just make that word up? it seems weird.
20:37 erle well, entities are drawn
20:37 erle you can see that if the map does not load fast enough
20:38 MTDiscord <x2048> yeap, mesh nodes and enities are your way to kill performance
20:38 erle x2048 have you seen the cheat client optimizations btw, where they turn off node rendering based on features like textures?
20:38 erle it's mostly used to find ores underground, but i wonder if there is some gem in there that can make vanilla minetest faster
20:40 erle x2048 so how would your thing deal with the studs on top of the legos, they would still be drawn, right?
20:40 erle or not?
20:41 erle or would they be half-drawn
20:41 erle like if there is an opaque node left of them the left side of the stud would not be drawn
20:41 MTDiscord <x2048> I may have seen some cheats but was not interested enough to dig deep.
20:44 MTDiscord <x2048> if I get it right, the studs should be drawn unless they are inside of an opaque box.
20:45 MTDiscord <x2048> opaque box may be a nodebox or a solid block above the lego block
20:47 erle nice
20:47 erle x2048 can you open an issue or is there already one?
20:48 erle for nodebox optimization?
21:00 Verticen joined #minetest
21:41 MTDiscord <x2048> erle, #6409 and #9126
21:41 ShadowBot https://github.com/minetest/minetest/issues/6409 -- Efficient ways to render layered nodes like default:snow (discuss)
21:41 ShadowBot https://github.com/minetest/minetest/issues/9126 -- Mesher should discard triangles more aggressively
21:46 erle x2048 maybe retitle 6409 to “efficient ways to render nodeboxes (like default:snow)”
21:51 Sven_vB joined #minetest
22:00 Sven_vB joined #minetest
22:16 MTDiscord <x2048> The title reflects the discussion in the issue, I am not going to change it.
22:19 erle x2048 yeah but if i open an issue about optimizing legos it will be fired upon and it will die as a duplicate
22:34 panwolfram joined #minetest
22:42 grouinos joined #minetest
23:12 erle Warrr1024 continuing from #minetest-dev … how do you budget hud stuff?
23:14 rubenwardy given it's nodecore, I imagine their budget is something like           has_budget_for_ui(spec) { return false; }
23:15 AliasStillTaken joined #minetest
23:19 MTDiscord <Warr1024> I've got a fulltime hotbar and a part-time crosshair.  I'd like to get rid of that hotbar sometime.
23:20 erle rubenwardy as much as i enjoy snark, right now i actually *do* want to learn something
23:20 erle ;)
23:20 MTDiscord <Warr1024> Totally eliminating the hotbar is a sort of bonkers ideal, and I don't see myself doing it in an already mature established game.  But if I could like fade it out or something when the player isn't actively switching, or could otherwise have tighter control over it, that'd be cool.
23:20 rubenwardy oh I was serious, NodeCore's design philosophy is as little G/HUI as possible
23:20 erle oh okay
23:20 erle i thought it was more about rendering speed
23:21 erle or dropping parts of the HUD when it is not necessary
23:21 MTDiscord <Warr1024> Nothing has a strict "budget" in the sense of a hard-limit.  Anything I have a limit for is a soft-limit based on fuzzy criteria.  Mostly I just want things as thin and light as possible, and I balance concerns where I can based on my understanding of costs as they are now.
23:22 MTDiscord <Warr1024> But when it comes to HUD, my ideal would be nothing, and everything that's present on there now is a compromise of that ideal for playability.
23:23 MTDiscord <Warr1024> The crosshair is only present part-time, while you're looking at a node.  You almost don't need it, since the looktips will show you which side of a node you're pointing at because they always appear at the center of that face, not of the node's volume.
23:23 MTDiscord <Warr1024> So the only thing that's ALWAYS visible is part of the crosshair (25% opacity when not pointing at anything) and the hotbar.
23:24 MTDiscord <Warr1024> I actually rather like how the breath HUD turned out, because it's not visible unless you're actually using most of your breath, and it doesn't require you to look at any part of the screen because it surrounds the field of view.
23:25 MTDiscord <Warr1024> There's really no good way to show "sneaking" within this design framework though.
23:26 MTDiscord <Warr1024> I've played with eye height as well, and it's not particularly useful.  You only notice the difference when transitioning in and out of the sneak state, but it doesn't do a good job of indicating that you're IN that state.
23:26 MTDiscord <Warr1024> Currently the best feedback you get is tactile, i.e. you feel the pressure on your finger from the sneak key.
23:27 MTDiscord <Warr1024> Hence, when you were talking about visual indication, I had assumed you meant from a 3rd-person perspective, i.e. crouching model.
23:30 MTDiscord <Warr1024> A player can be walking or not, swimming or not, mining or not, and now crouching or not, and when you add various other states like laying, sitting, waving or other emotes, that's an awful lot of animations to sort out.
23:31 MTDiscord <Warr1024> My budget for animations is especially tight, since I generally need to get a 3rd party involved to support complex 3d models like the player.
23:34 erle here, have more lego minetest https://mister-muffin.de/p/Wqf7.png

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