Minetest logo

IRC log for #minetest-dev, 2012-12-18

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

All times shown according to UTC.

Time Nick Message
01:12 cy1 joined #minetest-dev
03:58 SpeedProg joined #minetest-dev
04:40 kotolegokot joined #minetest-dev
06:16 jin_xi joined #minetest-dev
06:19 sfan5[iPod] joined #minetest-dev
06:20 sfan5[iPod] umm.. is my pull request going to get merged?
06:25 OldCoder joined #minetest-dev
07:31 kotolegokot_ joined #minetest-dev
09:30 Calinou joined #minetest-dev
09:32 celeron55 sfan5|OFF: it will be looked at
09:35 rsiska joined #minetest-dev
11:13 toabi joined #minetest-dev
13:05 sfan5 celeron55: good
13:11 sfan5 https://github.com/celeron55/minetest/pull/360 @thexyz @celeron55
13:11 sfan5 i added a commit
13:16 doserj joined #minetest-dev
13:22 rsiska joined #minetest-dev
14:21 thexyz sfan5: nice, now rebase your changes into single commit
14:21 sfan5 ok
14:22 celeron55 did somebody look into whether the findcurl.cmake script looks similar to the already working ones?
14:36 PilzAdam joined #minetest-dev
14:43 sfan5 celeron55: it looks similar to findvorbis.cmake
14:45 thexyz >if(NOT GP2XWIZ)
14:45 thexyz wtf
14:47 thexyz is minetest expected to work on this one?
14:57 sfan5 thexyz: "Tweak CMake Files fur Curl" is that a good commit message?
14:59 thexyz s/fur/for, and why do you start each word with capital letter?
14:59 PilzAdam s/Curl/cURL
15:00 PilzAdam s/Files/files
15:12 darkrose sed: -e expressesion: unterminated `s' command
15:16 thexyz s/$/\//
15:17 VanessaE thexyz: use colons in that case.
15:17 VanessaE s:$:/:
15:17 VanessaE less typing.
15:19 thexyz darkrose: are you familiar with cmake?
15:20 darkrose no, I'm one of those insane people that write makefiles from scratch
15:21 darkrose ... which might actually be easier than messing with cmake
15:22 celeron55 writing makefiles from scratch is the best way if you only support make
15:22 celeron55 i do that too
15:22 celeron55 minetest just has a history of supporting visual studio too, so this his how we do it then
15:32 thexyz > almost forgot it, celeron55, anything else about my .ttf patch?
15:36 sfan5 merge request: https://github.com/celeron55/minetest/pull/360
15:38 sfan5 @thexyz
15:45 thexyz https://github.com/celeron55/minetest/pull/349
15:45 thexyz is there any reason this one should not be merged?
15:48 celeron55 just commented on it
15:57 sfan5 can somebody merge/comment (on) my pull request?
16:32 doserj joined #minetest-dev
16:41 celeron55_ joined #minetest-dev
16:46 hmmmm joined #minetest-dev
16:57 Calinou joined #minetest-dev
17:01 thexyz celeron55_: attachment system now causes awful glitches, how about disabling it until solution is found?
17:02 VanessaE <PilzAdam>  Noooo!! carts/boats!
17:02 VanessaE :-)
17:02 thexyz it's awful
17:02 VanessaE actually I'd favor disabling that code as well - it just gets weird at times on my server
17:03 VanessaE people wearing cobblestone, carts, etc.
17:03 PilzAdam I would prefer to fix it
17:03 thexyz PilzAdam: then do it!
17:04 thexyz or try to make Taoki to fix it
17:04 celeron55 we need to figure a way of even finding out what the problem is
17:05 celeron55 it's likely something about object ids
17:05 thexyz and how to reproduce it, in the first place
17:06 Calinou joined #minetest-dev
17:10 celeron55 actually i think i have a good guess of what it is - it is the way active object ids are generated
17:11 celeron55 it didn't get changed when attaching was added
17:16 celeron55 a test case would be highly useful though
17:17 celeron55 but i'll make a patch for someone to try on a server
17:18 thexyz ok, i can ask my users to test it
17:20 celeron55 it's a server-side fix
17:20 thexyz s/ask/make/
17:21 VanessaE best test I've seen is having PilzAdam or thexyz's signs mod and place several in an area where there's a lot of conifers leaf decay
17:21 VanessaE almost invariably, some dropped "leaves" will end up stuck to one of the signs.
17:21 celeron55 http://paste.dy.fi/YuW
18:10 thexyz wouldn't it be better to store all "available" ids in std::set?
18:12 celeron55 it gains nothing
18:14 celeron55 also, for attachments to actually work flawlessly, we should actually have like 64 bit ids so they can't ever get reused in practice
18:14 celeron55 and they should be world-global... but, that is hard
18:15 celeron55 well, not very hard, but it's out of scope of this fix
18:15 rubenwardy joined #minetest-dev
18:19 rubenwardy joined #minetest-dev
18:20 thexyz in theory, it can take up to 65535 operations just to calculate new id for object; that's not very high number, but with set nothing will be worse
18:21 hmmmm what...
18:21 hmmmm adding new IDs to objects only happens once in a blue moon at startup
18:21 hmmmm the benefit there would be next to nil
18:21 thexyz really?
18:22 thexyz well, then forget it
18:23 thexyz (i thought we can create new objects by simply dropping out something)
18:23 celeron55 to exaggerate a bit, that functions like the least called piece of code in minetest
18:23 celeron55 -s
18:23 celeron55 +is
18:24 celeron55 it only is called once if a new object is loaded or created
18:24 celeron55 *anything* else happens more often :D
18:25 celeron55 and with the next id thing, it's very unlikely to ever have to try any extra ids
18:26 hmmmm https://github.com/kwolekr/minetest/commit/e786c8f35fa54fdaa0711a1254dea0625e0ab645
18:26 hmmmm I committed up to what i did now ;;
18:27 hmmmm oh shoot, that reminds me.. how do you want me to report errors in calling the Lua api
18:27 thexyz great
18:27 hmmmm according to the rest of the code it seems like you just silently ignore it
18:27 celeron55 maybe you should make a separate commit of all the whitespace fixes 8)
18:27 hmmmm dude i can't help it it's friggin' codeblocks
18:27 hmmmm on my last installation it didn't do that
18:28 celeron55 the thing it does is perfectly right, but it doesn't really belong in the same commit as actual code
18:28 hmmmm like maybe if I could force it to all of the whitespace fixing all at once that'd be great but i have no idea how to do that
18:29 celeron55 i guess you need to manually save all the files
18:29 celeron55 :P
18:29 hmmmm no not only that, it only seems to "fix" it when i modify code in the surrounding arear
18:29 hmmmm area*
18:30 celeron55 well, let's not care about it then
18:30 hmmmm anyway as you can see for reporting errors i just have placeholder stuff such as printf("blahblahblah\n"); and the like
18:30 hmmmm so like, should i print it in the infostream, errorstream, silently ignore it?
18:31 celeron55 well, at least print it to the real log streams rather than stdout/stderr
18:32 thexyz it's awesome how fast it is
18:32 hmmmm 98% of the slowness is caused by lighting updates
18:32 hmmmm if you want it to go faster, that's what you need to fix
18:32 hmmmm but
18:33 hmmmm I can make the perlin noise functions even faster
18:33 celeron55 (if you prefer the printf way, there is LOGLINEF() in log.h)
18:34 celeron55 i don't know about failing... if the code *can* continue, i guess it should just continue, logging errors while doing it
18:34 hmmmm each octave requires redundant noise calculations.. if i calculate the last octave with the least "spread" (the most noise points), i can just take the 1/(2^(n-k))th point
18:34 celeron55 if it can't, just throw some exception
18:34 celeron55 (that is, abort the thing)
18:34 hmmmm as the number of octaves gets arbitrarily large, i'd be saving 1/4 + 1/8 + 1/16 + ... + 1/2^n = 1/2 calculations
18:34 celeron55 (gracefully)
18:35 celeron55 hmmmm: don't over-optimize without reason 8)
18:35 hmmmm oh god
18:35 hmmmm and i didn't even put in the SSE code yet
18:35 hmmmm that'd make it 4x as fast
18:35 hmmmm and then the multithreading would be a huge boost too
18:35 celeron55 you can get to that once other things are made faster
18:35 hmmmm at this point i'd have to say that perlin noise is practically free
18:35 celeron55 and once it actually is in use rather than being a prototype
18:42 hmmmm indeed.. gotta polish this
18:44 hmmmm calculating an 80x80 sized block takes 1124 microseconds with only -O1 and lots of fluff surrounding it... so an 80x80x80 sized chunk (that's 5 blocks in each direction being generated at once) in theory takes 89920 microseconds, so like 90ms to gen a 3d chunk
18:44 hmmmm and then with -O2 or -O3 that might be more like 50ms
18:45 celeron55 what i'm really looking for now is to get the output of the generator way past the current one in interestingness
18:46 hmmmm what, you mean mine?  of course, it's a work in progress
18:46 celeron55 i mean, compared to what shipped with 0.4.4
18:46 hmmmm I have some ideas on how to make those neat looking cliffs like in minecraft
18:46 hmmmm oh
18:47 hmmmm well anyway i came up with an idea of how to do the Nether without 3d noise, which basically consists of calculating 6 2d noise maps, one for each wall, and perhaps another one to calculate other related parameters
18:47 celeron55 minetest 0.3 generated terrain from 3D noise, which can make stuff like this: http://wiki.minetest.com/wiki/File:Minetest_mapgen5_funky.jpeg
18:47 celeron55 or, well, generates
18:48 celeron55 hmmmm: that sure isn't hard - now try to generalize it somehow 8)
18:49 hmmmm still working on that, yeah
18:49 hmmmm at the moment i want to make my mapgen actually look okay
18:49 celeron55 and by the way, your mapgen is called mapgen v7 8)
18:49 hmmmm v7
18:49 hmmmm the land of cliffs everywhere
18:49 hmmmm and water overflowing land and then getting stuck
18:49 celeron55 (the current one is v6)
18:51 hmmmm yeah that's a problem i'd say - when you have a flood going on, what happens is that the water source blocks cut off after a certain length and then the water flowing blocks start cutting down at a 45 degree angle
18:52 hmmmm from what I've seen in videos of minecraft, if there's some critical mass of water next to air, what it'll do is flood fill the gap
18:52 hmmmm i am not exactly sure how to do that
18:53 celeron55 fast 3d noise would be very useful
18:54 celeron55 it's so convenient
18:54 hmmmm http://www.youtube.com/watch?feature=player_detailpage&amp;list=PLvh8CGg6LWwqcebmuPL36z7UFp_aRFHlH&amp;v=bi80MBXIAu4#t=967s
18:55 Calinou it should be called mapgen 6.1
18:55 Calinou do like windows
18:55 Calinou :>
18:57 hmmmm i plan on using 3d noise for the aether biome which basically consists of blobs of land floating at +4000 along with puffs of cloud blocks
18:59 celeron55 i think 3d noise should be used for mountains too, and large caves
19:00 celeron55 voxels generated from 2d noise, even with fancy tricks, lack the soul of well used 3d noise 8)
19:01 celeron55 it's a tricky subject though, and especially just throwing perlin noise at something isn't going to get oneself too far
19:01 celeron55 needs special kind of skill and creativity
19:01 celeron55 and optimization
19:03 celeron55 especially it's interesting how a human can see the general characteristics of 3d noise manipulated by linear and non-linear operations
19:04 celeron55 you get bored to things, even while on a level of a bunch of voxels they are very complicated
19:05 celeron55 also it is tricky to get meaningful variation on the level of individual voxels
19:08 hmmmm http://images.wikia.com/randomstuffstuff/images/8/84/Minecraft_2.jpg
19:08 hmmmm any ideas on how to replicate that
19:08 hmmmm lol
19:09 rubenwardy left #minetest-dev
19:09 celeron55 notch is a wizard when it comes to generation of voxel landscapes
19:09 celeron55 he screwed it up somewhat in newer versions
19:09 celeron55 but minecraft alpha is full of awesomeness
19:09 hmmmm i mean look at the sharp ridge, you can clearly see that outgrowth from the mountain was generated by a 2d noise map on top and then another on the bottom with a slightly different seed and less height
19:09 hmmmm is that minecraft alpha? *shrug*
19:09 celeron55 no that isn't
19:10 celeron55 the landscape has some of the same characteristics though
19:10 hmmmm I never even played it to be honest, the whole reason why I came to minetest was because it actually worked on my platform
19:10 celeron55 i can tell that is some kind of 3d noise trickery
19:10 hmmmm perhpas
19:10 hmmmm perhaps*
19:10 celeron55 you can tell it from the volumenous characteristics of everything
19:10 hmmmm alright so how about this
19:11 hmmmm i add the height interpolation between biomes, clean up everything else, class-ify the old mapgen and readd that
19:11 hmmmm and then we both work from there
19:11 hmmmm on making the new mapgen more interesting like in the picture
19:12 celeron55 sounds like you making fast noises for me to use all the CPU in creative ways
19:12 celeron55 = fun!
19:12 celeron55 :D
19:12 hmmmm yeah... the new noise implementation solves the problem of duplicated work now that the result is stored in an array
19:12 celeron55 i have attempted to mimick notch's things even by sacrificing all performance, but i haven't been too succesful
19:13 hmmmm because i noticed that often in the old mapgen you'd calculate the same exact noise twice or even three times
19:14 hmmmm you know, I'm going to add new noise functions so you can change the spread factor and number of octaves after creation of the noise object (both of which require buffer reallocations)
19:14 hmmmm let me do that right now.
19:15 celeron55 there is one thing we can do with this 80x80x80 chunk generation that minecraft can't
19:15 celeron55 it's called shameless non-linear generation of things under the size of 80x80x80 8)
19:15 celeron55 and aligned inside them
19:15 celeron55 i'll be looking into higher-than-sea-level lakes
19:16 celeron55 some day, maybe
19:17 celeron55 afaik minecraft still doesn't have anything larger of those things than tiny 8x8ish ponds
19:18 hmmmm oh gosh, really?  my mapgen makes huge lakes naturally
19:18 celeron55 of many water levels?
19:19 hmmmm well by default it goes to -12 + noise variation with a scale of 10
19:19 celeron55 i mean, it's easy to make "oceans" (that is, a fixed water level everywhere), but making "lakes", that is, water that is "reasonable surface pockets in the ground at upper levels than the sea" is hard
19:20 hmmmm i originally intended to add a lake biome that has a higher offset than the ocean does
19:20 celeron55 well, yeah, but it looks horrible as is and i don't know if what you currently have for that is a good starting point
19:20 hmmmm and less scale too
19:20 hmmmm I think it is, i had an idea going into all of this
19:21 celeron55 we'll see
19:21 hmmmm but it definitely needs tuning
19:21 hmmmm that's pre-alpha quality crap
19:21 hmmmm i feel quite embarassed even showing other people it
19:36 BackupCoder hmmm I assume you can see this show the stuff so we can decide for ourselves
19:36 thexyz celeron55: just fyi, i've just switched api site to point to mediawiki-based one
19:41 BackupCoder site is nice
19:55 celeron55 thexyz: i was wondering when you'd do that 8)
20:00 jin_xi joined #minetest-dev
20:30 VanessaE celeron55: per pilzadam's suggestion I put up a straw poll re: mese, you may have seen it.
20:30 VanessaE http://minetest.net/forum/viewtopic.php?id=4134
20:32 celeron55 i have to say i like the results 8)
20:32 celeron55 they look like the thoughts in my head
20:36 VanessaE omg
20:36 VanessaE we agree on something????
20:36 * VanessaE falls over, dead
20:36 VanessaE *twitch*
20:47 VanessaE *twitch*
21:39 Taoki thexyz: What is wrong with attachments? I'm not aware of any major glitches
21:40 Taoki And IMO disabling them would be very bad. But if there are problems mods should be careful with them
21:40 VanessaE Taoki: entities attach to each other randomly, or to players, or players to entities e.g. thexyz or pilzadam's signs (and then the player can't mode)
21:40 VanessaE (move*)
21:40 celeron55 thexyz: any initial results of the patch?
21:41 Taoki VanessaE: The only way that could happen is if the ID of a CAO is not the same as its SAO variant, which would be very odd. Also, I never seen that problem personally
21:41 Taoki Nor could imagine what in my code could cause it based on what I remember
21:45 Taoki Erm, why do upside-down stairs and slabs have to be registered as different nodes? Isn't it possible to just rotate the nodebox and only define them as one node?
21:45 Taoki That sounds most normal and consistent IMO
21:46 celeron55 the situations are complicated enough to make describing possible test cases from the top of my head impossible
21:46 celeron55 but the reused sao ids can cause it
21:46 celeron55 i have made a patch for thexyz for testing
21:47 Taoki ok. Nothing I can think of in my code should be it. Whenever an attach call is made, the client uses getCAO(parent's_id)
21:47 Taoki So only if that fails I could imagine the problem
21:53 hmmmm alright how about this
21:54 hmmmm i make mapgen.cpp contain the emergemanager and other assorted common routines shared between all of them
21:54 hmmmm i split off the current mapgen into mapgen_v7.cpp, put 0.4's mapgen in mapgen_v6.cpp, and then bring mapgen v5 back with mapgen_v5.cpp
21:55 hmmmm mapgen_v6 will be the default, but can be set in the config file, and which version mapgen is being used to generate the map is added in map_meta.txt
21:56 Taoki celeron55: Is the huge trees mod going to become default anytime? I love what RBA did with them :D
21:56 hmmmm it's not going to be a mod
21:58 Taoki Can't wait for the mapgen stuff too :)
21:58 VanessaE hmmmm: +1 if by "current" you mean the mapgen you've been working on
21:59 doserj joined #minetest-dev
22:33 rsiska joined #minetest-dev

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