Time Nick Message 05:24 hmmmm I wonder if it's plausible to regenerate a lightmap of a mapblock each time a light source is placed 05:24 hmmmm instead of dynamic lights 05:25 VanessaE what would be the advantage, and would that advantage persist when you consider that one placed light might affect up to four mapblocks? 05:25 VanessaE er eight mapblocks rather 05:25 hmmmm dynamic lights are an extremely scarce resource 05:26 hmmmm anyway I don't see how it would be any different from how lighting is already calculated, except it works at the mesh level instead of the mapnode 05:27 hmmmm so yes it'd propagate beyond a single mapblock of course 05:27 hmmmm but now you'd be able to have a much larger light range and a variable shade ramp, in addition to *gasp* colors 05:28 VanessaE hm 05:28 VanessaE how's that mesh (ahem..) with the shader-based hardware lighting that RBA's been thinkign about doing? 05:28 VanessaE thinking* 05:30 hmmmm i don't know because i am unaware of what strategy he's using 05:31 VanessaE neither am I at present 05:31 hmmmm http://joshbeam.com/articles/dynamic_lightmaps_in_opengl/ 05:31 VanessaE *looks at clock* he should be around just about any time now 05:31 hmmmm I dunno, I've gotta ask him 05:31 * VanessaE pokes RealBadAngel 05:33 VanessaE reading... 05:34 VanessaE (as if I'll understand more than half of it :P ) 05:37 VanessaE hm, seems reasonable enough 05:38 VanessaE those "lightmaps" would just be flat, or derived from normalmaps if present, but that's not hard. 05:41 hmmmm what? how do normalmaps have anything to do with this 05:41 VanessaE nevermind, I'm misreading it. 05:42 VanessaE I was thinking of a different form of lighting. actually yeah, I think this idea would do well for systems that couldn't do lighting in a shader. 05:44 VanessaE (normalmaps use hardware lighting in shaders, but it's faked) 05:44 VanessaE how much memory do you figure this would take in practice? 05:45 hmmmm I don't know 05:46 hmmmm I'd say the worst case would be somebody building a diamond shaped cavity with a single light source in the middle 05:46 hmmmm that shape would expose the most surfaces 05:46 hmmmm and then how many surfaces are actually exposed would depend on the light source range which would be variable and potentially huge with this form of lighting 05:47 VanessaE hm.worst case would be 8*n! faces for a lighting distance of n 05:48 VanessaE I think. 05:48 VanessaE no wait, wrong function 05:48 VanessaE damn it I suck at math 05:49 VanessaE 8*sum(1+2+...+n) 05:50 hmmmm sum(i=1..n) = n * (n + 1) / 2 05:50 VanessaE yep already got it over here. 05:50 VanessaE multiply that by 256 for the default texture rez 05:50 VanessaE (16*16) 05:50 hmmmm each exposed face would be a surface 05:50 hmmmm that structure isn't per pixel 05:50 hmmmm I honestly think the memory usage won't be that much of a deal 05:52 VanessaE just thinking of low-end devices 05:53 VanessaE ok well if it'll work I guess give it a shot with some little bit of test code maybe 05:54 VanessaE it's fitting you should suggest pyramid shapes with lighting at the apex as a worst-case... that's exactly how I light my houses in-game (the attic/loft floor, I hate to waste space) 05:55 VanessaE meanwhile, I'm gonna go shower and hit the sheets. 05:55 VanessaE night. 05:59 hmmmm http://dev.minetest.net/TODO#Big.2C_long_term_goals_.28Client.29 05:59 hmmmm I figured I'd update this dumb page :\ 05:59 hmmmm should get to bed too 07:35 sfan5 when was mapgen v5 replaced with v6? 07:45 nore sfan5, somewhere between 1 and 2 years ago 07:45 sfan5 zsh 2090 (git)-[master]-% git log | grep -i "the new mapgen" 07:45 sfan5 The new mapgen, noise functions, et al. 07:45 sfan5 now I only need to find the commit id 07:47 nore https://github.com/minetest/minetest/commit/11afcbff69c95915e5142bc4b55636ff6358ece9 07:51 sfan5 https://github.com/minetest/minetest/blob/736b386554a6b385a34f40c0411c6e466ebec30a/src/mapgen.cpp seems to be v5 09:20 kaeza sfan5, grep (...) -B 4 09:21 sfan5 yes I can google too 09:22 sfan5 BTW: here's a screenshot of mgv5 https://cdn.mediacru.sh/HI0g4cNuczbI.png 09:22 sfan5 and here's the code: https://github.com/sfan5/minetest/tree/mapgenv5 11:34 Exio4 kaeza: -B4 -A4 ftw 11:35 sfan5 Exio4: -C4 does the same as -B4 -A4 11:40 Exio4 i tend to use -B16 or some high-big number and a small -A when i'm looking @ logs 16:11 Calinou [low priority] https://github.com/minetest/ could have Minetest logo as organization avatar 16:12 Calinou http://translate.minetest.ru/ 502 :( 18:57 Guest76845 sapier: "On the other hand, some operations are as much as 50 or more times faster with synchronous OFF." 18:57 Megaf_ http://www.sqlite.org/pragma.html#pragma_synchronous 18:58 sapier of course because "synchronous" causes each io operation to be as fast as storage device 18:58 sapier if you disable synchronous it's (most of time) as fast as system ram 18:59 sapier but in case of power fail you can't tell for sure what is on your disk if you don't do synchronous operations 19:02 PenguinDad maybe we should set the default value to 1 :/ 19:05 sapier RealBadAngel can you help me find out why selection box is waving like water in 3d mode? ;-) 19:25 celeron55 PenguinDad: that doesn't help the performance at all 19:25 celeron55 keep in mind that nobody probably expects minetest to have the reliability that sqlite has in synchronous mode 19:26 celeron55 synchronous=0 is very likely roughly equivalent to leveldb's way of operation 19:29 celeron55 sapier: why does proller's thing not matter? 19:31 sapier I didn't say it doesn't matter, I only said I can't do anything if he doesn't provide information about it 19:31 celeron55 what information do you need then? 19:31 sapier e.g. what he's doing 19:31 celeron55 it seems like people do expect minetest to be able to ramp up it's transfer window to localhost speeds in a very small time in addition in being able to serve through ADSL connections 19:32 celeron55 or whatever the bottleneck is 19:32 celeron55 can there be so much overhead that it takes 100% CPU at that speed? 19:33 celeron55 maybe there should be some kind of good logging mode for the purpose of figuring out what the network stack is doing performance-wise 19:33 proller celeron55, look in connection.cpp 19:34 sapier I added download speed display to media progress bar in order to get those values but I didn't get any information what's shown there by now 19:34 celeron55 proller: you tell me to look there all the time, it's not helping 19:34 proller two threads, lot of locks, lot of asserts, lot of wtf code - how it can run fast? 19:34 proller it was much better before sapier 19:34 celeron55 sapier: specifically ask all the information that you need to tell where the problem is; proller: give that information 19:35 proller old connection was adjustable to 2-5mbps 19:35 sapier that's what I'm trying to do for months not celeron55, but everytime I get only told "it's slow" 19:35 celeron55 proller: stop right now and give what sapier wants; it isn't going to be reverted to old code for the sake of the old version having one desired feature 19:35 sapier old connection did stall for me everytime when trying to transfere 150mb on localhost so how can "stall" be fast? 19:36 celeron55 proller: and the only way to fix it is to let sapier fix it, because nobody else is going to try to understand it 19:36 celeron55 proller: you're just a crying baby right now 19:36 proller old was very slow by default, but tunable 19:36 proller also new very log noisy 19:36 sapier old wasn't reliable 19:37 sapier if you feel it's logging to much tell me what you want to be removed, that's not an issue 19:38 proller sapier, only one way to do something - you must host public server and optimize it 19:38 proller and play on this server 19:38 celeron55 how do you expect sapier to optimize localhost download speed by tuning a public server? 19:39 proller having server show all problems 19:39 sapier proller it's absolutely working for me I do have my own server I even tried with different bandwith levels by using bandwidth limitiation your issue doesn't occur for me so I can't find it without your help 19:39 celeron55 those connections have infinitely different characteristics 19:39 proller celeron55, i must tell sapier how to login in singleplayer game??? 19:40 celeron55 it seems sapier doesn't have the same issue on localhost that you have (based on some discussion many days back) 19:40 sapier I get about 2mb download on localhost singleplayer, so I don't have your 100kb issue 19:41 proller 2mb - its 10x slower than it must be 19:41 proller or more 19:41 celeron55 by the way 19:41 sapier no it isn't as 2mb is reached after about 10 seconds and whole download is finished after 20 19:41 celeron55 for anyone thinking about lighting changes, keep in mind that many game mechanics depend on some characteristics of the current lighting 19:42 celeron55 most importantly being able to query quickly on the server a light level at a position 19:42 celeron55 don't break that, because people like it 19:42 proller because here is no other ways to detect open space 19:42 celeron55 ^ hmmmm, RealBadAngel 19:43 sapier and proller I can't compare to a version pre my fixes because I never managed to finish downloading that amount of textures at that version 19:44 celeron55 i don't think anyone can argue that 2mb isn't slow in localhost 19:44 sapier true it's not perfectly fast but you have to consider that there may be io limitation issues for this too 19:44 sapier it's reading and writing from same disk at same time 19:45 proller oh 19:45 sapier that could be checked by running mintest from ramdisk 19:45 proller again: enet in this place give 20+mbps 19:45 celeron55 well an SSD will work fine i guess 19:45 sapier and tcp results in 50mb 19:45 proller only connection changed, same hardware 19:46 proller same udp 19:46 celeron55 i think the enet test shows that it's not an i/o limitation 19:46 celeron55 so that argument is invalid 19:46 proller issue ONLY in connection.cpp 19:46 sapier btw 2mb/s are 16mbps too without breaking compatibility 19:46 celeron55 sapier: can you tell proller how to force the transfer speed to 20MB/s 19:46 proller 20megabytes per second 19:46 celeron55 without actually making it be able to determine if it's safe 19:47 proller = 160+megabits 19:47 celeron55 that way you will know whether the issue is it not being able to transfer so fast, or it just throttling it to be slow 19:47 sapier 20MB/s ? use large textures 19:48 sapier minetest protocols limitation is 16bit sequence number 19:48 Calinou https://github.com/minetest/minetest/issues/826 → apparently fixed. re-open if you can reproduce 19:48 Calinou (tried with and without noclip, with and without fast mode) 19:49 sapier celeron55 proller told some days ago he's got only kb on localhost 19:49 sapier I didn't get an answer if this is true or not by now 19:49 celeron55 http://enet.bespin.org/protocol_8h_source.html 19:49 celeron55 it looks like enet's sequence numbers are 16bit too 19:50 proller NeuromancerGame - largest what i can find 19:50 sapier that's interesting 19:50 proller 2 seconds join on enet, 15+ on your connectio 19:50 sapier 1s on tcp 19:51 proller okay, merge tcp, mt players must suffer@ 19:51 celeron55 about 4.5 seconds to join NeuromancerGame (maybe a bit old version, dunno) from pressing enter in menu to seeing game world 19:51 proller delete cache dir before join 19:51 celeron55 of course i did 19:52 celeron55 $ ls cache/media/* | wc -l 19:52 celeron55 864 19:52 celeron55 after doing that 19:52 sapier I wont mix up discussion about a protocol switch with discussions about (possible) regressions of my fixes those are not related 19:53 proller du -h 19:54 celeron55 22M cache/media 19:57 celeron55 sapier's connection connects slowly though; it waits for like 2.5 seconds before doing much anything 19:57 celeron55 so the download time of that 22M is actually 2 seconds 19:58 celeron55 i think that is a clear issue 19:58 sapier ok so probably finding out what causes those 2.5 seconds would fix the issue 19:58 sapier that's something I can work with too 19:59 celeron55 what are the equivalent numbers on your computer? 20:01 sapier I don't have neuromacers game here but I'm gonna fetch it, usually I test with vanessae's hdx pack 20:02 sapier about 160mb of textures 20:03 sapier for those I've got a connect time of 113 seconds ... not very fast I know ... but compared to infinite on 0.4.6 that's very fast 20:03 sapier doing the test right now ... 3 minutes 2% ... I'm gonna abort the test at 5min 20:05 proller its over light speed comparing to 2400 modem 20:05 sapier proller I didn't intend to create a file transfer protocol but a working stable actually usable protocol compatible to old one 20:06 sapier 5min 4% 20:07 sapier related to the 16bit issue I limited minetests window size to half of 16 bit range for reliability reasons, that's a guessed value only, increasing it would result in improved transmission rate, at cost of protocol stability 20:09 celeron55 i don't think increasing it from that would make sense 20:09 celeron55 some kind of packet size negotiation would make sense though 20:09 sapier that'd help for sure the less packets we need to send the less sequence numbers are in use 20:10 celeron55 it's only some crappy home routers and network that limit us to 500 bytes; most (or like at least half of the) networks can use a few times larger ones 20:10 celeron55 and localhost can usually use very large ones 20:10 sapier yes 20:11 sapier the 2.5 second delay might be "slow start" behaviour, windowsize starts from minimum value and increases gradually 20:11 sapier starting at max and reducing in case of overload would speedup small transfers 20:12 sapier neuromancergame is "eden"? 20:12 celeron55 the slow start is fast enough; i mean it stays at "connecting to server" for that long 20:12 celeron55 yes, it's eden 20:13 celeron55 after that it does the slow start but that happens quickly enough to get 22 megabytes transferred in two seconds 20:14 sapier ok so I need to find out what's causing the 2s connect delay 20:14 celeron55 does it not happen for you? 20:14 celeron55 are you testing this at all 20:14 sapier btw 13.5 minutes and 16% on 0.4.6 20:14 proller what you want from 0.4.6? it have 30kbps transfer 20:15 sapier 30kbps localhost proller? 20:15 proller yes 20:15 sapier with current version? 20:15 proller 0.4.6 with 0.4.6 20:16 sapier ??? 20:17 sapier celeron55 I test with vanessae's texture pack at 112seconds a 2 second delay isn't very obvious 20:18 sapier at least for downloading vanessae's texture pack new version is way better form me then the old version you want to have back proller 20:19 * proller facepalm 20:20 sapier celeron55 no I don't have a 2s delay for neuromancers game on "connection to server" 20:21 sapier but I don't get 20mb download as you do too 20:21 sapier sorry 10mb 20:22 sapier proller I'm confused, what's the download rate for neuromancers game you get with current master? is it 30kb/s 2mb/s or something completely different? 20:23 sapier on localhost of course 20:23 proller 1.0-1.5 20:24 proller i post here links to speed every second 20:24 sapier ok those are the numbers shown true? 20:27 sapier proller I can't read your mind you have to write the answer 21:44 Taoki Something seems to be broken with player and lua entities. If I set a mob as the player mesh, it is one block higher... with the exact same visual size and drawtype and all else 21:44 Taoki Anyone know what causes this error? 21:48 sapier nope but I'm not sure if this can be fixed even if it is a error 21:49 Taoki Try wearing something from simple mobs... mesh + texture + visual_size. The mesh is offset upward 21:49 Taoki Prolly a big error. Since the way models are handled around bounding boxes should be the same for both players and entities 21:49 Taoki I wrote them like that myself 21:49 sapier simplemobs models are messed up anyway 21:49 Taoki The problem is why it's offsetting it 21:50 Taoki Also, what is the default player bounding box? 21:50 sapier I agree taoki, but even if it's not this way right now fixing it means either break all mods using entities and meshes or player 21:51 Taoki Is it at least known what's happening? 21:51 Taoki Also, we could add an object setting to fix it, that can be enabled on both entities and players 21:53 sapier adding a setting to additionaly change behaviour sounds to me like making it even more complex 21:56 Taoki sapier: Apparently it happens when collisionbox is set. When I don't set it on mobs, the collision box itself is the same, but the positioning of the mesh is different 21:56 sapier that's strange 21:57 sapier may this be related to colliding entities or not? 21:57 Taoki I... think it might not be a bug in the engine actually. For example, a bounding box might seem the same height to another, but it could be starting at -1 and ending at 0 rather than starting ad 0 and ending at 1 21:57 Taoki And the mesh is centered at 0 0 0 21:58 Taoki don't think so. It's how the mesh is positioned inside the bounding box 22:00 Taoki sapier: This probably wouldn't be a problem if collisionbox could be set for players. It seems it can't however... I really don't get why such a simple thing wasn't added 22:00 Taoki How hard would it be for someone to add it actually? Don't think I looked at that part of code myself, but I assume it's simply missing some piping 22:00 sapier because often people are to lazy to cleanup existin code to use new more generic mechanisms ... see hud code 22:02 Taoki Yeah, I see what the problem is. For the player, the bounding box height seems to range between -1 and 1. For mobs, it ranges between 0 and 2. 22:02 sapier true that's exactly your 1 node difference 22:02 Taoki A way to avoid the problem is to change mob bounding boxes to be -1 to 1 too, and re-export the model files in Blender so they are centered differently 22:03 Taoki yes 22:03 Taoki I didn't realize because bounding box was the same size at a first glance. But same size is -1 -> 0 and 0 -> 1 too 22:03 sapier you're kidding ... I'm gonna kick your ass if I have to change all models ;-) 22:03 Taoki Nooo 22:03 Taoki I'll change the simple mobs models for my own fork :P 22:04 Taoki The only problem right now which I consider an engine fault, is collisionbox not working for players 22:04 Taoki sapier: So I won't ask changing all models. But can I please ask about taking a look at how collisionbox can be made to work for players, just like for Lua entities? 22:05 sapier I'd prefere not to have an additional controversial task right now taoki 22:06 Taoki ok 22:06 Taoki Doesn't sound controversial, but if it's too much that is ok 22:06 Taoki PilzAdam: Since you're experienced with mobs, do you have any ideas too? Is there a reason why collisionbox wasn't added for players yet? Would it be difficult for someone who knows the entities to add it? 22:07 sapier celeron55 that 2s delay is result of client and server startup not beeing synchronized, the initial connect request is lost and reconnect timeout is 2s 22:07 sapier delaying initial connect by 100ms works for me but that's a really ugly solution 22:08 CiaranG The player's bounding box is offset from all other entities bounding boxes because of this line of code... https://github.com/CiaranG/minetest/commit/a7c667a0acd2aeda9e7ed2af199854ac741e4a76 22:09 CiaranG well, not the line, just the addition 22:09 Taoki CiaranG: Ahhh, I see. That explains it then 22:10 Taoki At least I can make the mobs and player be at the same height by giving mobs a negative collision box 22:10 Taoki Hopefully that ability and behavior will never change... I assume it won't 22:10 Taoki So I can at least get away by centering the mob models like the player and using the nodebox setting 22:11 CiaranG Hmm, I think that's the wrong way round. Mobs are effectively positioned from their base (lowest Y) - so a 2 node high mob (like a player) would have a box from Y=0 to Y=2 22:12 Taoki CiaranG: Only way to get both mobs and players to work with the same model sadly 22:12 CiaranG Well, depends on your models I suppose. But if you want the coordinates to match up. 22:12 Taoki Unless collisionbox is implemented for players, and that ugly offset can be reversed in it 22:13 CiaranG Yeah, I have a mod that users player-like models. But I have a different (shifted in the Y) copy of the player model, for the mobs 22:13 CiaranG Because I want the coordinates be sensible. i.e. a NPC standing at 0,0,0 is in the same place as a player standing at 0,0,0 22:14 CiaranG Ideally it would be better to remove that addition I was talking about above, but that would break a lot of stuff, so it's virtually impossible to change it now 22:14 Taoki The way mobs are positioned is good. The way players are offset is bad. 22:14 Taoki But for my idea to work, I need to make mobs bad like players too, since the other way around isn't possible 22:20 sapier can someone test #1267 if it does same as it does for me? 22:20 ShadowBot https://github.com/minetest/minetest/issues/1267 -- Add hack to avoid 2s startup delay on local games by sapier 22:21 Taoki Modified my version of SimpleMobs to decrease minY and maxY by 1. Better than nothing I suppose 22:23 sapier can someone check #1241? I'd like to merge it soon 22:23 ShadowBot https://github.com/minetest/minetest/issues/1241 -- Add formspec toolkit and refactor mainmenu to use it by sapier 22:23 Taoki Really though, why is the player offset by one unit? What was that ever needed for 22:24 sapier and I'd prefere "soon" not to be duke soon 22:24 Taoki Can't test now sadly. But they sound good, hope they are merged :) 22:35 celeron55 sapier: so this is the exact thing that was talked about previously too... just put the 100ms delay there and everyone will be much happier 22:35 celeron55 (for singleplayer) 22:36 sapier delay is happening on singleplayer as well as on local server, fixing it for sp only wont catch later case