Minetest logo

IRC log for #minetest-dev, 2013-07-12

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

All times shown according to UTC.

Time Nick Message
00:00 kahrl well CONTENT_UNKNOWN is kind of needed in this (rare) case
00:01 kahrl there is an alternative, adding a separate fallback ContentFeatures in NodeDefManager
00:01 kahrl but that does not really mesh with how updateTextures etc. work
00:03 kahrl well anyway, how about this plan:
00:03 kahrl 1. slightly increase MAX_CONTENT now to get VanessaE's server working again
00:03 kahrl 2. later, when a big protocol change is needed anyway, merge my patch
00:04 kahrl to get 2. to happen sooner work on the TCP branch
00:04 Exio4 the second thing is what i was thinking
00:05 Exio4 if something big needs to get changed, pack all the stuff :P
00:08 PilzAdam kahrl, are there any existing methods to compare a char[] and a string case insensitive?
00:09 kahrl i'd have said str_equal but that takes std::wstring
00:09 kahrl strcasecmp?
00:10 kahrl yeah, porting.h has some magic to make strcasecmp work portably
00:14 PilzAdam yea, that works
01:47 ssieb joined #minetest-dev
02:04 kaeza joined #minetest-dev
03:09 hmmmmm anyway
03:10 hmmmmm it looks like that DavidMikeSimon's work was basically the exact same thing as what I wanted to do
03:10 hmmmmm (well, except, i wouldn't request an entire cube, i'd limit the range in the Y direction)
03:12 hmmmmm celeron always used to post the URLs to the branch here so somebody could continue working, but i honestly think it would be more beneficial if he just articulated with words the general idea of what's going on, what problems they faced, and why it never made it in
03:13 VanessaE_ imho, don't request/send the whole block or even a limited part - send only that which the user should be able to see (the server does know the player's yaw and look pitch), starting with the closest block first
03:14 VanessaE_ otherwise you're wasting bandwidth
03:14 hmmmmm yes, that's cute, but it's what we've been doing since forever and it hasn't been working
03:14 VanessaE_ not really.
03:14 VanessaE_ I often see blocks farther away from me appear before blocks immediately next to me.
03:15 hmmmmm it's not sent in that order
03:15 hmmmmm that must be due to some client-side thing
03:15 VanessaE_ interesting
03:15 VanessaE_ well, you know what you're doing.
03:15 VanessaE_ I'll shut up now.
03:15 hmmmmm i'm just saying
03:15 hmmmmm as of right now, blocks are sent the exact way you described
03:15 VanessaE_ oh ok
03:16 hmmmmm but it doesn't work out well because, well, you already see the problems we have with it
03:16 VanessaE_ *nod*
03:16 hmmmmm I honestly think effort is better put into making mesh generation algorithmically faster
03:16 hmmmmm and if that's not possible, then, multithreading it and optimizing it for performance
03:17 VanessaE_ yes, indeed so.  How slow do you figure it is now? (as a percentage of the maximum theoretical speed you should be able to get)?
03:17 VanessaE_ -?
03:17 hmmmmm lol how should i know
03:17 VanessaE_ heh
03:17 hmmmmm research is needed
03:18 VanessaE_ well it's simple - my husband and I have this agreement.  He knows everything, and I'm always right, so maybe the former part applies to you also :D
03:19 VanessaE_ question:  is it possible to tell irrlicht/video driver/etc. that a mesh has simply changed a little bit, rather than always giving it whole meshes for those updates?
03:19 VanessaE_ (i.e. "delete these two polys and replace them with these two others")
03:19 hmmmmm i think it tries something like that
03:20 hmmmmm honestly i remember looking at the mesh generation thread once.  i remember it iterates through all of the nodes in the mapblock 6 times
03:20 hmmmmm that's a lot
03:21 VanessaE_ ok.  I got the impression that it generates whole mapblock-sized meshes each time some little change is made
03:21 VanessaE_ 6 times?  surely there's a reason for that?
03:21 hmmmmm that's just the way the algorithm turned out i guess?
03:21 VanessaE_ *shrug*
03:21 VanessaE_ wish I understood the engine more.
03:22 hmmmmm just read the code a lot
03:23 VanessaE_ eventually I'll come to understand it.
03:24 hmmmmm well, you can start by looking at mapblock_mesh.cpp:994 i guess
03:25 hmmmmm eww.  i seriously wonder why realbadangel thought this was an acceptable code style
03:25 hmmmmm i actually feel so strongly against it i want to fix it right now
03:33 kahrl hmmmmm: go right ahead. I hate it with a passion
03:38 hmmmmm erm, actually, can anybody tell me what lines 1175 to 1179 actually do
03:41 kahrl look wrong
03:43 hmmmmm so what's the point of checking isKnownSourceImage and then doing some wacky string manipulation to use getTexture a moment later
03:44 kahrl wtf
03:47 kahrl might the intention be to handle stuff like ^[inventorycube{a.png{b.png{c.png --> ^[inventorycube{a_normal.png{b_normal.png{c_normal.png?
03:47 VanessaE_ wait a sec, didn't you guys just optimize a bunch of such things out just recently?
03:47 kahrl but I don't get the isKnownSourceImage check in that case
03:48 kahrl also quite the hack
03:48 kahrl VanessaE_: what things?
03:49 VanessaE_ kahrl: string manipulations in hot areas
03:49 kahrl that's not really "hot"
03:49 VanessaE_ well no, but the particular patch I'm thinking of was.
03:50 kahrl patch?
03:50 hmmmmm also what's up with missing parameters?
03:50 hmmmmm there is no TextureSource::getTexture(std::string &), yet that getTexture is called as if there is
03:50 VanessaE_ kahrl: nevermind, I can't find the reference now anyways.
03:51 hmmmmm if the omitted parameter isn't NULL, that'd be a pretty big bug
03:52 hmmmmm or rather it doesn't even check if id is a valid pointer
03:52 kahrl huh? it does
03:52 hmmmmm am i missing something here?  how is this valid?  is this a bug?
03:52 kahrl tile.cpp:768
03:53 hmmmmm yeah, that takes a u32 * as well though
03:53 kahrl which can be NULL and is optional
03:53 hmmmmm ahhh i missed the = NULL
03:54 kahrl basically wherever code previously (before the atlas removal patch) called getTextureRaw(str) it can now call getTexture(str)
03:55 hmmmmm anyway i'm going to remove that weird loop
03:55 kahrl I'd ask RBA
03:55 hmmmmm if it really is supposed to handle those sorts of cases, it's broken anyway since it doesn't check all of them for existence
03:55 kahrl I'm not touching that stuff because bump maps don't ever work for me
03:55 kahrl s/ever/even
03:56 hmmmmm heh.  graphics driver problem?
03:56 kahrl ATI, yeah :P
03:56 hmmmmm that sucks.
03:56 hmmmmm well i guess i'll leave the logic intact but at least fix the code style
03:56 VanessaE_ kahrl: irrlicht 1.8?
03:57 kahrl VanessaE_: yup
03:57 VanessaE_ that's why.
03:57 VanessaE_ MT + irrlcht 1.8 = no bumpmaps.
03:57 VanessaE_ no one's sure yet why that's the case.
03:57 kahrl I use 16px textures anyway so it doesn't bother me
04:03 kahrl did something about shader parameter passing change in 1.8?
04:03 kahrl can't really think of much else that would cause problems
04:03 VanessaE_ dunno
04:04 VanessaE_ but come to think of it, I seem to recall that some folks were complaining about shaders generally not working at all in 1.8.
04:04 kahrl the other minetest shaders work though
04:04 kahrl so it must be something specific to the bumpmap shader
04:05 VanessaE_ hm.
04:06 hmmmmm look good? https://github.com/kwolekr/minetest/commit/d1a50adfd7083b7df31b91abf54bfd7c407fbf20
04:07 kahrl hmmmmm: initialize i = 0
04:07 hmmmmm whoops
04:07 hmmmmm good catch
04:07 hmmmmm anything else?
04:08 hmmmmm should probably change "replace" to something else that isn't the same name as the function
04:08 kahrl can you reassign shadermat1/2 like that?
04:08 hmmmmm yes
04:08 hmmmmm they aren't used anywhere after that
04:09 kahrl next loop iteration?
04:09 hmmmmm the whole thing is in a loop
04:09 hmmmmm agh
04:09 hmmmmm i am really screwing up today
04:11 kahrl renaming "replace" sounds sensible
04:12 kahrl the rest of the patch looks good
04:12 hmmmmm (i can't really test it either since that requires the whole shader setup)
04:12 hmmmmm here's the finalized version:  https://github.com/kwolekr/minetest/commit/fc6725f14ed371fc626c023faf89e370ea8c2105
04:13 kahrl much better than what is in master :)
04:13 kaeza joined #minetest-dev
04:13 kahrl if you are confident feel free to push it
04:14 hmmmmm who could possibly feel confident after making two goofups in the same commit :P
04:16 hmmmmm and upon reexamination, it doesn't go through the entire mapblock 6 times like i originally said, it does 16 * 16 * 3 iterations of updateFastFaceRow (16 iterations in itself), so half as much
04:17 hmmmmm could probably be optimized for cache locality
04:17 hmmmmm at the least
04:19 VanessaE_ hrm...something ain't right
04:19 VanessaE_ texture packs ain't working.
04:19 hmmmmm after the latest commit?
04:19 VanessaE_ not sure if it's that commit or not, lemme revert and check it
04:20 hmmmmm i don't *see* what the problem could possibly be with that
04:20 VanessaE_ nope, wasn't that one
04:21 VanessaE_ lemme step backwards a bit and see where it went wrong
04:22 VanessaE_ oh wait
04:22 VanessaE_ I know why.
04:22 VanessaE_ forgot I renamed the dir my texture packs are stored in.  forgot to update my config accordingly.
04:23 VanessaE_ there, that's better.
04:23 VanessaE_ bumpmaps seem to work normally.
04:27 hmmmmm yeah, and next time you see RBA be sure to ask him WTF is up with that replacement loop in mapblock_mesh.cpp
04:28 VanessaE_ heh, I'll try to remember :)
04:28 hmmmmm thx
04:30 neko259 joined #minetest-dev
04:31 VanessaE_ oh I think I see what he's trying to do here.
04:31 VanessaE_ brute-force search for the .xxx extension, insert _normal.png in its place when found
04:32 VanessaE_ surely there's a better way?
04:32 hmmmmm no, see karhl's explanation above
04:33 VanessaE_ dunno then.  As if I needed to say anything anyways :)
04:36 VanessaE_ in the meantime, I think I'll get some sleep.  I'm making far more mistakes myself tonight than usual.
04:38 VanessaE_ night.
05:27 Miner_48er joined #minetest-dev
05:41 darkrose joined #minetest-dev
06:18 darkrose joined #minetest-dev
06:18 darkrose joined #minetest-dev
07:00 NakedFury joined #minetest-dev
07:39 Calinou joined #minetest-dev
07:42 darkrose joined #minetest-dev
07:42 darkrose joined #minetest-dev
08:38 celeron55 umm
08:38 celeron55 https://github.com/minetest/minetest/commit/320a00e7c65c43c2aa64d1da6e855428101c4aa6
08:39 celeron55 i think this doesn't make sense; why couldn't password checking just be disabled when the server knows it's in singleplayer?
08:41 celeron55 hmm, i guess it's better if online players can't mess with the singleplayer player if it's played with otherwise
08:41 celeron55 whatever
09:14 Calinou joined #minetest-dev
09:18 nyuszika7h joined #minetest-dev
09:18 kaeza "its hacky"
09:55 around joined #minetest-dev
10:00 darkrose joined #minetest-dev
10:00 darkrose joined #minetest-dev
10:48 PilzAdam joined #minetest-dev
10:54 proller joined #minetest-dev
11:16 PilzAdam celeron55, online players could easily "steal" items from the singleplayer inventory or even abuse its privs; and most server admins dont set a password manually for singleplayer
11:50 Calinou joined #minetest-dev
12:18 iqualfragile joined #minetest-dev
13:02 diemartin joined #minetest-dev
13:06 proller joined #minetest-dev
13:06 PilzAdam how would I drop an node as item in Map::transformLiquids()?
13:11 celeron55 i guess there isn't a straightforward way as Map is supposed to only handle nodes
13:12 celeron55 umm... also it's called by Server
13:12 celeron55 well that doesn't make sense
13:14 celeron55 one way would be to add some kind of a callback parameter to it that allows doing some non-node stuff, or make it return some kind of a list of events
13:15 celeron55 also i guess ServerEnvironment should call it rather than Server
13:17 celeron55 alternatively the whole transformLiquids could be moved to ServerEnvironment...
13:17 celeron55 i have a feeling that hmmmm might have an opinion here 8)
13:20 RealBadAngel joined #minetest-dev
13:21 RealBadAngel hi all
13:21 PilzAdam RealBadAngel, http://irc.minetest.ru/minetest-dev/2013-07-12#i_3192882
13:22 RealBadAngel answer is simple
13:23 RealBadAngel i wanted to check if normal is aviable
13:23 RealBadAngel if so, i use it
13:24 RealBadAngel either way with direct call for it i will cause tile manager to create dummy files
13:24 RealBadAngel think. it doesnt hurt
13:26 RealBadAngel this way texture pack can have textures with normals and height maps and textures that wont use them at the same time
13:26 RealBadAngel all depends on it if the files are present
13:27 RealBadAngel for example items, plant like, doesnt need normals
13:30 RealBadAngel and regarding the style: i already trashed almost all of the code
13:30 RealBadAngel since i rebuilded WEIRD shaders system
13:31 RealBadAngel now shaders can be turned on/off, as many of them one would like
13:32 RealBadAngel and the result of all the shaders work is gathered in one final shader
13:32 RealBadAngel and theres no weird tree solids/liquids/alpha
13:34 RealBadAngel type of a surface is a parameter passed to shader
13:39 RealBadAngel and for the log: answer to hmmm's question: Vanessa'E got it right "brute-force search for the .xxx extension, insert _normal.png in its place when found"
13:40 RealBadAngel because in the string there can be many texture file names used
13:40 RealBadAngel this loop finds them all
13:41 RealBadAngel all this hacky things thx to ^ system
13:42 RealBadAngel and dont tell me using find and replace functions will wokr
13:42 RealBadAngel *work
13:43 RealBadAngel because i should call it with all the aviable extensions
13:44 * VanessaE_ peeks in
13:44 RealBadAngel and one can have png^jpg and i would end in the middle of nowhere
13:44 RealBadAngel hi
13:44 RealBadAngel please read the explanation above
13:45 RealBadAngel its about the discusion about my shaders code
13:45 * VanessaE_ reads..
13:45 proller use astyle for new files
13:46 proller astyle --style=attach --indent=tab --keep-one-line-blocks --keep-one-line-statements --indent-classes --pad-oper *.cpp *.h
13:47 VanessaE_ done.
13:52 VanessaE_ oh sure.
13:52 VanessaE_ I show up and he signs off ;)
13:56 RealBadAngel joined #minetest-dev
14:06 proller_ joined #minetest-dev
14:10 proller joined #minetest-dev
14:13 ShadowNinja joined #minetest-dev
14:34 PilzAdam https://github.com/PilzAdam/minetest/commits/stuff any comments on "Randomly choose singleplayer port" and "Fix lighting bug caused by disappearing lava"?
14:35 PilzAdam also on this: https://github.com/minetest/minetest/pull/820
14:37 VanessaE_ PilzAdam: no comments on those, but does flushing those buildable_to nodes away drop them as entities?
14:37 VanessaE_ (doesn't look like it to me)
14:37 PilzAdam VanessaE_, that one is not ready yet
14:37 VanessaE_ maybe you should wait on that one then
14:37 PilzAdam re-read what I said; I dont want to merge that yet
14:39 VanessaE_ oh ok
14:39 VanessaE_ I took that to mean "I have another commit to add after that one goes in"
14:50 NakedFury joined #minetest-dev
14:51 Calinou joined #minetest-dev
15:02 VanessaE noting Taoki's post, http://forum.minetest.net/viewtopic.php?pid=99322#p99322 , what's the status of this patch?
15:13 Jordach joined #minetest-dev
15:33 celeron55 the status is "irrlicht is broken and it's too much work for us to make a reasonable workaround"
15:33 celeron55 oh well, that's what the thread says too anyway
15:56 diemartin joined #minetest-dev
16:03 Anchakor1 in hindsight would you rather go ogre3d + sdl route today?
16:05 Jordach probably not
16:13 celeron55 plain opengl
16:13 celeron55 once you know what you're doing, these 3d libraries just get in your way
16:13 Anchakor1 too much work
16:20 celeron55 i would also leave out visual studio support
16:21 diemartin most Windows users use precompiled versions, and those who compile themselves can easily install MinGW anyway (or crosscompile)
16:23 sfan5 ^
16:26 RealBadAngel celeron55, did you knew that most of the fancy shaders effects im workin on irrlicht have built-in without shaders?
16:27 RealBadAngel water reflections, normal mapping, parallax occlusion and more?
16:27 RealBadAngel by simply specyfying material type
16:27 celeron55 so?
16:27 RealBadAngel we cannot use them
16:28 RealBadAngel thx to 1 node idea
16:28 celeron55 i don't understand
16:28 Jordach RealBadAngel, use groups to specify material
16:28 celeron55 built-in? 1 node?
16:28 celeron55 not that i even care, i'm working on something else
16:28 VanessaE celeron55: scene node.
16:29 RealBadAngel i was suprised lately with what irrlicht can offer
16:30 celeron55 what do you expect from me?
16:30 RealBadAngel had hard time with meshes tangent space
16:30 celeron55 like, can i just continue what i'm doing or should i answer something clever
16:30 RealBadAngel and learned that irrlicht can just offers a method to create mesh with tangents
16:31 blaaaaargh joined #minetest-dev
16:31 RealBadAngel please do continue
16:31 RealBadAngel i am listening
16:31 celeron55 if it makes a difference, each mapblock could be an irrlicht scene node
16:32 RealBadAngel what about fast_faces?
16:32 celeron55 but it's kind of an another arbitrary way of chunking stuff and will just make the same problems in a different way
16:32 RealBadAngel they can cross those borders
16:33 celeron55 wut?
16:33 RealBadAngel drawing time
16:33 celeron55 oh well, i'll just stop; you talk way too cryptically for discussion to be enjoyable
16:33 celeron55 always
16:33 smoke_fumus joined #minetest-dev
16:33 RealBadAngel hehe
16:33 RealBadAngel i thinkin too much of code
16:34 RealBadAngel ok, i will stop
16:34 RealBadAngel please do continue, i wont break
16:36 proller maybe... https://github.com/minetest/minetest/pull/816
16:36 RealBadAngel i mean with border problems
16:42 sapier joined #minetest-dev
16:44 vals_ joined #minetest-dev
16:45 proller maybe https://github.com/minetest/minetest_game/pull/185
16:49 serengeor joined #minetest-dev
16:57 darkrose joined #minetest-dev
16:57 darkrose joined #minetest-dev
16:57 ssieb joined #minetest-dev
16:59 hmmmm joined #minetest-dev
16:59 Jordach_ joined #minetest-dev
17:00 sapier1 joined #minetest-dev
17:34 sapier1 did anyone ever try to start minetest in chroot?
17:36 iqualfragile joined #minetest-dev
17:45 Calinou joined #minetest-dev
18:11 proller joined #minetest-dev
18:13 Zeg9 joined #minetest-dev
18:15 neko259 joined #minetest-dev
18:17 Taoki <celeron55> the status is "irrlicht is broken and it's too much work for us to make a reasonable workaround"
18:17 Taoki We can make a correct and easy workaround. Just that no one who cares to do it was found. It also appears it's primarily the Minetest code's fault for the leaks (not really a fault, it's just due to how it caches mapblocks and automatically loads in the mesh when it does so)
18:18 Taoki Like PilzAdam said, it should work to keep mapblocks client-side for 10 minutes like currently, but not keep their mesh for as long too. I figure meshes should be deleted after 30 seconds of not looking at them, until they are to be rendered again
18:21 Taoki I don't think MT's current approach of sending / keeping the mesh of every single mapblock available in the client is normal even without VBO, from my own understanding. Only the meshes of what's being rendered (or likely to be rendered in the next few seconds) should probably be kept available. Even if mapblocks should be kept for 10 minutes under the form of information (not the mesh as well)
18:22 Taoki I'm not sure, but I think Irrlicht's behavoir might be normal. If you ask Irrlicht to maintain 1000 meshes, it will do so and fill the RAM. So don't ask it to :P
18:24 Taoki RealBadAngel: Also, hi! And WB... was worried you went missing during the last days :)
18:27 RealBadAngel im workin all the time
18:28 hmmmm this was probably said already but i didn't read it explicitly like this, shouldn't you just have a separate (much shorter) timeout for dropping meshes in the client as opposed to deleting the entire mapblock....
18:31 Taoki hmmmm: True
18:39 kaeza joined #minetest-dev
18:56 sapier1 https://github.com/minetest/minetest/pull/824
18:57 sapier1 fixes local favorites name and description getting lost (don't know why this wasn't already merged) as well as (most) issues with RUN_IN_PLACE=0
19:00 proller sapier1, fix public servers desc!
19:00 sapier1 if you did say the magic word I'd have done that at once ;-P
19:03 proller please!
19:03 SpeedProg joined #minetest-dev
19:03 hmmmm okay there dennis
19:06 PilzAdam joined #minetest-dev
19:07 sapier1 great we don't have a fixed size font
19:14 sapier1 proller ... fixed
19:14 proller thank you!
19:15 sapier1 someone still needs to merge it
19:16 sapier1 btw VanessaE Celeron55 PilzAdam did you manage to find a common understanding of bg/overlay/header/footer logics?
19:16 VanessaE dunno
19:18 sapier1 if there's no way to get a single solution until sunday afternoon I'm gonna decide on my own what I think is best ... if anyone wants to change that later it's gonna be her/his issue
19:19 sapier1 bt whoever suggested trying RUN_IN_PLACE=0 within chroot did never try to run minetest in chroot .. am I right?
19:20 PilzAdam sapier1, looking at f150f638fec04ff9064cbb69154173a51718ff3c; you dont change anything when RUN_IN_PLACE is 0
19:23 sapier1 actualy you're only partly right .. I change it everytime instead only if I want to
19:32 sapier1 did anyone try software rendering recently?
19:34 sapier1 PilzAdam now it really switches as expected
19:35 PilzAdam you know, path_share and path_user are equal when RUN_IN_PLACE = 0, your if is completly redundant
19:35 PilzAdam *1
19:35 PilzAdam just always use path_user
19:36 sapier1 then you're wrong they are not equal
19:36 PilzAdam https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L34
19:36 PilzAdam seems very equal to me
19:36 sapier1 then doc is wrong
19:37 sapier1 within core they are not same
19:37 PilzAdam porting.cpp_259
19:37 PilzAdam s/_/:
19:37 sapier1 path_share is <prefix>/share while user is <user>/.minetest/ ... I can only tell what i got
19:38 PilzAdam that is with RUN_IN_PLACE=0
19:38 PilzAdam with run in place they are both binary/../
19:38 sapier1 try it
19:39 PilzAdam look at the code
19:39 PilzAdam porting.cpp  line 332 and 333 set them exactly the same in #if RUN_IN_PLACE
19:45 sapier1 pilzadam plz read code again they are only equal if RUN_IN_PLACE=1
19:45 PilzAdam yes, thats what Im saying
19:46 PilzAdam so you can always use what RUN_IN_PLACE=0 needs, since it doesnt matter for 1
19:48 sapier1 ok original intention was to use path_share ... obviously that decision was wrong
19:52 sapier1 better?
19:52 sapier1 stop
19:53 sapier1 forgot second occurance
20:06 proller any objections? https://github.com/proller/minetest/commit/8348405a982ad33638aa986f3f932ccdd9f3961e
20:06 OWNSyouAll_DESKT joined #minetest-dev
20:06 proller no? okay, will commit.
20:06 proller 8-)
20:07 sapier1 wait
20:07 sapier1 why do you announce mods?
20:09 sapier1 ok they can be viewed by browser so at least some use
20:10 proller yes
20:10 PilzAdam sapier1, can we get a horizontal scrollbar in the public server list?
20:11 sapier1 lemme have a look if irrlicht supports that
20:11 proller no objections?
20:13 sapier1 PilzAdam no we can't
20:13 proller maybe make more width in window?
20:14 proller 90% from screen
20:14 sapier1 won't change the basic problem ... if we increase size descriptions will increase at same rate
20:14 proller smaller font?
20:14 PilzAdam that would be unreadable
20:16 sapier1 server owners just need to accept some limits ... we may increase the size but there still will be limits
20:16 proller we can cut names before show
20:17 sapier1 grr irrlicht doesn't even support tooltips :-(
20:17 sapier1 at least not for listboxes
20:19 sapier1 ShadowNinja's server (A creative server by ShadowNinja?) ok I guess there may be some ppl out there not realizing that ShadowNinja's server may be run by ShadowNinja :-)
20:20 Jordach by *a* ShadowNinja
20:21 sapier1 we could show description of selected  entry in a textfield between Name/Password and Connected
20:27 ShadowNinja sapier1: Yep, I intended to change that to something a little more interesting.
20:28 sapier1 :-) you're not the only one doing it that way
20:34 Naked joined #minetest-dev
20:42 sapier1 ok I removed description from server list and show it above connect button now
20:43 PilzAdam why not a "Details" button, which opens a new window?
20:43 sapier1 do you really want to click an additional button to see description?
20:43 PilzAdam yes, and all the flags and stuff too
20:44 PilzAdam also the modlist
20:44 sapier1 I assume this is a feature request
20:44 diemartin joined #minetest-dev
20:44 Taoki joined #minetest-dev
20:45 PilzAdam why do you have commented out code in ffcaa243bc415c9383ade7d87298aec9f6c73c47 ?
20:45 sapier1 because I didn't want to remove it (yet)
20:47 PilzAdam meh, the flags dont look good how you display them currently
20:48 sapier1 I know but it's best that can be done
20:48 sapier1 at least atm
20:48 PilzAdam and why do you add "____" to the favorite list?
20:49 sapier1 because we do have a non fixed size character font using " " results in completly messed up indentions
20:49 PilzAdam I mean, why do you want to show flags at all in the favorites list?
20:50 sapier1 because proller requested it
20:50 PilzAdam there are no flags in favoriteservers.txt
20:50 sapier1 ohhh you're talking about the local list
20:53 sapier1 fixed
20:57 PilzAdam merged
20:57 proller is any... https://github.com/proller/minetest/commit/e166bad625cd2785f2bb67cf0127bdd1499a9e36 ?
20:58 PilzAdam proller, why?
20:58 sapier1 does anyone know what the second "depends on" was in original configure world dialog?
20:58 PilzAdam it was a list of mods that depend on the selected one
20:59 proller PilzAdam, thexyz have list of VerySecret Mods
20:59 sapier1 so it's required by
20:59 PilzAdam "is required by:"
20:59 proller and maybe someone want hide mods
21:00 PilzAdam sapier1, but caps it, so "Depends:" and "Required by:"
21:00 PilzAdam proller, there is still the /mods chatcommand
21:00 thexyz proller: moreover, I name my mods after my SSH passwords
21:01 sapier1 Required by is difficult to rebuild
21:01 PilzAdam sapier1, then just remove it
21:02 PilzAdam you would get enough space for the "Enable all" and "Disable all" buttons
21:02 PilzAdam and you can move the "Hide game" box to a proper place
21:02 sapier1 I still think this is a topic that needs clarification
21:03 sapier1 If you use local mods as some sort of local modstore what I assume it is meant to be those buttons are of no use at all
21:04 sapier1 hmm I schould use some "," sorry
21:04 PilzAdam why not add them and let users decide how they use them?
21:05 PilzAdam I know some people who just enable all mods for all of their worls
21:05 PilzAdam *worlds
21:05 sapier1 because our gui is just not big enough to add everything anyone might be able to use by some time ;-)
21:06 sapier1 I know others that do use games only
21:06 sapier1 both ways are perfectly legit but just don't fit
21:06 proller PilzAdam, thexyz can disable /mods
21:06 PilzAdam then give both ways all abilities
21:07 PilzAdam proller, then he can also disable the announce in the core
21:07 PilzAdam updated 814
21:07 sapier1 imho this cowardish to run away by a decision by doing everything bad instead of one thing correct
21:08 sapier1 and of course I would have to rename "enable all" to "enable all mods of modpack"
21:09 sapier1 I guess that won't fit the button
21:09 PilzAdam then name the new button "Enable all mods"
21:09 PilzAdam and the old one stays "Enable all", thats not the problem
21:09 PilzAdam I dont understand why you are against adding a button
21:09 sapier1 because I think it's too much of buttons
21:09 PilzAdam the people who need it, need it; and the people who dont need it just ignore it
21:10 sapier1 I haven't heared about anyone that needs it ... you don't need it I know for sure.
21:11 sapier1 you only want it because you've been forced to add it some time ago ;-)
21:11 PilzAdam IIRC NekoGloop and kaeza enable all mods for all their worlds
21:11 sapier1 we've got a game manager they can simply create a game and use that
21:12 PilzAdam go tell them that their way of using mods is not supported by the engine
21:12 sapier1 it's not exactly same I know but it may even be better
21:12 kaeza PilzAdam, no, I don't use mods/ ; I always use separate games
21:12 sapier1 it is ... if they use a custom menu
21:13 PilzAdam it worse, when you think of keeping it in sync with minetest_game
21:13 PilzAdam kaeza, then it was someone else, dont want to search the logs yet
21:13 thexyz PilzAdam: do you have anything personal against that patch?
21:13 PilzAdam thexyz, what patch?
21:14 sapier1 imho the new menu is a chance to cleanup some gui mess that has been added ... it'll get messed up soon enough
21:14 PilzAdam if you want to clean up mess then dont always show all mods of modpacks
21:15 thexyz PilzAdam: proller's
21:15 sapier1 that's not a inconsistency in gui but only a little bit more detail than might be required
21:15 PilzAdam thexyz, I have something against the direction it may lead: having settings for each bit that is announced
21:16 kaeza oh right
21:17 sapier1 I'm with pilzadam too what's use for it? I don't see any good reason why someone wants to hide what mods are run on server if she/he already announces the server
21:18 thexyz PilzAdam: having control of what information you're sharing with third party is an important thing, isn't it?
21:18 PilzAdam maybe create a single setting similiar to mg_flags
21:19 sapier1 it is but you're already sharing most information I don't see anything about modlist that is more worth to protect than other already announced ones
21:30 thexyz sapier1: I want to control what information I share, I can change name or description (most information) but I can't protect my mods from being visible
21:30 sapier1 ok from that point of view you're right
21:31 VanessaE thexyz: that said, any user can just type /mods after signing in with a gibberish userid/pass
21:31 VanessaE (your main point still stands, of course)
21:33 thexyz VanessaE: I can change /mods output or disable it completely
21:33 VanessaE true
21:35 iqualfragile joined #minetest-dev
21:35 proller now without disabling mods: https://github.com/proller/minetest/commit/67da4037e1197393253b3fe32cb5db004151389f
21:37 PilzAdam why dont you try that announce_flags thing?
21:37 proller more code, not now
21:38 PilzAdam remove the lines, dont just comment them out
21:41 iqualfragile joined #minetest-dev
21:42 proller okay
21:42 hmmmm erm guys
21:42 hmmmm 0.4.8 is really overdue
21:42 hmmmm basically we stopped it from happening because of the formspec main menu
21:43 sapier1 not exactly ... formspec was added because 0.4.8 wasn't to happen as soon as wanted
21:43 hmmmm would you all say that the main menu is stable enough for a release?
21:43 PilzAdam https://github.com/minetest/minetest/issues/814
21:43 sapier1 no the background issue is still open
21:43 hmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
21:43 VanessaE hmmmm: not really.
21:44 PilzAdam feature freeze until all fixable points of 814 are fixed and then release it?
21:44 hmmmm sounds fair to me
21:44 VanessaE wait!
21:44 sapier1 pilzadam you schould split this up to different issues as you're collecting feature requests and can't fixes there
21:44 VanessaE what about the nodeid limit thing (#822)?
21:44 hmmmm the nodeid limit should be temporarily increased so your server works
21:45 VanessaE I need to be able to point my users to a stable release that includes the fix, if they end up needing a new client that is
21:45 PilzAdam VanessaE, would it make much difference if it happens directly after 0.4.8?
21:45 hmmmm the vector contentfeatures table is an 0.4.8 thing
21:45 hmmmm definitely
21:45 hmmmm there are way too many big changes as it is right now and 0.4.8 should've happened a long time ago
21:46 hmmmm erm, hey guys, i've been thinking
21:46 thexyz isn't that what always happens?
21:46 PilzAdam we can go through the pull request list one more time and merge things
21:46 hmmmm whenever there's a version number bump everybody gets into this big hoopla
21:46 hmmmm this isn't what celeron ever wanted
21:46 hmmmm this is why it almost went to a rolling release model
21:47 NakedFury joined #minetest-dev
21:47 hmmmm what if we were to more regularily change the patch version (when there's enough for a *PATCH* and then only make a big deal when the minor version number increases
21:47 PilzAdam hmmmm, thats due to the long time between the releases, most users use stable releases and everyone wants that they have the latest and coolest stuff in it
21:48 sapier1 that won't change ever
21:48 VanessaE hmmmm: for me, it's more a matter of "wtf?  this doesn't work, I have latest git!", yet "latest" ends up being 2-3 weeks old.
21:48 thexyz we need in-game version check then
21:48 VanessaE so to be able to refer to a specific version number (if it's needed at all) makes it easier on the users
21:48 hmmmm right
21:48 hmmmm what i'm saying makes way more sense
21:49 sapier and we need that version number for online modstore too
21:49 hmmmm so really this all comes down to how *you* act about a release
21:49 hmmmm so i say, stop making big deals about patch versions
21:49 PilzAdam we could change our release model, everything that was a patch increase becomes a a bump of version minor, and patches are done for every huge thing that gets in
21:49 hmmmm and i'll be glad to bump it more often
21:49 VanessaE how long we go between versions isn't of too much concern to me beyond of that particular corner case though
21:49 VanessaE PilzAdam: trying to compete with chrome and ff? :)
21:49 proller sapier, please add number of players in public serverlist
21:50 hmmmm pilzadam, that's stupid though because then all you're doing is replacing the first dword of the hash with an incremental number
21:50 hmmmm a patch level needs to mean something more
21:50 PilzAdam hmmmm, isnt that the same that you suggested?
21:50 proller sapier, and if showing address - add port if port != 30000
21:50 thexyz hmmmm: it'll be easier for users to understand
21:50 hmmmm no.... i want to increase the frequency of patch version bumps
21:50 hmmmm not make them every single commit or whatever
21:50 sapier it's already crowded proller and the indention disortion won't get better by adding more information
21:51 PilzAdam I havent said "every commit"
21:51 thexyz true, he hasn't
21:51 hmmmm the patch version number could be increased, say, when there's a bigger feature added or significant, long time nagging bug fixed
21:51 VanessaE sapier, proller: about showing the description of the server, imho it belongs *above* the username/pass fields (that is, move those fields down to make room).  As if to say to the user, "This is what I am, if you like it, enter your info below..."
21:51 PilzAdam "and patches are done for every huge thing that gets in"
21:51 sapier I suggest to follow pilzadams suggestion and add a details button ... after next version
21:51 VanessaE hmmmm: that makes sense
21:51 hmmmm right
21:52 hmmmm like every time you feel the need to compile a new version for windows
21:52 hmmmm you know how you have tags like -oregen or -voxelmanip or -performance
21:52 hmmmm those ought to be patch version bumps
21:52 proller sapier, i have 2 servers on one ip, seeml like duplicate in list
21:52 PilzAdam seems reasonable
21:52 sapier use different names!
21:52 proller sapier, and players number MUST BE
21:53 proller names in favorites?
21:53 VanessaE proller: number of players might lead a bit to selection bias.
21:53 PilzAdam hmmmm, so, we dont do feature freezes for patch version increases anymore?
21:53 sapier no it's not a must it just messes up the indentions ...
21:53 hmmmm no
21:54 hmmmm only minor versions
21:54 PilzAdam so, we can actually release 0.4.8 now
21:54 hmmmm i'd rather not
21:54 hmmmm we'll only start this after erm.... 0.5.0
21:55 PilzAdam so we do our old release cycle and release 0.5.0 and then we use the new model, seems good
21:55 hmmmm 0.5.0 was originally supposed to be when the lua api could be declared stable
21:55 hmmmm it's already well past that stage
21:55 VanessaE I'd say the API is more than stable
21:55 VanessaE ninja'd.
21:55 hmmmm i think we should repurpose 0.5.0 to mean something like, mobs are in by default, well supported, and plenty fast
21:55 hmmmm and using mapgen v7 by default, you think?
21:56 hmmmm along with all the biomes and everything polished off and added
21:56 PilzAdam so you dont want to release it soon?
21:56 VanessaE mmmm
21:56 hmmmm there's obviously a bit of a way to go, but i am under the impression that's where we want to be headed
21:56 VanessaE hmmmm: do you really think it's *that* close?
21:56 hmmmm the whole biome thing?
21:57 VanessaE the whole "package" you just decribed as a reason for 0.5.0
21:57 hmmmm yes, i think so
21:57 PilzAdam I dont know about the mobs
21:58 hmmmm the whole biome/mapgen v7 thing at the very least is basically done
21:58 VanessaE the only thing really holding back mobs is that entity duplication glitch I think.
21:58 hmmmm all i realistically need to do is add l-system support for decorations (which is easy actually)
21:58 PilzAdam I recently played with simplemobs on server; it was unplayable, really high latency
21:59 PilzAdam I punchede a mob 100 times until it died, without looking in my direction
21:59 sapier what server did you play pilzadam?
21:59 PilzAdam Jordach's
22:00 sapier hmmm I never realized anything like that with mobf but there may be a regression or it's just jordachs server
22:00 PilzAdam well, the whole connection to that server was bad
22:01 PilzAdam (as usual when its in the US)
22:01 NakedFury me too. they dont have hitting animations, the selection box when you aim at them looks bad, they ignore you while you hit them, no sounds when they attack or are attacked.
22:01 sapier ok in laggy environments mobs never will behave well
22:01 PilzAdam even in singleplayer some of this things happen
22:01 VanessaE there needs to be some client-side prediction for those too, then.  No other way to really fix that problem
22:02 VanessaE (and that would be... hard.)
22:02 sapier I haven't realized anything like that before last mobf release but I don't have many mobs installed when preparing and testing an new version
22:03 NakedFury I like having mobs but if they are to be part of a package players, new players or returning players, will expect them to be and act like in other games.
22:03 PilzAdam there should be something like PlayerObject support in the API, you just call walk(pos) and the client automatically applies the correct animation
22:03 sapier https://github.com/minetest/minetest/pull/825 VanessaE's description swap as well as a revertion of a double added check
22:04 sapier pilzadam that is already possible
22:04 PilzAdam with automated turning arround, client side prediction and automated animation?
22:04 sapier there's a pull request with automatic animation speed adjustment
22:04 VanessaE PilzAdam: so essentially, just move the bulk of the mobs' logic to the client.
22:04 PilzAdam yea
22:05 VanessaE is that wise?
22:05 hmmmm pilzadam, i think i'd want mobf to be in minetest_game
22:05 sapier yes combining those 3 pull requests will give way better client experience
22:05 PilzAdam when looking at MC it seems like thats what they do
22:05 hmmmm no offense
22:05 VanessaE I mean, can it be made generic enough to cover all the current types of mobs we have now?
22:05 sapier no you can't move mob logics to client
22:05 sapier only graphics
22:06 PilzAdam sapier, what about movement and animation?
22:06 sapier not even movement
22:06 VanessaE sapier: well movement, animations, killing prediction, etc. could be client-side, as long as the model, textures, and extra actions are server-side
22:06 PilzAdam like the server sends the path, not only the current velocity
22:06 VanessaE as long as the server executes the same instructions at the same assumed time, it won't be any worse than say anti-cheat and placed blocks disappearing
22:07 sapier it's not that critical in mobf as I use accelerations which are predicted by client
22:07 sapier but of course have other restrictions
22:08 sapier paths aren't that usefull they seem to be at first
22:09 sapier most movement is random ... yes you could predict some random movement but if player modifys something you need to recalculate path everytime ... which is quite costly
22:09 sapier killing is already predicted vanessae
22:10 VanessaE sapier: I guess it doesn't work as well as it should - I've seen mobs show as "killed" (a puff of smoke) and still remain standing
22:10 PilzAdam if client and server have the same pathfinding code, and the server just sends the target, then it could work quite nice
22:10 sapier no it won't
22:11 sapier lag is still an issue
22:11 sapier anytime a server sends a target he needs to make sure client and server maps are exactly in sync at that time
22:11 sapier no node dig prediction on client for example
22:12 VanessaE then the cause of the lag itself needs fixed, we're only talking 300-400 ms for the worst servers on the list, this shouldn't snowball into several seconds' worth of lag.
22:12 sapier if there's only one player ... no problem of course but once there are multiple players ... tricky
22:12 PilzAdam if the client places some node locally to block the mobs way, then the client would predict a movement change in the mob and the server will do the same if the client tells it about the placed nodes
22:13 sapier only if the node prediction isn't aborted
22:13 PilzAdam that shouldnt happen with an average ping to the server
22:13 sapier and of course you do path prediction multiple times
22:14 VanessaE sapier: at some point, you have to trust the client at least a little bit.
22:14 PilzAdam pathfinding can be optimized, I guess
22:15 sapier I don't trust client ... but that's not my main point main point is most movement is random
22:15 PilzAdam then dont make the movement random but just the targets
22:15 PilzAdam e.g. the server sets a random target ~5 nodes away from the mob, it walks there and then it gets another random target
22:16 PilzAdam and the targets are send to the client, so he can predict the movement
22:16 sapier what exactly does this change?
22:16 sapier it's already done this way
22:16 PilzAdam no, currently only the current velocity is send to the client
22:16 sapier for simplemobs
22:16 PilzAdam wich make walking arround a corner look really weird
22:17 sapier mobf predicts position in future based upon velocity and acceleration
22:17 PilzAdam setting acceleration doesnt help walking arround a corner
22:17 sapier and then sends a new acceleration to reroute a mob
22:17 sapier of course it helps
22:18 sapier movement is even way more smooth than with fixed point traversal
22:18 sapier paths very quickly result in stop and go movement
22:18 PilzAdam if there is a lag of the time the mob walks 2 nodes, then of course just sending the current velocity and acceleration is stupid
22:19 VanessaE which, of course, is what causes carts to fly off their rails
22:19 sapier yes but if there's lag of 5 seconds paths won't work either as mob always needs to "Jump" to it's new position
22:20 kaeza better than with accel
22:20 sapier both aren't usefull
22:20 PilzAdam if you add the ETA to the target, then the client could adjust the velocity
22:21 VanessaE I suggested a short while back that both velocity and time-to-move be sent, so that the client can predict where the entity should stop at
22:21 PilzAdam and when the mob attacks, then the server just sends the player as target
22:21 sapier that all fixes single symptoms but not the root cause ... by some time the workarounds will add more issues than they fix
22:22 PilzAdam examples?
22:22 PilzAdam and what is the "root cause"?
22:22 sapier e.g. eta: result ->stop and go
22:22 sapier player target --> attacks from mobs beeing far away
22:23 kaeza still better than the current scheme
22:23 sapier root cause is lag that just isn't really explainable
22:23 PilzAdam can you please form whole English sentences?
22:24 sapier ping from germany to new zealand is 200 ms ...
22:24 PilzAdam I mean for "<sapier> e.g. eta: result ->stop and go" and "<sapier> player target --> attacks from mobs beeing far away"
22:24 sapier those are the side effects of the suggested workaround
22:25 kaeza what is "stop and go"?
22:25 PilzAdam how does "eta" lead to "stop and go"?
22:25 sapier if you specify a eta and have lag server may already have sent a new direction and eta while client simply stops a mob
22:25 VanessaE kaeza: move 5 seconds at 1m/sec -> 5m down the line, the server lags for a moment before sending the next move sequence
22:26 VanessaE but then, many of the naturally wandering mobs do that *anyway*
22:26 sapier plz don't only think about velocity ... there's acceleration too
22:26 PilzAdam sapier, this system would be used when the mob idles arround, I dont see how standing in this state hurts
22:26 kaeza and how is acceleration better?
22:27 kaeza if you have 1 sec lag before the server sends the accel change, the mob will probably be far off the intended point
22:27 sapier it's predicted by client ... on the other hand it'll result in runaway mobs ... a workaround for acceleration based movement would be max speed ... but it's as silly as eta
22:27 VanessaE sapier: accel isn't that hard to figure in, if you already have a max movement time field also
22:27 kaeza (in the client)
22:28 sapier most movement in mobf just doesn't even rely on positions
22:28 sapier so there's neither a target nor an eta
22:29 PilzAdam so there is no possiblity of prediction
22:29 sapier the eta is not bad don't get me wrong it's just a completely different aproach
22:29 PilzAdam of course we need a completly different approach
22:29 PilzAdam everything we currently have obiously doesnt work
22:30 sapier using eta won't help mobfs movement style while it may improve simplemobs style at cost of lots of calculations
22:31 PilzAdam it doesnt improve simplemobs at all
22:31 PilzAdam forget about the current mods
22:31 sapier if you use pathfinding it'd help
22:31 PilzAdam we need a new way of supporting mobs in the engine that is predicatble by clients
22:32 sapier that's not possible by definition
22:32 sapier a mob is same as a human player
22:32 PilzAdam and the "target system" I described is the best thing I can think of currently
22:33 sapier I already thrown that idea away because of the movement generated by it
22:33 PilzAdam I dont really want mobs that pass the turing test, something that _works_ would be enough
22:34 sapier you're just replacing one glitch by another ... which one is more bad is personal opinion ... I guess most will be fine with it as they don't complain about simple mobs walking in water too :-)
22:35 sapier my next step will be use core collision handling to reduce server load for movement prediction in mobf
22:37 sapier but that won't help if it just results in server admins adding other slow mods ... as it'll always be the mobs that will be called laggy ... the rest just doesn't show up
22:37 PilzAdam your current system can always just send the current state, this means you can walk arround edges in the client smoothly; my system would let the client caclculate a smooth transition, its like you would send mutltiple states at once
22:38 PilzAdam *cant walk arround edges smoothly
22:38 sapier only if you add smoothing code aditionally
22:39 sapier if not it won't walk smooth but in worst cas to instand 360° rotations
22:39 PilzAdam cant you see that sending the goal instead of each single step is more effective?
22:40 sapier can't you realize 99% of movement just doesn't have a goal?
22:40 Taoki celeron55, PilzAdam: I had a discussion with RBA some time ago. He pointed out another issue which in my opinino, might be worth considering;
22:40 sapier the chicken running around doesn't require a goal
22:40 Taoki Is it really that good of an idea that the entire world (all mapblocks) are one mesh? Specifically, that no z-buffering can be used on the world for this reason?
22:41 PilzAdam thats just a matter of what the mod does; currently e.g. simpglemobs just sets randomly new directions and velocoties; but it can also just set random goals every 5 seconds or so
22:41 Taoki What if each mapblock was made into a different Irrlicht node, and z-buffering could be allowed?
22:41 PilzAdam doesnt make much difference
22:41 sapier yes but that goal is artificial
22:41 PilzAdam sure
22:41 NakedFury taoki what does that mean?
22:41 PilzAdam it would in the end would be as random as your current system, but it looks better in the client
22:42 sapier I didn't use targets on purpose because I wanted smooth direction changes
22:42 Taoki NakedFury: All mapblocks are a single Irrlicht node. This doesn't allow z-buffering to be possible. Than if for example every mapblock was its own node
22:42 PilzAdam smooth direction change can only be done in the client if the client can predict them
22:42 Taoki So the entire world is a whole mesh
22:42 PilzAdam wich requires a goal
22:42 sapier no it never would be as random as current there always will be a sharp direction cut at goal
22:43 sapier but there is no goal pilzadam ;-)
22:43 NakedFury so we divide irrlicht nodes for mapblocks?
22:43 PilzAdam I dont see how randomly choosing a goal is different from randomly chaning direction
22:43 NakedFury would that allow z buffering? and what would z buffering bring to the game?
22:44 sapier if you choose a goal you have two options
22:44 sapier one goal at a time
22:44 sapier multiple points resulting in a path
22:44 sapier first one will in any case result in sharp direction changes
22:45 sapier second one will suffer about updating path on change
22:45 sapier how big those effects are need to be researched
22:45 sapier but still I don't see the real issue  ... even if we get this better for mobs other player's movement still will be strange while lag is that big
22:47 PilzAdam why do we even have that much lag? other games dont seem to have this issue
22:48 sapier that's exactly what I'm pointing at. my assumption is if we did fix that issue we wouldn't need any of those suggestions we discussed
22:48 Taoki For mobs?
22:48 Taoki I noticed the simple mobs lag a bit. Players too.
22:48 sapier no the mobs just show up the lag
22:48 kaeza sapier, paths can be smooth or coarse depending on the object
22:48 sapier they're not the issue causing it (most of time)
22:48 Taoki PilzAdam: Other games (Minecraft does IIRC) might be using a direct stream instead of TCP packats every X seconds
22:48 Taoki I heard about that occasionally
22:49 Taoki So player omvement is sort of streamed like media is streamed for online TV... continuous and with little gaps
22:49 Taoki I think, never tested that myself
22:49 sapier yes kaeza but calculating paths is costly
22:49 PilzAdam sapier, a path for a goal that is lets say 10 nodes away at max?
22:50 Taoki MT might also not have all the best systems to predict movement and prevent lag
22:50 sapier depends on your map
22:50 sapier I guess in worst case a 2 digit number of miliseconds
22:50 PilzAdam and there is no need for complex paths
22:51 kaeza sapier, I don't have that much experience with motion planning, but paths are not always needed for "good enough" results
22:51 sapier you just don't know how complex a path will be untell you look for it pilzadam
22:52 sapier if you don't have paths forget about the smoothing ... you'll have to life with either one of those options
22:52 sapier vombie in mobf uses a hybrid solution
22:53 sapier they have targets but use acceleration to reach it (while attacking)
22:54 sapier but ... if there's no path between target and vombie that's consuming way more cpu power than I'd want it to
22:54 kaeza hmm... this is very terse, but should give some idea http://wiki.yoyogames.com/index.php/Mp_potential_step
22:55 sapier that's the unsmothed version ;-)
22:55 kaeza err nope
22:56 sapier mobf did this while pathfinding wasn't implemented
22:56 sapier it is
22:56 sapier they're just using pixels instead of blocks ;-)
22:57 kaeza GM can look ahead a tiny bit (say, 10 pixels). if there's a solid object, it gradually changes direction until it no longer "sees" a solid object
22:57 sapier kaeza this is already done by mobf
22:57 sapier was first thing I added when creating the movement gen
22:58 PilzAdam sapier, why? https://github.com/sapier/minetest/commit/26426b4b81a982578aff9bd6dd97786476dfaad8
22:58 sapier and there the problem starts ... what to do if you detect a solid object? currently mobf tries a random acceleration change and checks again
22:59 sapier because it got added twice due to rebase error
23:00 diemartin joined #minetest-dev
23:01 iqualfragile ipv6 works for me
23:02 sapier iqualfragile could you add a mod with screenshot to moddb?
23:03 iqualfragile test has a screenshot
23:03 iqualfragile http://forum.minetest.net/mmdb/mod/test/
23:04 iqualfragile "titlepic": {"id": 2, "file": "modpictures/2/haus.png", "desc": "haus vom nikolaus", "mod": 2}
23:06 sapier ok I guess I need to add that to core
23:21 kaeza joined #minetest-dev
23:25 Weedy_lappy joined #minetest-dev
23:37 kaeza joined #minetest-dev
23:40 sapier https://github.com/minetest/minetest/pull/825 mod download store including screenshots
23:44 kaeza awesome
23:48 Taoki I'm noticing something interesting. Even in singleplayer, it takes a LOT to load some games up. Mainly the "loading textures" part
23:48 Taoki technic_game for instance takes QUITE a lot to... boot up. In comparison to minetest_game
23:49 Taoki Even after it's already started once and textures should have been cached

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