Time Nick Message 05:07 kahrl I have a patch to reduce the number of needed textures by a ton if the atlas is not used: https://gist.github.com/kahrl/5703714 05:12 VanessaE oh please do! 05:13 VanessaE in fact, I thought the idea was to ditch the atlas entirely? 05:18 kahrl I'm planning to but not now 05:20 VanessaE right 05:20 VanessaE now's not the right time for that. 05:20 VanessaE just trying to save you a little work. 05:23 kahrl when I remove the atlas I hope to also remove those "Could not open file of texture" errors in ~TextureSource 05:39 celeron55 ummm 05:39 celeron55 what does that patch do 05:39 celeron55 ah 05:39 celeron55 yes, that'll help 05:40 celeron55 i didn't even realize that could be done and wasn't already done 05:58 ShadowNinja I don't understand how that would make any difference. 05:59 ShadowNinja Hmmm, only applied to the atlas? 06:01 kahrl ShadowNinja: most textures used to be added twice (once without and once with ^[forcesingle) 06:01 kahrl therefore consuming twice the video memory 06:02 kahrl but if the atlas is disabled, the two textures are identical so this isn't needed 06:02 ShadowNinja Neccessary with the atlas, not without it? 06:02 ShadowNinja Too late. 06:03 VanessaE indeed, that patch cut my memory usage with HDX 512 down to ~5.5GB. 06:03 ShadowNinja What does ^[forcesingle do? 06:04 kahrl ShadowNinja: make a copy of the texture that is not part of any atlas 06:40 NakedFury was that an error or mistake when the game was being coded? 06:40 NakedFury oversight? 07:10 VanessaE bbl 07:12 Anchakor VanessaE: your client eats ~5.5GB?! 07:32 celeron55 NakedFury: it's something that was designed for low-resolution textures 07:33 celeron55 high-resolution ones need different kind of handling 07:33 celeron55 how we're practically dropping all low-resolution specific handling and hoping it doesn't degrade performance on low-end machines using low-resolution textures 07:33 celeron55 now* 07:33 celeron55 (not related to that commit, but rather an overall thing) 12:03 rubenwardy Does minetest use UDP? 12:12 celeron55 yes 12:15 rubenwardy just UDP, or TCP as well? 12:37 celeron55 TCP is used only for fetching stuff over HTTP when a server has set up such 12:39 proller alreasdy used ? 13:06 proller hmmmm, #0 0x00000000004990d1 in CaveV6::makeCave (this=0x7fffff7fb8c0, nmin=Variable "nmin" is not available. 13:36 PilzAdam I noticed something with the chat console: when a chat command opens a formspec the formspec gets the focus, but the chat console is still drawn above it, so everything is messed up 13:36 PilzAdam this needs to be fixed for Exio's pull request I think 16:22 VanessaE 12:21:06: ERROR[main]: ERROR: An unhandled exception occurred: ServerError: LuaError: error: /usr/share/minetest/builtin/item.lua:339: attempt to call field 'handle_node_drops' (a nil value) 16:22 VanessaE (git fetched just earlier today) 16:24 PilzAdam maybe a mod made it nil 16:24 VanessaE possible. 16:45 NakedFury will hmmm be done with his world gen by 0.4.8 or .7 upcoming version? 16:46 celeron55 nobody knows; i guess it will take more time than that 16:47 celeron55 umm... except that it is definitely known that no further features go into .7 16:49 NakedFury so its 0.4.8 the upcoming one? 16:49 NakedFury .7 I mean 16:49 NakedFury why am I thinking of 0.4.8 16:49 NakedFury dammit 16:49 celeron55 yes; it will be released once it is deemed non-buggy 16:49 celeron55 and fixes have been going in all the time now 16:49 Exio PilzAdam: any "example" mod for that? 16:50 PilzAdam hm? 16:51 Exio any mod what opens a formspec with a command? :P 16:51 Exio i don't know how to write a "testmod" for that 16:51 PilzAdam rubenwardy's capture the flag game 16:51 PilzAdam dunno if its uploaded anywhere, tested it on his server 16:52 PilzAdam just register a chat message and use minetest.show_formspec() in there 17:02 sweetbomber hmmmm: almost done implementing the fast algorithm for biome distance calculation 17:03 sweetbomber just two details: - is it bad if the height is a float? - is it bad if height is defined not by min/max but by height_point as well? 17:04 sweetbomber for this last one, the height could be given a higher weight, which would have +- the same effect 17:04 sweetbomber nevertheless, i think it would put the code more clean this way 17:05 hmmmm i guess it could be, but i think i had a specific reason for doing that 17:05 hmmmm if there was a height_point instead, doing an O(1) lookup would be absolutely trivial 17:06 sweetbomber how? with your current algorithm it would take the same time... 17:06 hmmmm because it'd be a lookup 17:07 * hmmmm rolls eyes 17:07 sweetbomber how would you sort 3d points in a lookup table? 17:08 sweetbomber in a 3d lookup table? that would wast loads of mem, no? 17:08 hmmmm i figured it would at first, but it wouldn't be that bad 17:09 sweetbomber even with infinite height? 17:10 hmmmm the height ranges could be based off a tree structure 17:10 hmmmm or something 17:11 hmmmm er, but if it were just a regular lookup table, i guess you could still do a lookup with height; out of 65536 possible values, only a small portion will be really used, so they can be weighted like you said 17:11 sweetbomber hmm...65536*100^2? 17:12 sweetbomber anyway, cant you remember the reason for height min/max? 17:13 hmmmm say, 64 divisions... 65536/64 = 1024, so without weights, each discrete segment would represent increments of 1024; with weights you can increase the granularity of a certain range (and necessarily decrease the granularity of some other range, like those higher up and much less significant) 17:15 hmmmm i believe i wanted features such as beaches to start occuring at specific heights, otherwise it would look too ugly 17:15 celeron55 that sounds like something that can't be known without trying 17:16 sweetbomber ill try giving more weight to height and see what happens 17:16 hmmmm good idea 17:17 sweetbomber imagine, if weight was infinite, it would mean a mandatory height. 17:17 sweetbomber something between infinite and 1 would give the desired result 17:17 hmmmm i wanted to add in weights but i never got around to it 17:17 sweetbomber ill think if it is possible to give different weights to different biomes 17:18 hmmmm different biomes? of course it is 17:18 hmmmm er, oh, you mean with your algorithm 17:19 hmmmm with mine it'd be as simple as multiply the distance by a number 17:19 hmmmm multiplying* 17:19 sweetbomber meanwhile ill commit the code, if you can say if my coding is within minetest's standards 17:19 sweetbomber i would appreciate 17:24 sweetbomber https://github.com/sweetbomber/minetest/commits/fastCalcBiome 17:25 sweetbomber for now just ignore error handling and printf's 17:27 sweetbomber dunno if you have a big biome lua script, here is one randomly generated: http://pastebin.com/uGqM5P0g 17:27 sweetbomber generates 300 biomes 17:27 Exio PilzAdam: https://github.com/EXio4/minetest/commit/b18e5e4939a3865251d8089ff65ccbc82d0084a7 17:30 PilzAdam Exio, seems good 17:31 hmmmm 300 biomes 17:31 hmmmm yikes 17:31 sweetbomber lol 17:31 hmmmm erm 17:31 hmmmm big problem 17:31 hmmmm we don't accept spaces as indentation at all 17:32 sweetbomber oh, no prob me neither 17:32 sweetbomber that was just tweaking on gedit 17:32 sweetbomber usualy i use vim with noexpandtab 17:32 hmmmm from what it seems it's okay 17:32 hmmmm couple stylistic things though 17:32 sweetbomber thats what i wanna hear 17:32 sweetbomber shoot 17:32 hmmmm for variable names we don't use camelCase, camelCase is for method names 17:33 sweetbomber ok 17:33 hmmmm pointers ought to be type *foo; 17:33 hmmmm not type* foo; or type * foo or any other variant 17:33 hmmmm or at the very very least, keep it consistent throughout the source file 17:33 sweetbomber ill use the one you pointed 17:34 hmmmm we don't like lines above 80, and 90 chars is the hard limit 17:34 hmmmm for macros just break them off onto a new line 17:34 hmmmm see noise.h for examples 17:34 sweetbomber sorry, didnt noticed that. i usually use wrap 17:34 sweetbomber *will fix 17:35 sweetbomber anyway, this code was just to get me warm 17:35 hmmmm lol + // Are there any clusters? 17:35 hmmmm kind of obvious from the code 17:35 sweetbomber i like to comment code with a bit of salt :p 17:36 hmmmm also, not having whitespace between control keywords and the conditions is a celeron thing 17:36 sweetbomber (no bad language! relax :) 17:36 hmmmm most of us discourage that however 17:36 sweetbomber that was a typo, i guess... troughtout the rest of the code i think i kept that convention 17:37 hmmmm coding style is basically Linux kernel style 17:37 hmmmm oh, you haven't seen this have you 17:37 sweetbomber where is that? 17:37 hmmmm http://dev.minetest.net/Code_style_guidelines 17:37 Exio linux kernel style? camel case? tabs? wat ;P 17:38 hmmmm modified a bit 17:38 hmmmm linux kernel style is for C, so it can't be exactly the same 17:39 hmmmm i wrote "something that resembles the Linux Kernel code style" 17:39 sweetbomber no, "not having a whitespace between control keywords" 17:39 sweetbomber :) 17:39 hmmmm oh, er, that specific rule, i don't think i have it written down 17:40 sweetbomber ill read the style guide. did missed it 17:40 sweetbomber just tried to reverse-engineer other code 17:41 hmmmm ah 17:41 hmmmm https://www.kernel.org/doc/Documentation/CodingStyle section 3.1 Spaces 17:43 hmmmm the code itself is very good though 17:48 sweetbomber the kernel tips are nice 17:48 sweetbomber ty 17:48 sweetbomber im a bit rusty on code...dont program anything serious for a long time 17:49 sweetbomber despite the fact that i like to code in my spare time....but thats another reason why i want to contribute to this project 17:54 hmmmm are you an applied math guy? 17:57 sweetbomber lol, nope :p 17:57 sweetbomber electronics *.*' 17:58 hmmmm ah, found it kind of interesting that you know so much about statistical/stochiastic stuff and used matlab for things 17:58 hmmmm celeron55 does electronics 17:58 sweetbomber heard about ml-class standford e-learning? 17:58 sweetbomber quite interesting course 17:58 sweetbomber did it last year 17:58 hmmmm ah machine learning 17:58 hmmmm i've read a little on the topic but i'm no expert 18:00 Exio just bugging around, would anyone check https://github.com/EXio4/minetest/commit/b18e5e4939a3865251d8089ff65ccbc82d0084a7 ? 18:01 Calinou just bugging around, would anyone check https://github.com/minetest/minetest/pull/409 ? 18:01 Calinou :-) 18:02 VanessaE Calinou: fuck no! 18:02 Calinou well, make "climbable" accept a speed value 18:02 Calinou create a node named default:glitch_ladder 18:02 Calinou set climbable to 20 blocks/second :P 18:07 Jordach Calinou, these are shift ladders right 18:07 Jordach people still use them 18:08 * PilzAdam votes for fixing the shift ladders 18:08 Jordach many public minetest builds use them 18:08 Jordach and its been here longer than you have PilzAdam 18:08 sweetbomber hmmmm: sorry, lost internets 18:09 sweetbomber my forever-alone log: 18:09 sweetbomber "me neither, but it helped a lot to know what exists and where it is used" 18:09 sweetbomber i recommend it 18:09 sweetbomber there are a lot of problems that can be solved effortlessly with ml 18:09 PilzAdam Jordach, following this, we will never have hardware lighting, since people use the current lighting and its longer here than I am 18:09 Jordach PilzAdam, the people want hardware accelerated stuff, not gameplay elements 18:10 Jordach or you wonder why Call of Duty sells with each release 18:10 Jordach theyre drooling at the poly count 18:11 * sweetbomber imagines a game where poly count was the only metric used :D 18:11 Jordach sweetbomber, thats how most modern games are unfortunately 18:12 sweetbomber i was just taking it to the absurd...imagine no gameplay at all...just a load of random polygons :) 18:12 Zeg9 Dont fix shift ladders until someone makes a lift mod at least 18:13 PilzAdam Zeg9, a mod like this is already done 18:13 VanessaE don't fix sneak elevators at all. 18:13 PilzAdam as laser or something like this 18:13 VanessaE they're too entrenched. 18:13 NakedFury fix them 18:13 NakedFury they are a glitch or bug 18:14 Zeg9 PilzAdam: this is just a modified water iirc 18:15 Jordach PilzAdam, if your term of bug is "Minetest" stop fixing what people use 18:15 Exio https://xkcd.com/1172/ 18:16 sfan5 since when does xkcd use https? 18:16 NakedFury we really need to stop god damn glitches as gameplay or features. stop depending on them 18:16 PilzAdam ^ 18:18 sweetbomber i'm ghosting myself more than usual...guess i'll have to fill a complaint to my fon neighbour 18:19 VanessaE bbl 19:25 sweetbomber hmmmm: in calcBiomes is the height right? 19:26 sweetbomber i tp'd myself to 0 1000 0 and the height prints it still give around -10~10 19:26 sweetbomber just to get it straight: isn't the height supposed to be the height of the block being generated? 19:27 sweetbomber or is it directly from the height map? 19:27 sweetbomber otherwise, how could sky-high biomes be generated? 20:22 sweetbomber hmmm: got some profiling -> http://pastebin.com/uU553ec0 20:52 hmmmm the height in there is the elevation of the land 20:52 hmmmm hmm... so in general it's a 2-3x improvement.... i was expecting much more 20:53 hmmmm and this is @ 300 biomes, right? 21:55 sweetbomber yup, that is @ 255 biomes, but time is not O(n) now 21:55 sweetbomber ill try with less 21:59 sweetbomber i was expecting more too. 21:59 sweetbomber do you think its worth finishing it? 22:09 sweetbomber hmmmm: 50 biomes: http://pastebin.com/jub9Q9UA 22:11 hmmmm eek :/ 22:11 hmmmm maybe not 22:11 sweetbomber on the other hand it is much more scalable 22:11 hmmmm with even less biomes i'm assuming the situation is somewhat worse 22:11 hmmmm the original would come out ahead with the normal amount 22:12 sweetbomber with 5 biomes its about the same 22:12 hmmmm i don't intend to have more than 20 biomes in practice 22:13 hmmmm (of course, you can imagine that modders would go overboard with biomes like they do all things) 22:14 hmmmm the 255 biome limit is there basically so that biome maps don't need to be more than 8 bits, and to encourage people to not go insane with it 22:14 hmmmm i feel a lot of modders don't really put any imagination into what they make and end up adding content rather than something well thought out and fun 22:16 hmmmm I know how minecraft deals with this problem... they simply don't take elevation into account for biomes 22:18 kaeza but then again, MC's worlds are not very high 22:28 sweetbomber (sry, phone) 22:29 sweetbomber there was one thing that i did not understand about biomes 22:29 sweetbomber i tought that the mechanism to create e.g. aether was with biomes 22:30 sweetbomber so that there were biomes with height of 500 ~ 4000 22:30 sweetbomber specifically to generate land in the skies 22:30 sweetbomber but now it seems like it isnt the case 22:32 sweetbomber in that case, biomes generated in aether would have as "seed" the temperature, heat and height of the ground-zero world, right? 22:38 hmmmm see, i considered this, and it would be covered by the "biome type" case 22:38 hmmmm you remember that createBiome factory function? 22:38 sweetbomber yup 22:39 hmmmm well those were for biomes with fundamentally different terrain generation methods 22:39 hmmmm while that specific way of doing things turned out to not work well, i can still use the same type of idea for aether/nether 22:40 hmmmm i can have a height range where a new set of biomes occur, and this 'realm' i guess you can call it has its own generateTerrain() 22:40 hmmmm need to work out the details, but fundamentally, that's how it *must* be accomplished 22:41 hmmmm right, so really i guess we can say that a realm occurs in a certain range of height and has a set of possible biomes 22:41 hmmmm each realm has its own generateTerrain method 22:41 hmmmm and right now, the only supported realm is the "normal" realm 22:43 sweetbomber hmm 22:43 hmmmm i can do layers of crust this way too, come to think of it 22:45 hmmmm so i guess, in between the normal realm and the nether realm, there can be the "mantle" realm, which has a generateTerrain() that simply sets the block to whatever the filler node of the biome is 22:45 hmmmm which can be all sorts of things like iron blocks and whatever, and then lava, something really interesting 22:45 hmmmm and perhaps there are no caves, smaller caves, or at least less caves in this "realm" too 22:46 sweetbomber one thing, is your perlin noise really 3d? dont get me wrong, my only question is if it returns a point in (x, y,z)? 22:46 hmmmm errm, we use both 2d and 3d 22:46 sweetbomber yes, but particularly speaking of 3d 22:46 hmmmm well *i* use 3d for mapgen v7 22:47 hmmmm and of course, 3d perlin noise by definition is w = f(x, y, z) 22:47 sweetbomber can you give me an idea of how much time does it take to generate a block? 22:48 sweetbomber (generate a block of 3d perlin noise) 22:48 sweetbomber (no rendering) 22:48 hmmmm well 22:48 sweetbomber rought estimate, oc 22:48 hmmmm i have a xeon e3-1230v2, and at -O1 with gcc 4.2.2, it can generate an 80x80x80 buffer of 3d noise with 4 octaves in 22ms 22:49 hmmmm so, 22ms / 25 = your answer 22:49 hmmmm all types of perlin noise are insanely fast after i optimized it 22:50 hmmmm for almost all purposes, you can consider it "free" 22:50 VanessaE_ s/25/125/ 22:50 hmmmm erm, i mean 25 22:50 hmmmm oh 22:50 hmmmm i mean 125 22:50 VanessaE_ math FAIL ;) 22:51 hmmmm that's a lot more blocks than i thought 22:51 hmmmm holy crap i've been making that mistake for a long time 22:51 VanessaE_ "He is intelligent, but uneducated. His pattern suggests two-dimensional thinking." 22:51 VanessaE_ (jk) 22:52 hmmmm my estimate on generating blocks vs reading from disk was off too 22:52 hmmmm no more than 100ms for *125* blocks, vs. 30ms for *1* block 22:53 hmmmm we need leveldb FAST 22:53 hmmmm we also need to optimize mesh making somehow 22:53 VanessaE_ G*d yes. 22:53 VanessaE_ or wait, ignore that. 22:53 hmmmm i haven't payed much attention to mesh making because it wasn't my area 22:53 VanessaE_ (I'm thinking of something else) 22:54 hmmmm on singleplayer it's the single biggest bottleneck, don't forget 22:54 hmmmm i am also looking forward to kahrl's IP stack bypass for singleplayer 22:55 VanessaE_ one thing I've noticed, and I don't know if this is the mesh builder or the extrude routine, is running around on my server and having my client stall from time to time in very short bursts (say 1/2 second). 22:55 hmmmm vanessae, what do you think about the realm idea? 22:56 VanessaE_ lemme re-read 22:56 hmmmm would you go for that? an area of map above the nether that's made up completely of lava, and above that is solid iron blocks, and so on 22:56 sweetbomber the idea is nice 22:56 hmmmm this is more of a gameplay idea, but the realm concept would be motivated by this 22:57 VanessaE_ hmmmm: yeah, I think I could get used to that, provided the default realms are sufficiently separated in height (none of this -5000 crap for nether, for example - it belongs at -30000 or lower) 22:57 Anchakor so if you build a big tower you hit the bottom of nether? :P 22:57 VanessaE_ let's really USE that 62K height range 22:57 hmmmm there's never going to be any Y-axis wraparound, no idea who came up with that 22:58 hmmmm vanessae, i agree too, i think the nether should be a lot lower than it is 22:58 VanessaE_ Y-wraparound is dumb, but X/Z wraparound would be smart 22:58 VanessaE_ (if it's doable) 22:58 hmmmm many think that you ought to be able to dig to it 22:58 Anchakor could you do flying islands biome with that? 22:58 sweetbomber Y-wraparound would allow one fall forever :D lol 22:58 VanessaE_ dig to the nether? um. 22:58 sweetbomber *to fall 22:58 hmmmm vanessae, celeron said -800 22:58 hmmmm ;/ 22:58 VanessaE_ it's supposed to be another realm, so for all practical purposes it should be impossible to dig to it at all. 22:59 VanessaE_ -800? for nether? 22:59 hmmmm yep.. 22:59 hmmmm crazy huh? 22:59 hmmmm no way am i doing that 22:59 VanessaE_ ehm, wut? 22:59 VanessaE_ (to coin a phrase) 22:59 Anchakor different realms should really be different maps 22:59 VanessaE_ we have a 62 km high map, let's fricken USE that height. Look at what paramat is doing, for example 22:59 hmmmm i agree with -30000, i'm also going to have to work on making the map generation cutoff more predictable though 22:59 VanessaE_ Mt. Meru or whatever it is, is 1km high 23:00 hmmmm i saw that and it's awesome 23:00 hmmmm no idea why paramat doesn't contribute to the indev mapgen 23:00 hmmmm he has the skills 23:02 VanessaE_ good question 23:02 VanessaE_ I can only guess it's the same issue prestidigitator ran into maybe 23:02 VanessaE_ (which on the surface may not make sense but I think you get what I mean) 23:02 hmmmm prestidigitator wanted to make huge, sweeping changes with almost no benefit though 23:02 VanessaE_ true 23:05 VanessaE_ now, about the mesh building code 23:05 VanessaE_ where would I see the effect of slow-building, in practice? 23:05 VanessaE_ just general map loading, or those hiccups I mentioned? or somewhere else 23:25 PilzAdam https://github.com/PilzAdam/economy/commit/6bd53c97564906c61e750416f09f7c03d62061e8 23:26 PilzAdam ooops 23:26 PilzAdam wrong channel 23:26 * VanessaE_ pokes hmmmm 23:32 proller VanessaE_, look at "sky" server with spawn on ~1km mountain 23:59 VanessaE_ can someone please PLEASE fix the horrible CPU usage of the liquid flowing code?