Time Nick Message 00:07 Exio4 #1151 00:07 ShadowBot https://github.com/minetest/minetest/issues/1151 -- Pathfinder by Selat 17:50 sapier celeron55 https://github.com/minetest/minetest/commit/0643cef09a741d1e8a7b971f3ae70b45ac8d44bf is supposed to fix the bug introduced by the abm speedup 17:51 sapier it's a little bit hard to read there but basicaly it's meant to skip object recount as long as no object was added and perform it if there was at least one object added 17:52 celeron55 oh 17:52 celeron55 good 17:52 celeron55 who was the guy who was having the problem 17:53 celeron55 oh he's not around at the moment; well whatever, he had a build from between those so it explains 17:55 sapier ok and yes you can specify a path for mods in mobf 17:55 sapier mobs in mobf 17:55 celeron55 oh, that issue 17:55 sapier that's what you do for guards if you make them patrol 17:56 celeron55 i got already bored thinking about it, but anyway, so i would like to create a mob that tries to go to a place that my custom script occasionally finds for it; otherwise it should stand still and if someone attacks it, it should attack back 17:57 celeron55 if you could say where exactly to put code and what to call in mobf to make that happen, it would be very useful 17:57 sapier that's basicaly a guard with path set to not loop 17:57 sapier of course 17:59 sapier do you want complex paths or simple ones only? 18:00 celeron55 what do those mean 18:01 sapier complex paths calculated by pathfinding simple ones basicaly line of sight movement 18:01 celeron55 basically, i want to give a position, and it should try to go there no matter what 18:01 celeron55 as intelligently as possible 18:01 sapier ok so pathfinding is prefered 18:01 celeron55 and the position is going to be like >50 nodes away 18:02 sapier 50 nodes away? are you sure that much blocks are active? 18:02 celeron55 yes, i'm taking care of that 18:02 celeron55 this is no ordinary usage of minetest 8) 18:03 sapier ok .... well guess we're gonna find out how fast pathfinding is ... I fear it's gonna take way to much time if there ain't a way to go 18:03 celeron55 well the pathfinding pull request is going to get handy 18:03 celeron55 have you looked at it yet? 18:04 sapier yes looks faster but I don't have any benchmark results about it ... and the one who wrote it ignores that request 18:05 sapier but it's not equivalent to original one and I believe it's not complete too ... but I can't prove this assumption 18:05 sapier on the other hand new code does honor heigth difference while mine didn't 18:06 celeron55 your code is unable to go climb complex buildings? 18:06 celeron55 well then i have to take the new code into use before even trying yours in any real situation 8) 18:06 CiaranG In my experience the new one works much better. But it's not compatible. 18:07 sapier no it is able to climb it just doesn't count climbing to be more expensive then walking on flat ground 18:07 CiaranG I can't imagine using it over that kind of range is a good idea though. You should think about different solutions for long distance. 18:07 celeron55 bah, it will work 18:08 sapier for what I understand new code doesn't provide a way to get shortest path ... not sure if this is relevant 18:08 celeron55 i have some experience in pathfinders in coarse 3D grids 18:08 celeron55 that doesn't matter 18:08 celeron55 the only thing that matters is that if there is any path, it will find it 18:09 sapier 50 blocks distance + 10 threshold + 20 height --> 60*20*60 nodes to check 3600 in 2d 18:09 sapier assuming there are some caves in ther you're at about 5000 nodes 18:10 celeron55 the first 30 nodes are likely to be flat ground, and the rest is going to be the inside of a building 18:10 celeron55 so not exactly a maze 18:10 sapier as I said in good case it's gonna work 18:10 sapier but if there ain't a way to go there pathfinding will check all of it 18:11 sapier this wouldn't be a problem if you could do pathfinding in async mode 18:15 sapier celeron55 there are multiple ways to get the mob you want in mobf, most easy way is define a state with "mgen_path" as movegen, add a custom_on_step callback and use entity.dynamic_data.current_movement_gen.set_target(entity,target) to set the target 18:15 sapier this depends on mobf usage of pathfinding is enabled, this is disabled by default 18:15 celeron55 sounds good 18:16 sapier if you want more sophisticated design you could define different states for stand still and move too and let the target beeing calculated on state transition 18:16 celeron55 have you tested mobf compatibility with selat's pathfinder? it's mentioned in there that it might not work 18:18 sapier no I haven't I've been a little bit short on time to do mobf too, I've plenty of very very good fixes in current dev tree which need to be polished for release too ... hope I can do this the next week as android port seems to be almost done ... which is last part to complete the network fixes 18:18 celeron55 okay; i guess i can continue with this information 18:19 sapier don't bother to ask I know docs are a little bit short, I recommend looking at the existing mobs. I added a mob for each feature (almost) 18:20 sapier https://github.com/sapier/animals_modpack/wiki/Developer-documentation contains some doc fragments too 18:21 celeron55 some kind of structural explanation would be much more useful than explanations of existing implementations of the pluggable parts 18:22 spillz celeron55: removing the underground check from fixes the issue with water in the stability mod 18:22 sapier http://animalsmod.comuf.com/ contains doxygen doc ... could be helpfull too 18:23 celeron55 i kind of can guess what "combat_melee" does, but then to figure out the actual interface between it and other parts is hard 18:24 sapier http://animalsmod.comuf.com/classfighting.html 18:25 sapier the doxygen doc isn't perfect lua to doxygen is a little bit tricky 18:25 spillz celeron55: less issues with cave flickering too 18:27 sapier hmm ok doc is way from perfect ... :-/ got a little bit messed up on last update 18:30 sapier https://github.com/sapier/animals_modpack/wiki/Mob-creation-tutorial you should start with this one celeron55 19:52 Kam_ hi, could someone point me in the right direction for getting started with core development? :) 19:52 sapier look at bugs try to find and fix them, improove doc ... do testing ... same as for all oss projects ;) 19:53 Kam_ :) Ok thanks 19:53 sapier especially testing would be helpfull 19:54 Kam_ Is there a page for major bugs still untouched in the dev build? 19:54 sapier github issue 19:54 sapier s 19:56 celeron55 it may be boring but one simple thing that is always valued is to test and report results in something where someone has mentioned "this needs testing" but nobody has yet said any results 19:56 celeron55 butr what kind of things are you looking for? 19:56 celeron55 -r 19:57 celeron55 there doesn't really exist any kind of "do this do that" list because developers usually come in with their own list and aren't very interested in doing stuff that someone else has said they should do 19:58 Kam_ Just some general experience working on OSS projects, I have decent experience with C++. I don't have any particular goals here :D 19:59 celeron55 maybe you want to choose from these and ask the person currently responsible for it: http://dev.minetest.net/Organisation#Subsystems 19:59 sapier well contributing to oss projects is only about 20% of coding experience ... 50% is communication 15% is argueing and another 15% is throwing things away ;-) 19:59 sapier or something similar ;-) 19:59 celeron55 i bet every one of those can point you to do something 20:00 celeron55 sapier: that sounds about right 20:00 celeron55 that also applies to all teamwork whatsoever 20:00 celeron55 if you can code, good, but that is only the 20% 20:00 sapier yes oss is somehow hardcore teamwork as you don't have any authority to make someone do something :-) 20:01 Kam_ Of course, I would just like to improve my experience :) 20:01 VanessaE sapier: knowing THIS community, I'd say 20% code, 15% communication, 15% throwing away, and 50% arguing ;) 20:01 Kam_ I have done a little bit of tinkering around with 0ad, wrote a couple patches there 20:02 sapier you have a lot of different coders here with different styles ... some are better some are only different ... and most time better is just a matter of pov 20:02 celeron55 Kam_: how about if you go play minetest a bit in your preferred configuration whatsoever and then see if you find something that doesn't seem good, and then try improving it 20:03 sapier VanessaE you're not helpfull as of doing recruiting job ;-) 20:03 VanessaE sapier: I call it as I see it ;) 20:03 Kam_ hahaha 20:04 sapier :-) well Kam_ VanessaE is right in some way if you wanna contribute you have to be tough and take some bad comments without beeing upset 20:04 sapier most time those comments aren't meant as bad as they may have been written 20:05 Kam_ lol I live in the real world just like everyone else I can handle nasty comments 20:05 sapier well real world isn't even close to oss dev ;-) 20:06 sapier things like suggesting some change beeing argumented to the ground just to see your suggestion is implemented silently half a year later CAN and most likely WILL happen ;-) 20:07 sapier on the other hand sometimes you can't get something to be added ... e.g. once I mention the word security I can wait for at least 3 people shouting no ;-) 20:08 celeron55 why did you even start talking about that stuff 20:08 celeron55 how about finding stuff to do; it's not like there is lack of it 20:08 Kam_ I can handle those kinds of things, no worries 20:08 sapier ok :) you're welcome 20:09 sapier do you have a android device? 20:09 Kam_ No longer, but I could but up android on my laptop xD 20:09 Kam_ boot* 20:10 sapier hmm we don't have x86 android support yet ... but there are other things to check :-) 20:10 sapier https://github.com/minetest/minetest/pulls gere are some things to be tested 20:10 celeron55 all of our remotely easy things tend to be on the game content side, and that tends to be developed independently outside of the scope of #minetest-dev 20:11 celeron55 so it's rather problematic to give things to do to random people 20:12 Kam_ hahaha 20:12 celeron55 basically, i suggest just taking this, choosing something that seems fixable, asking here whether it's okay to fix it in way X that you intend to do, and then doing it: https://github.com/minetest/minetest/issues?direction=desc&labels=&milestone=&page=1&sort=created&state=open 20:12 Kam_ Is the codebase nicely organized? 20:13 celeron55 it depends on what you are used to 20:13 celeron55 it's definitely not the best, and definitely not the worst 20:13 Kam_ I am best familiar with the 0ad codebase, I spent a lot of time reading and writing there 20:14 celeron55 one thing is sure: if you like perfectionism, you can't find it here 20:14 celeron55 well let's see... 20:14 Kam_ The src directory is definitely organized differently 20:15 sapier codebase is in quite messy in huge parts, we're cleaning it but nit all at once 20:15 celeron55 0ad is way better organized, at least seemingly 20:16 celeron55 (https://github.com/0ad/0ad) 20:16 Kam_ 0ad uses raw fixed pipeline OpenGL and writes their own engine and interface, minetest seems much simpler in that respect 20:16 sapier we do write parts of irrlicht ourselfs too ... as irrlicht is a little bit limited 20:17 Kam_ Yeah kind of, I studied it for a bit a while back 20:17 celeron55 well minetest hangs onto irrlicht which basically wraps fixed pipeline opengl plus a bit more; it's all the basic OSS kind of thing; when you get deep enough, everything is half-assed and nobody has time or interest to quickly improve on anything in particular 20:17 sapier but it's quite suitable for us right now ... without more experience in 3d engine development we're better of with irrlicht ... but this is my personal opinion only other developers may think different 20:18 celeron55 but good enough to be useful for the community, which is who makes it and who it is for 20:19 celeron55 okay, i may be a bit over-pessimistic in what i say 20:19 sapier step by step celeron ;-) 20:20 Kam_ 0ad uses fixed pipeline because the project is reaaaaaalllllly oollldd, the idea is to slowly transition to modern GL but you know how things are lol 20:21 celeron55 one thing is sure though; there is a lot of legacy randomness fixed up with perfectly designed new things and everything in between 20:21 celeron55 mixed up* 20:22 celeron55 when i started this project i didn't have a global community working on it and 100klines of code in mind 20:22 celeron55 as the name implies 20:22 celeron55 *cough* 20:23 Kam_ hahaha 20:26 celeron55 browsing the code, 0ad seems to be coded to somewhat similar standards, if the way more structured source tree isn't taken into account 20:27 celeron55 oh whatever; anyway, you'll probably end up being your own boss here; nobody wants to take the responsibility of managing work given to you by them 20:35 Kam_ Alright :) 20:39 Kam_ Is there an easy way to find the list of package names of the dependencies for Arch? 20:40 celeron55 well probably by looking at the arch package 20:41 Kam_ lol 20:41 Kam_ I meant is there an organized list so I don't need to individually find the package name for each dependency 20:43 celeron55 https://aur.archlinux.org/packages/mi/minetest-git/PKGBUILD 20:43 celeron55 makedepends=('git' 'cmake') 20:43 celeron55 depends=('bzip2' 'libpng' 'libjpeg' 'mesa' 'sqlite' 'openal' 'libvorbis' 'irrlicht') 20:44 celeron55 i think that is fairly organized 20:46 Kam_ Thank you 21:32 tomasbrod n 21:32 tomasbrod sorry :( 21:34 sapier hmmm I wonder who has been as bad to him he's got reason to run away that quick ;-) 23:45 Kam_ sapier: Who ran away D: 23:45 Kam_ Aw nvm lol