Time |
Nick |
Message |
00:42 |
|
dexter0 joined #minetest-dev |
01:37 |
hmmmm |
pilzadam, looks like it might be |
01:37 |
hmmmm |
isStaticAllowed wasn't already implemented by ServerActiveObject? :\ |
01:38 |
hmmmm |
didn't realize that what I wanted could be done so smoothly... i have to take a better look at this though |
01:39 |
hmmmm |
and this is only one part of it, we still need to set staticize for drops such as saplings and mined blocks to false |
01:40 |
hmmmm |
proller, why not run it with the whole thing in Debug? also, there aren't any other divisions in generateCaves(), so i don't know how that's possible |
01:42 |
salamanderrake |
why did minetest start to get slower then minecraft, not nocking just wondering. |
01:46 |
VanessaE |
slower how? |
02:07 |
VanessaE |
Why does the code for growing saplings -> trees use the mapgen aliases instead of the real node names? |
02:12 |
hmmmm |
because that's the whole point of mapgen aliases |
02:16 |
VanessaE |
but growing a sapling into a tree isn't done at mapgen tine. |
02:16 |
VanessaE |
time* |
02:29 |
VanessaE |
am I right in that it is impossible to disable, delete, or otherwise remove default saplings from the game? |
02:29 |
VanessaE |
from a mod that is. |
02:32 |
hmmmm |
hmm boy you really hate the default trees don't you |
02:32 |
VanessaE |
it's not that I hate them. |
02:33 |
VanessaE |
it's that I wanted a single, central to replace them with something else. |
02:33 |
hmmmm |
no, you can remove it from the game by modifying the mapgen aliases for leaves, tree, and saplings to air |
02:33 |
VanessaE |
I already tried that, it doesn't actually work for saplings. |
02:33 |
VanessaE |
(for trees, leaves it works fine) |
02:33 |
VanessaE |
minetest.registered_items["sapling"] = nil |
02:33 |
VanessaE |
minetest.registered_aliases["sapling"] = nil |
02:33 |
VanessaE |
minetest.registered_aliases["mapgen_sapling"] = nil |
02:33 |
VanessaE |
minetest.registered_aliases["mapgen_sapling"] = nil |
02:33 |
VanessaE |
minetest.registered_items["default:sapling"] = nil |
02:33 |
VanessaE |
minetest.registered_aliases["default:sapling"] = nil |
02:34 |
VanessaE |
if that doesn't nuke them, nothing will. |
02:34 |
hmmmm |
so what's wrong with just letting the player not be able to get a regular sapling in the first place? |
02:34 |
VanessaE |
I tried that too. Something elsewhere in the engine or game code is overriding my code. |
02:35 |
hmmmm |
if you aliased leaves to air, there's no way you'd be able to get saplings without /give |
02:36 |
VanessaE |
creative mode. |
02:36 |
hmmmm |
if it's a creative mode, are you right in banning regular trees from the user? |
02:36 |
VanessaE |
the whole point is to rename, redefine, and replace them with something that I think is a little better - but using the default node names for compatibility. |
02:37 |
VanessaE |
oh well. |
02:42 |
hmmmm |
erm anyway |
02:42 |
hmmmm |
what if we made trees grow gradually |
02:43 |
hmmmm |
this can be done by having a special growing tree node that drops regular wood when mined, but has an ABM attached to it that scans upward to find the current height of the tree |
02:43 |
hmmmm |
when it gets to a certain height, it stops growing |
02:43 |
VanessaE |
I'd have to say no on that |
02:44 |
hmmmm |
why, because it conflicts with your mod? |
02:44 |
VanessaE |
it precludes the idea of a tree that can branch out from the center trunk |
02:44 |
hmmmm |
you can do that if you'd like |
02:44 |
hmmmm |
the vertical height from the center is just a way of gauging its current stage of growth |
02:45 |
hmmmm |
besides, it's better than nothing |
02:53 |
|
salamanderrake joined #minetest-dev |
04:18 |
hmmmm |
i just can't do this anymore |
04:18 |
hmmmm |
school, minetest, and the rest of life is like a full time job |
04:19 |
hmmmm |
if only i were multithreaded |
04:19 |
hmmmm |
basically minetest comes to a halt when i'm busy with other things, i really wish that wasn't the case |
04:20 |
hmmmm |
but i wonder if that's so bad... is minetest growing too fast, or not fast enough? |
04:20 |
hmmmm |
i feel like not fast enough, but that's only from my perspective... others can't seem to ever have a stable release from git |
04:21 |
hmmmm |
what do all of you guys think about the current pace of minetest development? |
04:22 |
VanessaE |
I think it's fine in fact. |
04:22 |
VanessaE |
If you need to slow down, do so |
04:22 |
VanessaE |
don't burn out. |
04:23 |
hmmmm |
no, i'm not burning out at all.... i just wish i could spend more time doing things that need to get done |
04:23 |
VanessaE |
ah |
04:24 |
hmmmm |
like the lua MapVoxelManipulator is something that everybody needs, like right now, but it's so far off because of all the other things that need to be done first |
04:24 |
hmmmm |
optimizing mobs is another thing that we need *right now* but we'll probably never get to |
04:25 |
hmmmm |
and none of this can happen until i get done with the myriad of other things on my TODO list and the endless flood of shit from school |
04:25 |
hmmmm |
i'm so lucky i don't have to study for anything, because then i'd have no time at all for real |
04:26 |
VanessaE |
and here I have tons of free time but I just can't get my head wrapped around C++ |
04:26 |
VanessaE |
with I could "donate" some of that spare time :-) |
04:27 |
hmmmm |
it's really not that hard at all |
04:27 |
VanessaE |
you know, go off to sleep and you use my extra shares :) |
04:28 |
hmmmm |
and you'd probably make a good developer for minetest, too, if only because you're already familiar with the way things work |
04:37 |
hmmmm |
I think I have a solution to the whole Lua init/mapgen params mess; i would like to add another callback called on_mapgen_init() to be called once after the mapgens have been created, in the Server ctor, this is where you'd be able to register the mapgen-specific on_generate along with any mapgen-specific ores you may want to add |
04:37 |
hmmmm |
i'll do this sometime during the week |
04:50 |
VanessaE |
nice |
05:20 |
VanessaE |
here's an idea: Stuff in the distance should not appear just in front of the fog. Rather, it should fade in. I think this could be accomplished by simply drawing the fog "closer" |
05:20 |
VanessaE |
(relative to the view distance) |
05:21 |
VanessaE |
or make the fog get thicker in the distance than it does now, something like that. |
05:26 |
celeron55 |
07:19:53 <+hmmmm> basically minetest comes to a halt when i'm busy with other things, i really wish that wasn't the case |
05:26 |
celeron55 |
i don't think so |
05:27 |
|
BackupCoder joined #minetest-dev |
05:27 |
hmmmm |
explain why there have not been any commits in the that i either didn't do myself or people waited for me to give it the okay to do it |
05:27 |
hmmmm |
in the past i don't even know how long* |
05:28 |
celeron55 |
minetest is about more than just commits to core 8) |
05:29 |
hmmmm |
people can develop all they want, but it needs to get committed... and reviewed, and tested, and all of the things that come along with it |
05:29 |
celeron55 |
also, people will like to use you as the okay-giver because you're currently using the most time for developing core; they'll ask someone else when you're not around |
05:29 |
hmmmm |
it's practically nothing in comparison to the effort necessary to actually write the code, but nevertheless it takes time |
05:30 |
hmmmm |
when people want things committed, whatever i'm working on comes to a halt too. i counted only 2.5 days worth of quality time to work on mapgen v7 |
05:32 |
hmmmm |
it's good that i am looking over everything of sapiers' memory leak fixes though, because i caught a couple things that would've caused a lot of problems had they been blindly merged |
05:32 |
hmmmm |
i don't know, maybe it's fine this way and i'm just frustrated because i can't do more of what i like to do |
05:32 |
celeron55 |
i suggest just not caring about other things when you want to work on it - at some point minetest can cross the line of one person not being able to handle everything that goes upstream |
05:34 |
hmmmm |
ha ha... you mean like right now? |
05:34 |
hmmmm |
the pull requests are backing up |
05:35 |
celeron55 |
well, i have tried to choose all core developers from such people who are generally wise enough to not merge things they aren't able to check (with their knowledge or time) |
05:35 |
hmmmm |
if pilzadam weren't around it'd probably be up to 100 by now |
05:38 |
|
emptty joined #minetest-dev |
05:39 |
celeron55 |
churning through pull requests is the kind of thing most people won't do unless they're paid to do it |
05:42 |
celeron55 |
because... well, you have so much responsibility and need so much knowledge that you could use much more creatively elsewhere |
05:42 |
celeron55 |
and at the same time you need to tell most people they suck at coding |
05:43 |
celeron55 |
really the only thing that would scale here would be something like linux does |
05:44 |
celeron55 |
but as it doesn't seem to emerge out of nothing even in a very tiny extent, i guess it's impossible |
05:44 |
hmmmm |
doesn't linux have 3 people at the top deciding what gets merged? |
05:44 |
hmmmm |
that's really bad, is it not? |
05:44 |
celeron55 |
linux kind of has a "tree of trust" |
05:46 |
celeron55 |
the 3 people at the top don't really need to check much anything; they just get large bunches of patches from maybe 3 people each, who in order get similarly more from other people; each person manages some subsystem and knows the quirks of the code and the people who send patches to them |
05:46 |
hmmmm |
well, i trust pilzadam completely to do all minetest_game related things and most of the core things |
05:46 |
hmmmm |
8) |
05:46 |
celeron55 |
it will scale infinitely as long as new people "attach" to the lower end of the tree |
05:46 |
celeron55 |
we don't have even a single layer of such |
05:47 |
hmmmm |
...perhaps we should start making something like that |
05:47 |
celeron55 |
it could be worth a try, but i'm somewhat pessimistic of the possible results |
05:48 |
hmmmm |
why, not enough qualified people? |
05:48 |
celeron55 |
but basically how to start is pointing core devs to certain parts of the code, and telling all new contributors to note their pull requests to the respective people |
05:48 |
celeron55 |
and stating that the goal is to scale like linux |
05:50 |
celeron55 |
i once (or twice) suggested this before, but as the idea took zero traction, i just threw it away |
05:50 |
celeron55 |
now as there are two liking it, it might work 8) |
05:52 |
celeron55 |
i do believe that you can get a lot more motivation from people if you give them actual responsibilities, of the size that they are able to manage - but the starting point to that needs to be that there are capable enough people |
05:52 |
hmmmm |
right |
05:52 |
hmmmm |
who here is capable.. |
05:52 |
hmmmm |
and more importantly, at what |
05:53 |
hmmmm |
we already know the answers to that though |
05:53 |
celeron55 |
actually it doesn't even require much skills, other than knowing what one *doesn't* know, so one can ask those who know and learn at the process |
05:53 |
celeron55 |
that skill seems to be a lot asked these days though :-D |
05:53 |
celeron55 |
"I KNOW C++ WHAT DOES i++ DO?" |
05:54 |
hmmmm |
indeed, a lot of people seem to think that they just pick up C++ and then they can start developing |
05:55 |
hmmmm |
well |
05:55 |
hmmmm |
that's what i did |
05:56 |
hmmmm |
but that's different |
05:56 |
hmmmm |
i already knew how to code |
05:57 |
hmmmm |
yes, that's the difference... there are those who know how to code, and those who know a language |
05:58 |
hmmmm |
what makes minetest so attractive to beginning developers, who lack the former? |
05:58 |
VanessaE |
Lua. |
05:59 |
VanessaE |
one easy language somehow translates to others being equally easy. |
05:59 |
VanessaE |
(even if it doesn't) |
05:59 |
hmmmm |
no, it's not that, i see the kind of people celeron is talking about on the forums and such |
06:00 |
hmmmm |
the subset of people who contribute right now, i'd say, know both how to code and the details enough to be effective (if they weren't effective coders, we wouldn'tve accepted their code in the first place) |
06:00 |
celeron55 |
they're young |
06:01 |
celeron55 |
people will know what they don't know much better when they get 18 or 20 or so |
06:01 |
|
ssieb joined #minetest-dev |
06:02 |
hmmmm |
heh, it's probably good that I don't have as much of a background with C++, so I can be the voice of sanity when people want to go overboard with messy C++ features |
06:02 |
hmmmm |
if i had to do it all over again though, i'd do minetest in C |
06:03 |
hmmmm |
there's just something about C++ that makes it feel dirty |
06:05 |
celeron55 |
it's dirtily powerful too though |
06:05 |
ssieb |
I'm trying to package minetest, but there's a problem. The common mods don't get put into common, so the server doesn't start. Obviously, I moved them over, but shouldn't they get installed properly? |
06:05 |
hmmmm |
at the same time, i guess it's nice that i am forced to work with C++, and i gained another skill in the process |
06:05 |
celeron55 |
like, in terms of if you know what you're doing, you're going to get much more of everything out of your code than in C |
06:06 |
celeron55 |
ssieb: the CMakeLists.txt of 0.4.6 lacks the commands to do that; that was added slightly after |
06:06 |
hmmmm |
i know what you mean, everything takes longer when you're doing minetest-related code in C, but it isn't something that can't be solved with well-used macros |
06:06 |
ssieb |
I have master and it still doesn't seem to do it |
06:07 |
celeron55 |
then i have no idea 8) |
06:07 |
ssieb |
the common directory isn't created anywhere |
06:07 |
ssieb |
it works for you? |
06:07 |
* hmmmm |
hasn't updated minetest_game since 0.4.4 |
06:07 |
hmmmm |
no idea here |
06:07 |
ssieb |
oh :-) |
06:07 |
hmmmm |
the common directory was celeron's whole idea though |
06:08 |
hmmmm |
he *should* know |
06:08 |
celeron55 |
but it was mostly implemented by other people! |
06:08 |
celeron55 |
:D |
06:08 |
celeron55 |
ssieb: you didn't really explain precisely enough for me to know what you are actually even doing |
06:09 |
ssieb |
following the compiling instructions |
06:09 |
ssieb |
I have master of minetest, I get master of minetest_game, put it in games, then run the compile and install |
06:09 |
ssieb |
where is the games/common directory supposed to come from? |
06:09 |
celeron55 |
you need https://github.com/minetest/common too |
06:10 |
ssieb |
oh... something to add to the compiling instructions? |
06:10 |
celeron55 |
where are these outdated compiling instructions you are talking about? |
06:10 |
ssieb |
http://dev.minetest.net/Compiling_Minetest |
06:10 |
celeron55 |
the amount of repositories sucks though, i think we should do something about that |
06:11 |
celeron55 |
maybe an "integration repo" where everything in the main distribution would be thrown in |
06:13 |
celeron55 |
well, added that one quickly there |
06:13 |
celeron55 |
you might want to get the survival or build game too, but they aren't really necessary at the moment |
06:15 |
ssieb |
oh, those are separate repositories too? |
06:15 |
* ssieb |
checks the list |
06:16 |
celeron55 |
yeah, welcome to git clone git clone git clone git clone git clone |
06:16 |
ssieb |
I see that part of the moreores mod has been incorporated, how will this interact in an existing world? |
06:17 |
ssieb |
e.g. there are two different recipes for bronze |
06:17 |
ssieb |
but tin wasn't included... |
06:17 |
ssieb |
so I can't remove the moreores mod |
06:18 |
celeron55 |
i believe if you download the most recent moreores, it should handle that well enough in... some way |
06:18 |
ssieb |
oh good, ok, I'll try that |
06:18 |
* ssieb |
didn't think of that... |
06:20 |
ssieb |
yes, I see that was done. |
06:29 |
hmmmm |
the entire moreores wasn't added, we only picked the subset of features we all agreed on |
06:29 |
hmmmm |
those ores were aliased to moreores for compatibility |
06:29 |
ssieb |
I realize that, that's why I was concerned about the interaction |
06:29 |
hmmmm |
if you actually want moreores, you still need to download moreores |
06:30 |
ssieb |
but I see that the moreores author has modified it to handle that |
06:31 |
* ssieb |
is currently building rpm packages on several machines... |
06:31 |
hmmmm |
we work with popular mod authors if we add or do something that is relevant to their mod |
06:32 |
ssieb |
I find the server gets rather laggy when (I assume) there is flowing liquid nearby |
06:32 |
* ssieb |
hopes to get a chance to poke a debugger at it soon... |
06:33 |
hmmmm |
water flowing shouldn't be laggy under normal conditions |
06:35 |
ssieb |
something is making it really laggy sometimes and that's the only thing I can think of |
06:35 |
ssieb |
I turned off the cheat checks and that improved things a lot, but not entirely |
06:36 |
hmmmm |
what kind of hardware are you running minetest on? |
06:36 |
ssieb |
AMD Athlon(tm) 64 X2 |
06:36 |
celeron55 |
and are you running some laggy mod? |
06:37 |
ssieb |
is there a list of those? :-) |
06:37 |
hmmmm |
mobs |
06:37 |
ssieb |
no |
06:37 |
celeron55 |
map generation mods |
06:37 |
hmmmm |
yeah those can and will hang up the server |
06:37 |
celeron55 |
(which aren't laggy after the world has generated though) |
06:38 |
ssieb |
only moreores that I know of for map generation |
06:38 |
hmmmm |
hmmmm, it's possible that could be it |
06:38 |
hmmmm |
i hope not though |
06:38 |
ssieb |
and it's laggy when (I think) there shouldn't be any generation |
06:39 |
VanessaE |
fwiw, there was a time not long ago where the water pyramid on redcrab's server would cause a pretty significant performance loss just by being in view... |
06:39 |
VanessaE |
(and it was just wool and flowing water) |
06:40 |
ssieb |
I'll try with the latest build and see what happens |
06:41 |
ssieb |
the kids are really enjoying it, but they are getting a little frustrated with the blocks popping in and out while they're digging... |
06:41 |
hmmmm |
i've lived through that for a while and i know how frusturating that is |
06:42 |
hmmmm |
perhaps you can increase the server step interval to something less demanding |
06:42 |
ssieb |
I'll try that if it's still a problem |
06:43 |
hmmmm |
:( |
06:43 |
hmmmm |
i do all this optimization and in the long run it still doesn't help much |
06:48 |
|
emptty joined #minetest-dev |
06:52 |
ssieb |
is there any plan to allow compiled mods? or is that something you can do with lua without needing specific support in the server? |
06:52 |
VanessaE |
ssieb: LuaJIT support just made it into upstream in fact. |
06:53 |
ssieb |
upstream? |
06:53 |
VanessaE |
that's about as good an improvement as one can get for now, barring further improvements to the engine (or to LuaJIT itseld) |
06:53 |
VanessaE |
upstream = the Minetest source code repository |
06:53 |
ssieb |
I noticed there was some debate about whether that was actually faster or not |
06:53 |
ssieb |
I'm not familiar with lua so I was wondering if there was some way to include binary modules like python can |
07:09 |
celeron55 |
the only way supported is making a patch to the core that implements something to call from mods |
07:10 |
celeron55 |
we don't really see much benefit from supporting a binary interface |
07:12 |
celeron55 |
well, if you insist on writing some kind of binary modules, lua supports such like python and you can wrap them to the existing interface with lua |
07:13 |
celeron55 |
there exists a minetest chat->irc wrapper written somehow like that |
07:14 |
|
emptty joined #minetest-dev |
07:15 |
ssieb |
oh, right, I did see that one |
07:28 |
ssieb |
well, my rpms are built and the server works properly, so it's time to sleep :-) |
07:35 |
emptty |
ssieb: can you please point me to your repo? |
07:35 |
emptty |
I'm currently updating the debian packaging, and I was wondering if you could have some interesting patches ^^ |
07:46 |
VanessaE |
or use my build :) |
07:59 |
|
BlockMen joined #minetest-dev |
08:00 |
BlockMen |
celeron55, you should rename the wiki to "Minetest", because now the pagetitels are e.g. "Minetest Wiki - Download" ;) |
08:01 |
BlockMen |
and when i tried to register, it did not send the email with pw, also not when i clicked "send new password". could you chek that too? |
08:04 |
|
emptty joined #minetest-dev |
08:06 |
|
BlockMen left #minetest-dev |
08:10 |
celeron55 |
BlockMen: renamed; and about e-mail sending: i tested it yesterday and it did work |
08:11 |
celeron55 |
maybe you have some overly jealous spam filter that doesn't like the way it sends e-mail via a regular domestic ISP's server |
08:16 |
VanessaE |
celeron55: "overzealous" |
08:16 |
VanessaE |
bbl |
08:17 |
celeron55 |
ehm... well whatever, some word like that 8) |
08:22 |
|
jin_xi joined #minetest-dev |
09:32 |
|
ImQ009 joined #minetest-dev |
10:06 |
|
Jordach joined #minetest-dev |
10:06 |
|
Jordach joined #minetest-dev |
10:24 |
|
proller joined #minetest-dev |
10:49 |
|
JesseH joined #minetest-dev |
10:52 |
|
Calinou joined #minetest-dev |
11:14 |
|
ImQ009 joined #minetest-dev |
11:35 |
|
Jordach joined #minetest-dev |
11:35 |
|
Jordach joined #minetest-dev |
11:43 |
|
emptty joined #minetest-dev |
12:16 |
|
PilzAdam joined #minetest-dev |
12:20 |
* VanessaE |
is back. |
12:59 |
Taoki |
So after two days of work, I can reveal my (hopefully pleasant) surprise for Minetest: http://forum.minetest.net/viewtopic.php?pid=82728 |
13:00 |
Taoki |
This is hopefully a mod that will allow many new exciting things, such as sharing buildings via IRC or forum and creating villages or cities in mapgen easily |
13:00 |
Taoki |
Still a lot to do though |
13:06 |
celeron55 |
i don't see that as anything more than what worldedit already does |
13:07 |
celeron55 |
you could've used worldedit's format and went directly for the generation thing |
13:07 |
celeron55 |
(and what it does, worldedit does better - WE saves node metadata too) |
13:08 |
PilzAdam |
object collission is broken |
13:08 |
|
jin_xi joined #minetest-dev |
13:09 |
PilzAdam |
the rat in my mobs mob gets constantly pushed upwards |
13:09 |
PilzAdam |
collisionbox = {-0.25, -0.175, -0.25, 0.25, 0.1, 0.25}, |
13:09 |
|
blue42u joined #minetest-dev |
13:10 |
|
hmmmm joined #minetest-dev |
13:13 |
jin_xi |
a propos generating structures: here is an example of structures made with turtle graphics. i think that could be a flexible way of adding all sorts of stuff to biomes: http://i.imgur.com/qhWjgHq.png |
13:17 |
Taoki |
celeron55: Not sure how worldedit works, but likely not the same way as this mod |
13:17 |
Taoki |
Wanted to go for a simple implementation where you use a core and 3 markers to mark an area you work with, and allow working with text files. Then adding that to the map I/O |
13:19 |
Taoki |
This mod is also meant for importing / exporting a single structure per file to work with, and possibly allowing multiple folders of structures |
13:21 |
Jordach |
we should have a candy land biome |
13:21 |
blue42u |
We SHOULD have Lua biomes. |
13:21 |
Taoki |
Jordach: With mapgen v7 we can |
13:21 |
Taoki |
blue42u: ^ |
13:22 |
blue42u |
YAY! |
13:24 |
blue42u |
Question: Should all gui-related lua command strings use the same syntax? |
13:27 |
blue42u |
i.e. Formspec looks like this: "list[current_player;main;0,5;8,4;]". Should other gui things use a similar syntax? |
13:33 |
blue42u |
Ok, more specific. I'm trying to add Lua hud to th game, but I'm not sure whether to change the syntax. Currently, its "inv~main~0~0~1~5", or somthing like that. Should I change it? |
13:44 |
|
ImQ009 joined #minetest-dev |
13:46 |
|
jojoa1997|Tablet joined #minetest-dev |
13:53 |
|
blue42u left #minetest-dev |
13:55 |
|
nyuszika7h joined #minetest-dev |
13:57 |
|
JesseH left #minetest-dev |
14:04 |
|
nyuszika7h joined #minetest-dev |
14:36 |
|
BlockMen joined #minetest-dev |
14:38 |
|
rubenwardy joined #minetest-dev |
14:38 |
BlockMen |
celeron55, i have disabled my spam filter and tried again, but i still get no mail. could you set a temp-pw that i can check mail adress and set pw manual? |
14:45 |
|
serengeor joined #minetest-dev |
14:48 |
|
emptty1 joined #minetest-dev |
14:54 |
|
troller joined #minetest-dev |
15:10 |
|
proller joined #minetest-dev |
15:19 |
|
emptty joined #minetest-dev |
15:23 |
|
Calinou joined #minetest-dev |
15:42 |
hmmmm |
oh yes |
15:42 |
hmmmm |
blue42u is around |
15:42 |
hmmmm |
too bad i don't have any time for minetest this week |
15:42 |
hmmmm |
it'd be great to get the bar api in |
15:43 |
|
jin_xi joined #minetest-dev |
15:43 |
Calinou |
yells at paramat for not coding correctly |
15:43 |
Calinou |
wants the bar API to be in |
15:44 |
hmmmm |
like i said, i'd be basing the work off of his, not entirely using it |
15:44 |
hmmmm |
did i yell at paramat? who is paramat btw |
15:44 |
hmmmm |
i see him on the forums but never irc |
15:44 |
Calinou |
the noise guy |
15:45 |
hmmmm |
prestidigitator? |
15:45 |
hmmmm |
he's not |
15:45 |
hmmmm |
they work together though |
15:45 |
VanessaE |
Calinou: nick recognition FAIL :) |
15:45 |
Calinou |
let's just call him the noise guy |
15:46 |
VanessaE |
paramat's the guy doing landup, canals, floatlands, etc. |
15:46 |
hmmmm |
from the code of blue42u i've seen, it seems quite reasonable |
15:46 |
hmmmm |
anyway we need more of a consensus on how the bar api should work, like should the server really have complete control over arbitrary drawing of elements on the client's UI and such |
15:47 |
VanessaE |
definitely not |
15:47 |
hmmmm |
that's what his lua hud api is able to do |
15:47 |
hmmmm |
a big detail in the bar api is to restrict where things are drawn |
15:47 |
Calinou |
VanessaE: server can already rickroll clients |
15:47 |
VanessaE |
it should be something where the mod can say "ok, I want a bar that measures X points with Z number of images, placed in bar slot Y", and the engine decides where slot Y is. |
15:48 |
VanessaE |
s/engine/client |
15:48 |
VanessaE |
/ |
15:48 |
hmmmm |
that's sound though, and it can be disabled |
15:49 |
VanessaE |
and if slot Y is taken by a mod, it gets moved to slot Y+1 or something. |
15:49 |
hmmmm |
and it's not entirely about protecting clients against malicious servers, it's just making things neat and orderly |
15:49 |
Calinou |
but people with sound can still be rickrolled |
15:49 |
Calinou |
ah |
15:49 |
hmmmm |
indeed |
15:49 |
hmmmm |
what vanessa just said |
15:49 |
VanessaE |
limit the number of available slots to, oh, 6 including the default health bar should do it I think |
15:49 |
hmmmm |
the thing is, you can't rely on a mod knowing where to put the bars |
15:49 |
|
BlockMen joined #minetest-dev |
15:50 |
VanessaE |
exactly, otherwise you have mods sticking them all over the damn screen, or over top of one another |
15:50 |
celeron55 |
hmmmm: i think it should be very free |
15:50 |
VanessaE |
or partially off-screen, etc. |
15:50 |
celeron55 |
hmmmm: we have no reason to restrict anything that is shown on the screen |
15:50 |
VanessaE |
maybe it can use the formspec style of positioning stuff |
15:50 |
|
iqualfragile joined #minetest-dev |
15:51 |
celeron55 |
hmmmm: if you restrict something, people will just complain about it; if you don't restrict, people are free to choose mods that behave sanely |
15:51 |
Calinou |
^ I agree |
15:51 |
celeron55 |
instead of restrictions, we should provide means for mods to behave sanely |
15:51 |
Calinou |
can the bar API draw text anywhere on the client's screen? would be very useful too |
15:51 |
hmmmm |
yeah, i did expect people to complain |
15:51 |
Calinou |
(and it'd be even better if you could change text opacity) |
15:52 |
hmmmm |
the other thing is that you could provide placement hints |
15:52 |
hmmmm |
but |
15:52 |
celeron55 |
for example, (i haven't read any of the pull request) there should be a way to stick elements to offsets from the sides and corners of the screen without guessing resolutions or anything |
15:52 |
hmmmm |
blue42u's lua hud api is more than bars and numbers |
15:52 |
ShadowNinja |
perhaps the option for manual placement or automatic? |
15:54 |
celeron55 |
really the modern way to go about this would be to overlay webkit on top of the 3D renderings :P |
15:54 |
hmmmm |
the original conception of the bar api was to not only provide a way of stupidly drawing things onto a client's hud, but a way to internally maintain values that are set and the client responds to it by drawing the hud api on its own, not just modifying the hud string |
15:54 |
celeron55 |
many recent games do that |
15:54 |
ShadowNinja |
celeron55: the new website design, will everything be transfered from your domain when all of the pages are made? |
15:54 |
hmmmm |
shadowninja, what's wrong with hints? |
15:55 |
celeron55 |
ShadowNinja: transferred from my domain? |
15:55 |
ShadowNinja |
what do you mean be hints? |
15:55 |
hmmmm |
how about you provide the rect where it's drawn, but there's also an api to get the positioning of where the next bar should be |
15:55 |
ShadowNinja |
from c55.me |
15:55 |
ShadowNinja |
ah, yes, that sounds good |
15:56 |
VanessaE |
that I could agree with. |
15:56 |
celeron55 |
ShadowNinja: well, www.minetest.net is currently the same machine as c55.me, so of course |
15:56 |
VanessaE |
as long as there's some way to know that a bar will always end up in a given position relative to the existing health bar or whatever |
15:57 |
celeron55 |
i'll be looking for hosting of this elsewhere eventually though |
15:57 |
ShadowNinja |
ok, can I have the privs to edit it then? |
15:57 |
VanessaE |
hmmmm: what about a concept of vertical bars at the sides of the screen? widescreen users might enjoy that |
15:57 |
VanessaE |
(I have no use for such, myself) |
15:57 |
hmmmm |
perhaps |
15:57 |
celeron55 |
ShadowNinja: i think you do have now - but don't do that yet, there are some changes to be made still |
15:57 |
hmmmm |
it's all possible at this point |
15:57 |
Jordach |
VanessaE, i quite like the idea of vertical bars |
15:58 |
ShadowNinja |
ok, just tell me when it is ready |
16:07 |
ShadowNinja |
hmmmm: how long did default register_on_generated take befofe LuaJIT? |
16:14 |
hmmmm |
not much, because it didn't do very much after i moved ores out of there |
16:14 |
hmmmm |
the point of luajit is to speed up lua in general so it doesn't feel like a laggy piece of shit as much |
16:15 |
hmmmm |
basically everything is smoother now |
16:16 |
|
dexter0 joined #minetest-dev |
16:18 |
|
emptty joined #minetest-dev |
16:35 |
|
rubenwardy joined #minetest-dev |
16:42 |
|
BlockMen_ joined #minetest-dev |
16:55 |
|
BlockMen joined #minetest-dev |
17:16 |
|
BlockMen joined #minetest-dev |
17:18 |
|
ssieb joined #minetest-dev |
17:24 |
|
blue42u joined #minetest-dev |
17:24 |
blue42u |
So, what needs to be done to fix my hud api? |
17:25 |
Exio |
hmmmm: ^ |
17:25 |
|
Taoki joined #minetest-dev |
17:28 |
ShadowNinja |
blue42u: It was decided that mods should have a way to get a unoccupied position for a bar |
17:30 |
blue42u |
Does the syntax need to be changed? |
17:30 |
|
Calinou joined #minetest-dev |
17:31 |
ShadowNinja |
I don't think so |
17:31 |
ShadowNinja |
better ask hmmmm |
17:33 |
blue42u |
Well, hmmmm? |
17:35 |
celeron55 |
someone implement this tool in minetest: http://www.youtube.com/watch?feature=player_detailpage&v=srj0yopOJ_Y#t=354s |
17:37 |
VanessaE |
celeron55: technic mining laser |
17:37 |
VanessaE |
MK3 can do something like that |
17:37 |
VanessaE |
but not as fancy |
17:38 |
hmmmm |
"fix"? |
17:39 |
blue42u |
Well, improve. |
17:39 |
hmmmm |
it's not really "fix" as it is "change" to fit with what we wanted |
17:39 |
hmmmm |
you see, we had the idea a while back to have a "bar api" |
17:39 |
hmmmm |
which does almost what your lua hud does |
17:39 |
hmmmm |
http://dev.minetest.net/TODO#Bar_API |
17:39 |
blue42u |
So... what do I need to do? |
17:40 |
hmmmm |
humm |
17:40 |
hmmmm |
i didn't see exactly how your code works for that, but from what i understand, you get a string that describes the HUD, and when health changes or something, you remove the bar and add the new one? |
17:40 |
Exio |
Set bar value (bar identifier, new value). Happens on a Lua defined-event (someone gets hit and takes damage, or w/e). |
17:40 |
hmmmm |
yeah? |
17:40 |
Exio |
(for what i see) |
17:41 |
Exio |
uh-hu, lag |
17:41 |
hmmmm |
but anyway |
17:41 |
hmmmm |
the big difference between the bar api and the lua hud is that the bar api maintains a counter for each of these bar values |
17:41 |
hmmmm |
both on the client and on the server |
17:41 |
blue42u |
Ah. |
17:41 |
hmmmm |
so the server wouldn't send a new bar to be created |
17:41 |
hmmmm |
it'd just update the value of an existing bar, given a bar ID |
17:42 |
hmmmm |
also |
17:42 |
hmmmm |
it was our idea to restrict where bars can be placed, but what will likely happen is that people would complain about the restrictions |
17:42 |
hmmmm |
but there can't be chaos on the client screen either |
17:43 |
hmmmm |
so what would be good is to have a get_next_bar_position() API that queries the lua hud subsystem for where it should place the next bar |
17:43 |
hmmmm |
but also this is client-dependent based on resolution and all that stuff |
17:43 |
hmmmm |
which complicates things |
17:44 |
blue42u |
So, if bar "data" == amount, and text "data" == text, and image "data" == image name, and inv "data" == list name? |
17:44 |
Exio |
get_next_bar_?? how would the server know the client's resolution? (what can change in any moment, if the client uses a window and resizes the screen) |
17:44 |
hmmmm |
erm, i don't mean to implement it like that |
17:44 |
blue42u |
Which is why I used porportional coords. |
17:44 |
hmmmm |
exio, the position would be proportional |
17:44 |
hmmmm |
yeah |
17:44 |
Exio |
ah, perfect |
17:45 |
hmmmm |
but the client would maintain a data structure with the style of the bar, bar position, etc. |
17:45 |
hmmmm |
your code right now is dirt simple |
17:45 |
hmmmm |
that's a good thing |
17:45 |
Exio |
i didn't know that, sorry then :P |
17:45 |
hmmmm |
but it's also not as flexible as it ought to be |
17:45 |
hmmmm |
(not as flexible as i had planned either) |
17:45 |
blue42u |
So... how flexible? |
17:46 |
hmmmm |
have the client and server maintain copies of a vector containing Bar objects, each of which have a texture name, texture pointer, value, position on screen, name string, etc. |
17:47 |
hmmmm |
keep in mind this what i'm thinking of off the top of my head |
17:47 |
blue42u |
"name string"? Or "id string"? |
17:47 |
hmmmm |
name string |
17:47 |
hmmmm |
the ID would be numerical |
17:47 |
blue42u |
Well, I always use id strings. :) |
17:47 |
hmmmm |
yuck |
17:48 |
blue42u |
When I can. |
17:48 |
blue42u |
My first language was Smalltalk. Can you guess? |
17:48 |
hmmmm |
not really, from what i've seen of your code, it's quite sane |
17:49 |
hmmmm |
just make sure you read this over http://dev.minetest.net/Code_style_guidelines |
17:49 |
hmmmm |
and they're guidelines, not absolute rules... this is just to preserve neatness and whatnot |
17:50 |
blue42u |
I've been coding Python for about 5 months, then working on robotics, then... |
17:50 |
blue42u |
I'm multi-lingual. |
17:50 |
blue42u |
I learned c++ in a week. |
17:51 |
blue42u |
See my anxiety? |
17:51 |
hmmmm |
erm |
17:51 |
hmmmm |
what matters most is that you know how to _code_ |
17:51 |
hmmmm |
having prior experience with C/++ helps though |
17:51 |
blue42u |
yeah. |
17:52 |
hmmmm |
if your code's good, it'll be accepted, no matter what your experience is |
17:52 |
blue42u |
Anyway. "texture pointer"? We use strings to do that! |
17:52 |
blue42u |
== "texture name" |
17:53 |
hmmmm |
from what I recall, getTextureByName() locks a mutex evverrrrry single time it's called |
17:53 |
blue42u |
Really? I forgot this was multithreaded. |
17:54 |
hmmmm |
oh yes |
17:54 |
VanessaE |
hmmmm: why the hell would one use a lock on ...an image read routine? |
17:54 |
blue42u |
And, would "name string" be used for identification? |
17:54 |
hmmmm |
i'm not overly worried about it, but it's in poor taste and completely unnecessary inefficiency |
17:55 |
hmmmm |
no, the ID would be (this is for bars though, remember?) |
17:55 |
hmmmm |
your lua HUD api does more than bars from what i recall |
17:55 |
hmmmm |
vanessae, i'm not sure, i should probably check |
17:55 |
hmmmm |
*opens minetest* |
17:56 |
VanessaE |
heh, I meant generically. |
17:56 |
blue42u |
True. But 1) a numarical id could give a conflict and 2) the names arnt displayed anyway. |
17:57 |
hmmmm |
i was hoping we could eventually have a screen that'd show all the currently used bars |
17:57 |
hmmmm |
along with the names |
17:57 |
hmmmm |
if we were to add the name for the bar later, that'd make us need to change the protocol version again |
17:57 |
blue42u |
Now, THAT would be cool. |
17:57 |
blue42u |
Ill start writing my todo list again... |
17:59 |
hmmmm |
hmm, i guess the MeshMaking thread uses the atlas? |
17:59 |
hmmmm |
I don't know but it doesn't seem right now that you point it out |
17:59 |
hmmmm |
we should investigate further and remove this lock if it's unnecessary |
18:01 |
hmmmm |
and blue42u, nevermind about the texture pointer I guess... just store the texture ID so it doesn't lock *twice* at least |
18:01 |
hmmmm |
we'll fix that later if we do end up removing the locks |
18:01 |
blue42u |
k! |
18:04 |
hmmmm |
yeah, that's a general rule of thumb, especially for us.. if there's a more efficient way of doing something, and it doesn't hurt anything else by doing that, just do it |
18:04 |
blue42u |
Well, I tried. |
18:05 |
|
serengeor joined #minetest-dev |
18:05 |
blue42u |
Does the bar data NEED to be known by the server? |
18:05 |
hmmmm |
it needs to be known by the mod at least |
18:05 |
blue42u |
Well, that would be the modders job, right? |
18:05 |
hmmmm |
I guess |
18:05 |
PilzAdam |
yes, there should be a function player:get_hud() |
18:06 |
hmmmm |
wait, why? |
18:07 |
|
emptty joined #minetest-dev |
18:08 |
|
sapier joined #minetest-dev |
18:08 |
PilzAdam |
mods should be able to restructure the whole thing, if there is no get_hud() then other mods' stuff will be lost |
18:08 |
blue42u |
It could just remember it itself. |
18:09 |
blue42u |
An extra var somewhere... |
18:09 |
PilzAdam |
sapier, line_of_site() and object <-> object collision is broken |
18:09 |
sapier |
remembering itself adds problem of recursion depth |
18:09 |
sapier |
how is line of sight broken? |
18:09 |
sapier |
los doesn't honor glass this is intended |
18:09 |
PilzAdam |
*line_of_sight() |
18:10 |
BlockMen |
could it be that costumizeable that a mod can change the complete hud and add new bars (like health bar) too? |
18:10 |
celeron55 |
without reading your previous discussion, i think it could work so that when a mod adds something to it, it also always assigns a name for what it adds; then the parts could be removed or updated by name if needed |
18:10 |
celeron55 |
and mods don't need to touch other mod's stuff |
18:10 |
blue42u |
== id |
18:10 |
celeron55 |
so, it wouldn't even expose anything to get everything, or remove everything, or replace everything |
18:11 |
|
jin_xi joined #minetest-dev |
18:11 |
blue42u |
BlockMen: Thats what we're talking about. |
18:11 |
blue42u |
Explain, celeron55. |
18:11 |
hmmmm |
actually there seems to be the opposite sentiment within the community |
18:12 |
hmmmm |
lots of people want to be able to interfere with other mods |
18:12 |
hmmmm |
so they can override things (which is a horrible policy to begin with) |
18:12 |
sapier |
Pilzadam can you tell me what s broken with object object collision? |
18:12 |
blue42u |
Give me the decition on a comment of the pull, I have to go. |
18:12 |
Jordach |
sapier, for some reason the rats in simple mobs literally fly away |
18:12 |
hmmmm |
line_of_sight doesn't return the right value or something |
18:12 |
VanessaE |
if I couldn't "interfere" with other mods, I couldn't redefine apples so that they fall. |
18:12 |
|
blue42u left #minetest-dev |
18:12 |
PilzAdam |
sapier, things with little collisionboxes (like the rat in simple mobs) get constantly pushed upwards |
18:13 |
hmmmm |
vanessa, not you, others |
18:13 |
PilzAdam |
sapier, and line_of_sight() returns the step param |
18:14 |
Jordach |
quick question: why are caves, trees and dungeons disabled by default? |
18:14 |
sapier |
I'll fix line of sight ... how can small objects be pushed up? |
18:14 |
hmmmm |
caves and trees are disabled by default? |
18:14 |
hmmmm |
what world do you live in |
18:14 |
Jordach |
apparently its in the stable |
18:14 |
Jordach |
i have to append minetest.conf with mg_flags = trees, caves |
18:15 |
Jordach |
before they appear again |
18:15 |
hmmmm |
and? |
18:15 |
Jordach |
they return |
18:15 |
hmmmm |
did you read the default value for mg_flags? |
18:15 |
Jordach |
hm? |
18:15 |
PilzAdam |
sapier, I doesnt happen if I revert object <-> object collision commit, so you have broken it |
18:15 |
celeron55 |
of course "mg_flags = " will remove them |
18:15 |
celeron55 |
it's a setting value, not some "append these to the mapgen" thing |
18:15 |
hmmmm |
ugh |
18:16 |
hmmmm |
the faster i can get a UI for all of the mapgen things, the faster people will stop with not knowing what they're doing |
18:16 |
hmmmm |
i guess that's what i'm working on after mapgen v7 |
18:16 |
sapier |
you seam to be very proud ;-) ... no matter I'll investigate and have a look if it's really an error |
18:16 |
Jordach |
celeron55, it's apparent that 0.4.5 worlds miss the mg_flags parameters |
18:16 |
Jordach |
same for stable builds as 0.4.6 |
18:17 |
celeron55 |
to mix up this discussion even more, this is now deemed to go live after it has all the necessary content: http://c55.me/minetest4/doku.php |
18:17 |
celeron55 |
it uses this dokuwiki template, which can be polished if you find small errors: https://github.com/celeron55/minetest.net_dokutemplate |
18:18 |
celeron55 |
if you don't have other use for your time, consider registering there and asking me privileges so you can fill in content |
18:18 |
Jordach |
that's a really nice template |
18:18 |
ShadowNinja |
celeron55: can I add content now? |
18:18 |
celeron55 |
ShadowNinja: yes |
18:18 |
celeron55 |
i belive you should have the privileges for that |
18:18 |
hmmmm |
the development dropdown menu has overlapping text |
18:18 |
Jordach |
celeron55, signed up as Jordach |
18:18 |
celeron55 |
Jordach: did the password e-mail work? i have gotten a complaint about it |
18:19 |
Jordach |
celeron55, noreplyminetest.net works in gmail |
18:19 |
celeron55 |
good |
18:19 |
celeron55 |
Jordach, PilzAdam: you now can edit |
18:20 |
Jordach |
sweet. |
18:21 |
celeron55 |
the template contains all the navigation menus and other things, so stuff about it can be added as issues on the github repo |
18:21 |
BlockMen |
hmmmm, could you post screenshot? |
18:21 |
PilzAdam |
oh god the page is slow |
18:21 |
PilzAdam |
celeron55, get a better internet connection |
18:22 |
Jordach |
PilzAdam, not slow for me |
18:24 |
celeron55 |
and a policy on adding pages on the site: don't add pages that don't have direct navigation links at the top without first asking others - the goal is to keep that page as a front portal to minetest, and keep larger content in wikis and on the forum |
18:25 |
|
proller joined #minetest-dev |
18:26 |
Jordach |
i just updated the current feature list |
18:26 |
celeron55 |
i need to get a faster host for the site, but it's not something i can do in a short notice :P |
18:26 |
|
Jordach joined #minetest-dev |
18:26 |
|
Jordach joined #minetest-dev |
18:27 |
celeron55 |
Jordach: the front page is missing all it's links, you might want to collect them back to it from minetest.net |
18:27 |
Jordach |
<Jordach> I changed the features bit to this: "Walk around, dig and build in an infinite voxel world (or boxel, as reddit calls it), and craft stuff from raw materials such as diamonds, MESE, Gold and other materials to build your dream world." |
18:27 |
Jordach |
celeron55, ^^ |
18:28 |
sapier |
https://github.com/minetest/minetest/pull/636 Line of sight fix |
18:28 |
Jordach |
that's fast |
18:28 |
sapier |
was a silly error |
18:28 |
sapier |
los was just waste result of pathfinding ;-) |
18:28 |
hmmmm |
yeah, pilzadam, http://ompldr.org/vaTFqdQ |
18:30 |
celeron55 |
that goes to BlockMen |
18:30 |
PilzAdam |
hmm? |
18:30 |
sapier |
lol ... commited wrong file only |
18:31 |
hmmmm |
oh |
18:31 |
hmmmm |
blockmen |
18:31 |
hmmmm |
i must've thought pilz asked me because their names have similar shapes and length, i didn't really read it, etc. |
18:37 |
Jordach |
anyways, you'll notice a huge difference from the old homepage to what i've modified |
18:37 |
BlockMen |
hmmmm, thx |
18:38 |
sapier |
can someone tell me how to drop something in latest minetest? :-) |
18:38 |
Jordach |
sapier, q key |
18:39 |
sapier |
thx |
18:39 |
Jordach |
sapier, you could have asked #minetest |
18:39 |
Jordach |
or even read the manual |
18:39 |
sapier |
lol yes I could but would have taken looooot of more time ;-) |
18:39 |
Exio |
this is funny |
18:39 |
sapier |
pilzadam how small is your rat? |
18:39 |
Jordach |
anyways, removing the nerd jargon helps new people understand the game better |
18:40 |
PilzAdam |
sapier, collisionbox = {-0.2, 0, -0.2, 0.2, 0.2, 0.2}, |
18:41 |
BlockMen |
hmmmm, it is caused by the font. do you have zoom? or does someone else have that large font size? |
18:41 |
thexyz |
IceCraft: please, no away nicks |
18:41 |
BlockMen |
*zoomed |
18:41 |
IceCraft |
Yeah sorry |
18:41 |
IceCraft |
I will part until i fixed the problem |
18:41 |
IceCraft |
:/ |
18:41 |
|
IceCraft left #minetest-dev |
18:41 |
VanessaE |
bbl |
18:42 |
PilzAdam |
is that ok like this: http://c55.me/minetest4/doku.php?id=contributors |
18:42 |
sapier |
strange I just tried an animalmaterials egg wich is -0.12,-0.125,-0.12,0.12,0.125,0.12 it doesn't happen there |
18:43 |
hmmmm |
ahhhh |
18:43 |
celeron55 |
PilzAdam: looks good |
18:43 |
hmmmm |
blockmen, i didn't really think that my font was really that big |
18:43 |
hmmmm |
but i see what's happening |
18:44 |
celeron55 |
PilzAdam: altough... i don't really want my e-mail so exposed |
18:44 |
hmmmm |
there's nothing you can really do about it |
18:44 |
Jordach |
anyways, ive done some new stuff on the main page if anyone's interested |
18:44 |
celeron55 |
i already get enough mails with the cryptic e-mail representation that currently is on minetest.net |
18:45 |
celeron55 |
so change it somehow; maybe even remove altogether |
18:45 |
PilzAdam |
anyone else doesnt want the e-mail there: http://c55.me/minetest4/doku.php?id=contributors |
18:45 |
sapier |
there has to be another thing to happen too to cause this bug pilzadam |
18:45 |
PilzAdam |
^ hmmmm, thexyz, darkrose, RealBadAngel, proller |
18:46 |
PilzAdam |
sapier, they also have acceleration = {0,-10,0} and physical = true |
18:48 |
PilzAdam |
BlockMen, not all links in the header turn red when pointing with the mouse at them |
18:48 |
sapier |
no difference to egg pilzadam ... except beeing -9.81 but I doubt this makes a difference |
18:49 |
thexyz |
PilzAdam: i'd like some basic anti-bot protection |
18:50 |
thexyz |
like making captcha-style image displaying my email, then cutting it into pieces 1 pixel wide and inserting them into page |
18:50 |
PilzAdam |
ummm |
18:50 |
sapier |
but plz don't add one of those captchas driving even human ppl mad |
18:50 |
PilzAdam |
you can do that if you want |
18:50 |
thexyz |
well, it doesn't have to be hard to read |
18:50 |
PilzAdam |
Ill remove your e-mail for now |
18:51 |
thexyz |
i hope bots are too stupid to see page history |
18:51 |
PilzAdam |
isnt your e-mail on github too? |
18:51 |
Jordach |
thexyz, usually bots arent that smart, they look for keywords like email password new user, register |
18:51 |
BlockMen |
PilzAdam, i noticed that at Firefox only. and i have no idea why it does |
18:52 |
BlockMen |
someone want change? i just took the first ten mods with most hits http://c55.me/minetest4/doku.php?id=mods |
18:52 |
thexyz |
PilzAdam: it is, but it's not displayed anywhere |
18:52 |
thexyz |
apart from git history which bots don't download |
18:52 |
thexyz |
PilzAdam: well, I'm ok with keeping it |
18:53 |
PilzAdam |
it is in guiMainMenu.cpp |
18:54 |
PilzAdam |
thexyz, so I can add it back? |
18:54 |
thexyz |
sure |
18:54 |
Jordach |
anyways, im going to add nice new shiny screen shots with shaders on |
18:54 |
thexyz |
celeron55: are we going to keep that wiki-website at your server? |
18:54 |
Jordach |
(the old 0.4-dev look horrible) |
18:55 |
PilzAdam |
Jordach, screenshot in the main page is wrong |
18:55 |
Jordach |
fixing |
18:56 |
Jordach |
done |
18:56 |
PilzAdam |
you can remove IRC channels from there |
18:56 |
sapier |
hmmmm you should add the sky fix in order to fix the invalid emerge thread fix ;-) |
18:56 |
PilzAdam |
and authors too |
18:59 |
thexyz |
BlockMen: don't you think it should say "Most Popular" instead of "Recommended"? |
19:00 |
proller |
https://github.com/proller/common/commit/2dbfdeb4d10ec9964ed2a0713d30b949bc2cdc38 sky ores, springs |
19:00 |
thexyz |
I also don't get the capitalization there |
19:01 |
thexyz |
Description? Forum? Mods? |
19:01 |
|
IceCraft joined #minetest-dev |
19:01 |
BlockMen |
thexyz, sry but my english isnt best... |
19:01 |
IceCraft |
Kay back |
19:01 |
PilzAdam |
sapier, *** glibc detected *** /home/adam/Minetest/minetest/bin/minetest: double free or corruption (!prev): |
19:01 |
PilzAdam |
happens every time I shutdown a server |
19:02 |
thexyz |
BlockMen: that's fine, mine isn't either |
19:02 |
BlockMen |
and it should be "Recommended" and not just a list of "Most Popular". I just dont know which to choose, so i took top 10 ;) |
19:02 |
sfan5 |
will code invoked by minetest.after run in a seperate thread? |
19:03 |
sapier |
thats exactly what I meant with sky fix ;-) |
19:03 |
thexyz |
sfan5: all Lua is single-threaded |
19:03 |
* sfan5 |
had hope for threading |
19:04 |
sapier |
sfan5 I'm working on it ;-) |
19:04 |
BlockMen |
PilzAdam, is there a reason you removed #mintest-doc at irc? |
19:04 |
sapier |
still it's a long way to go |
19:04 |
PilzAdam |
BlockMen, oops, forgot to add it |
19:05 |
BlockMen |
i edit already ;) |
19:05 |
sapier |
pilzadam do rats spawn automaticaly? |
19:05 |
ShadowNinja |
is the wiki at wiki.minetest.com still used? |
19:06 |
PilzAdam |
sapier, yes, but use /spawnentity mobs:rat |
19:07 |
thexyz |
ShadowNinja: apparently |
19:08 |
thexyz |
though that separation isn't good |
19:08 |
ShadowNinja |
Can I/how can I edit the navbar? |
19:10 |
BlockMen |
PilzAdam, could u add a comment? i dont know what this channel is used for... |
19:10 |
ShadowNinja |
/topic |
19:10 |
proller |
any objection about ? https://github.com/proller/common/commit/2dbfdeb4d10ec9964ed2a0713d30b949bc2cdc38 |
19:10 |
proller |
when commit i make better message |
19:11 |
ShadowNinja |
abs height? |
19:12 |
PilzAdam |
sand into stone? |
19:12 |
PilzAdam |
and the liquids are way too rare |
19:12 |
PilzAdam |
I think it should be done in the c++ mapgen and not with register_ore() |
19:13 |
proller |
sky liquids ok, undergroud maybe rare, but i want to make smooth scarcity change |
19:14 |
ShadowNinja |
hmmmm has a commit for that, that he won't push... |
19:14 |
celeron55 |
hmm, i think an "Overview" page is needed for "Community" |
19:14 |
celeron55 |
i'll add that |
19:14 |
proller |
sand for sky lands and high mountains, there is no way to get it |
19:14 |
celeron55 |
(to the navigation) |
19:15 |
proller |
and all sky changes doesnt affect standatd mapgen |
19:16 |
BlockMen |
celeron55, https://github.com/celeron55/minetest.net_dokutemplate/pulls |
19:16 |
sapier |
LOL Pilzadam your rats drop once you reach them in sky |
19:19 |
proller |
and make underground springs by config, or no? (i think no - nobody will disable it) |
19:20 |
celeron55 |
ehm... what the hell happened |
19:20 |
|
rarkenin joined #minetest-dev |
19:21 |
|
rarkenin joined #minetest-dev |
19:21 |
celeron55 |
oh, main.php got wrong permissions by git 8) |
19:22 |
BlockMen |
celeron55, fixed: &purge=true |
19:24 |
|
emptty joined #minetest-dev |
19:26 |
celeron55 |
BlockMen: oh by the way, are you sure you haven't accidentally left any page with PHP allowed? |
19:27 |
Jordach |
XSS ftl |
19:28 |
celeron55 |
more like rm -rf |
19:28 |
Jordach |
heh |
19:28 |
celeron55 |
quickly grepping, it looks like it isn't enabled anywhere |
19:29 |
BlockMen |
celeron55, im 100% sure. |
19:30 |
BlockMen |
and html is just allowed (by me) for support |
19:31 |
PilzAdam |
BlockMen, #minetest-doc isnt used by anyone anymore, Ill remove it |
19:31 |
|
jojoa1997|Tablet joined #minetest-dev |
19:31 |
ssieb |
emptty: I don't have a repo set up, but you can get my current spec file from from http://sieb.net/minetest.spec |
19:32 |
BlockMen |
PilzAdam, ok |
19:33 |
emptty |
ssieb: cool, thanks. My debian package is here: https://github.com/mquinson/minetest-debian |
19:33 |
emptty |
ssieb: can I see your patches, too, pliz? |
19:33 |
ssieb |
oh, right |
19:33 |
proller |
PilzAdam, |
19:34 |
proller |
maybe generate springs only for indev mapgen ? |
19:34 |
celeron55 |
Jordach: are you sure you didn't go a bit over the top with that "passion" stuff? 8D |
19:34 |
PilzAdam |
I add rules to IRC in the homepage, what should be added? |
19:34 |
Jordach |
celeron55, make it easy for the user to read = more users who speak english |
19:34 |
Jordach |
or other languages |
19:34 |
ssieb |
emptty: here's the src.rpm then: http://sieb.net/minetest-0.4.6-0.fc18.src.rpm |
19:34 |
celeron55 |
Jordach: but i mean, the front page now has that word twice |
19:35 |
Jordach |
uh-oh |
19:35 |
celeron55 |
also, why aren't there any trees or buildings in the front page screenshots? I'd imagine you could fit both of those in if you are going to have three of them |
19:36 |
emptty |
ssieb: did you include all games in the same package, or did you do separate packages for each kind of game? |
19:36 |
Jordach |
celeron55, well, im annoyed that i cant put the screenshots inline |
19:36 |
Jordach |
unlike pure html |
19:36 |
Jordach |
celeron55, IF the trees actually worked |
19:37 |
celeron55 |
i think you can |
19:37 |
Jordach |
hold on, visiting redcrabs server for buildings |
19:37 |
BlockMen |
how bout that pic for front page? https://dl.dropbox.com/s/f6yh3brsjdxkww3/bone_02.png |
19:38 |
celeron55 |
Jordach: just remove the : from the image tag |
19:38 |
celeron55 |
umm... |
19:38 |
celeron55 |
actually no; remove the | |
19:38 |
PilzAdam |
http://c55.me/minetest4/doku.php?id=irc |
19:38 |
PilzAdam |
anything missing? |
19:38 |
celeron55 |
also, the styling seems to screw up with images floating on left side and a list on the right side |
19:39 |
ssieb |
emptty: I have minetest_game and common in it |
19:39 |
celeron55 |
BlockMen: http://c55.me/random/2013-04/tscrot-2013-04-09_22-38-55.png |
19:39 |
BlockMen |
PilzAdam, "don't" instead of dont |
19:39 |
* ssieb |
is not the official packager, this is just for my use :-) |
19:39 |
emptty |
ubuntu does it too, I don't like this approach |
19:40 |
emptty |
what is the opinion of you guys, upstream? Will common and minetest_game evolve separately from the main source package ? |
19:40 |
ssieb |
well, it's new that there are multiple games, so it's definitely something to discuss |
19:40 |
emptty |
should we do separate packages in the distros, or not ? |
19:41 |
BlockMen |
celeron55, you mean that there is not enough margin to right? |
19:41 |
Jordach |
celeron55, got a nice picture from redcrabs server |
19:41 |
emptty |
I personally am very reluctant to modify the source package, but that may be only me. I'd like to have the advice of the Big Mens of this project to decide |
19:41 |
celeron55 |
BlockMen: well, i'm not sure about what it's about, but there should be something that would cause some space between the image and the list |
19:43 |
BlockMen |
ok, i will fix |
19:43 |
ssieb |
emptty: what do you mean by modify the source package? |
19:43 |
celeron55 |
emptty: the latest official windows package serves as the reference of the content of the "official minetest distribution" |
19:44 |
celeron55 |
of course you're free to do differently, but that is what users expect |
19:44 |
emptty |
ssieb: include several source tarballs in only one source package |
19:44 |
Jordach |
celeron55, hows the current homepage now |
19:45 |
celeron55 |
Jordach: if you're going to include an image where there is night, put at least a single torch down because it's useless to have an almost completely black image |
19:46 |
PilzAdam |
http://c55.me/minetest4/doku.php?id=texturepacks heh |
19:46 |
ssieb |
emptty: I don't see any problem with that. But you could split up the games into their own packages, so e.g. the survival game could be its own package |
19:46 |
PilzAdam |
I would change "recommended" to "popular" |
19:46 |
emptty |
celeron55: why did you guys separate common and the games from the main tree? I'm puzzled about the mention in README that the minetest_game git might get reset |
19:46 |
ssieb |
emptty: I mean binary packages, the source package would have everything to generate them all |
19:47 |
celeron55 |
ssieb, emptty: if you are going to split the package, make sure to make a metapackage called "minetest" that will install all of the packages, and call the bare engine + common something like minetest-engine |
19:47 |
celeron55 |
emptty: common and the games are separated from the engine tree to keep the repositories reasonably sized |
19:48 |
celeron55 |
common and games contain textures, sounds and 3D models which aren't wanted in the engine repo |
19:48 |
emptty |
is there any possibility that they get versioned differently? |
19:48 |
emptty |
like a 0.4.6.1 release of minetest_game while the other remain at 0.4.6 or so |
19:48 |
celeron55 |
it is intended that they are identically versioned via git tags |
19:49 |
Jordach |
celeron55, anyways, forest screenie done |
19:49 |
celeron55 |
it's complicated to keep up with it though now that there are so many of them... |
19:49 |
Jordach |
celeron55, hows that |
19:50 |
celeron55 |
i think the city shot should be from daytime |
19:50 |
Jordach |
okay |
19:50 |
celeron55 |
the dark trees shot is good |
19:50 |
Jordach |
(it's actually a town) |
19:50 |
Jordach |
the day desert one looks really real |
19:50 |
BlockMen |
celeron55, https://github.com/celeron55/minetest.net_dokutemplate/pull/2 |
19:51 |
emptty |
celeron55: you mean that there will never be a separate release of any of the elements? I'm sorry but I need to know before I go for one or the other way of packaging these elements |
19:51 |
PilzAdam |
is there a global changelog for the dokuwiki like this one http://dev.minetest.net/Special:RecentChanges ? |
19:53 |
Jordach |
ShadowNinja, new image incoming |
19:53 |
celeron55 |
BlockMen: hmm... i don't think that's good; i made a fix myself now that works well |
19:53 |
BlockMen |
PilzAdam, &do=recent |
19:54 |
BlockMen |
celeron55, whats wrong about my fix?? |
19:55 |
celeron55 |
it unnecessarily affected right-aligned images too, and the 1em margin was too low to actually move the list anywhere |
19:56 |
* ShadowNinja |
watches the main page change over and over |
19:57 |
Jordach |
celeron55, fixed the village image |
19:57 |
Jordach |
(rhyming today) |
19:57 |
BlockMen |
celeron55, and where do you see the change of the right-aligned images?? https://github.com/celeron55/minetest.net_dokutemplate/pull/2/files#L0L53 |
19:57 |
celeron55 |
hmm, there should be a link to ?do=recent somewhere... maybe in the account menu? |
19:58 |
BlockMen |
should i add? |
19:59 |
celeron55 |
i think yes; it could be called just "Changelog" in there i guess |
19:59 |
BlockMen |
ok. and a general question first: how do i update my fork? |
20:00 |
celeron55 |
there's probably a good answer to that somewhere on github itself :P |
20:01 |
celeron55 |
this probably answers your question: https://help.github.com/articles/fork-a-repo |
20:01 |
BlockMen |
already found :D |
20:02 |
Jordach |
celeron55, for the recommended texture packs, should I spend time taking pics with each TP and make photos? |
20:03 |
|
proller joined #minetest-dev |
20:04 |
celeron55 |
i really think the first image on the front page should be a daytime screenshot with some houses in a forest |
20:05 |
jojoa1997|Tablet |
yeah that show the survival side of minetest |
20:05 |
celeron55 |
Jordach: a screenshot for each sounds excessive; maybe split them into categories and take a screenshot for each? |
20:05 |
celeron55 |
each category, i mean |
20:05 |
celeron55 |
oh well, there aren't that many anyway it seems |
20:05 |
jojoa1997|Tablet |
caleron55 but each texture pack looks different |
20:05 |
proller |
celeron55, whats about placing server list (maybe top10 by players to bottom of main page ?) |
20:05 |
Jordach |
celeron55, the texture pack creators have made their own images, why bother doing more work |
20:06 |
celeron55 |
Jordach: well just use them i guess :P |
20:07 |
Jordach |
uploading VanessaE's image |
20:08 |
celeron55 |
just crop the images to similar size |
20:08 |
celeron55 |
exact same width would be wise at least |
20:08 |
celeron55 |
and not too much height |
20:08 |
celeron55 |
oh lol it's awful now |
20:08 |
celeron55 |
kill it with fire! |
20:09 |
Jordach |
celeron55, it can be done later |
20:09 |
Jordach |
content first, refinery later |
20:12 |
Jordach |
celeron55, fixed |
20:15 |
emptty |
"later" came quickly, this time :) |
20:15 |
BlockMen |
celeron55, my shell just throws me errors |
20:15 |
BlockMen |
what happens if i delete my repro and fork again? |
20:15 |
PilzAdam |
BlockMen, thats the way RealBadAngel does it all the time |
20:16 |
BlockMen |
PilzAdam, ok. then i will follow RealBaAngel :D |
20:16 |
Jordach |
RealBadAngel, is bad at branching out |
20:18 |
Jordach |
las image |
20:18 |
Jordach |
last* |
20:18 |
ShadowNinja |
given infinite resources how many players could connect to a minetest server? |
20:19 |
Jordach |
ShadowNinja, infinite provided that the server have enough ram |
20:19 |
Jordach |
although there was a time where a Intel ATOM notebook hosted 100+ people |
20:19 |
PilzAdam |
ShadowNinja, max_users in minetest.conf |
20:20 |
celeron55 |
well, i guess some id there is 16-bit, so 65535 or so |
20:20 |
celeron55 |
something's inevitably going to explode before that though |
20:21 |
ShadowNinja |
thats what I was asking, u16? |
20:21 |
celeron55 |
i can't imagine anyone having the amount of single-core CPU power needed for that though |
20:21 |
Jordach |
celeron55, datacentres |
20:21 |
celeron55 |
they have thousands of rather lazy cores |
20:22 |
celeron55 |
not faster than one in a regular desktop |
20:22 |
BlockMen |
celeron55, https://github.com/celeron55/minetest.net_dokutemplate/pull/3 |
20:23 |
ShadowNinja |
celeron55: why don't you just give him push access :-) |
20:23 |
celeron55 |
why do you include an ID in there, it works like this too http://c55.me/minetest4/doku.php?do=recent |
20:24 |
celeron55 |
ShadowNinja: because once i pull, all code will go to production immediately |
20:24 |
BlockMen |
because umm... |
20:24 |
BlockMen |
idk :D |
20:24 |
|
jin_xi joined #minetest-dev |
20:25 |
BlockMen |
celeron55, changed |
20:27 |
celeron55 |
now you could try learning a skill called "squashing" |
20:27 |
celeron55 |
nobody will merge a pull request that has separate commits for fixing stuff that it introduces as broken 8) |
20:27 |
ShadowNinja |
celeron55: should a link to dev.minetest.net be added? |
20:27 |
ShadowNinja |
git rebase -i |
20:27 |
Jordach |
ShadowNinja, that's wise |
20:28 |
PilzAdam |
BlockMen, https://github.com/minetest/minetest/pull/605#issuecomment-15998442 |
20:28 |
celeron55 |
hmm, quite long https://help.github.com/articles/interactive-rebase |
20:29 |
celeron55 |
PilzAdam: be careful |
20:30 |
celeron55 |
there are three commits squashed in the example and nobody is telling BlockMen he needs to squash two |
20:30 |
celeron55 |
everything will explode when he squashes three 8) |
20:30 |
BlockMen |
PilzAdam, celeron55 thx |
20:31 |
BlockMen |
celeron55, http://i.imgur.com/Q9l0UBD.png |
20:31 |
BlockMen |
it works for me with 2em |
20:36 |
Jordach |
celeron55, i added a basic community page |
20:36 |
ShadowNinja |
BlockMen: that was fixed, refresh |
20:37 |
proller |
https://github.com/proller/minetest/commit/02b6a1db212284412c036b2c674f6e4c3de59b7d - for fun - mapgen for math-generated worlds - first is simple sphere, next i want to make mandelbox |
20:39 |
ShadowNinja |
celeron55: all packs under Texture Packs does not start with a capital A |
20:40 |
Jordach |
ShadowNinja, im not seeing that |
20:41 |
BlockMen |
ShadowNinja, noticed. strange thing is, i had to refresh 10 times, and i was always forcing |
20:41 |
Exio |
proller: how does it work? |
20:41 |
proller |
Exio, makes simple sphere with r=30000 |
20:42 |
Exio |
oh, it is not something like definition a function what returns the values in some math-like language? :P |
20:44 |
proller |
c++ langauge |
20:45 |
Exio |
hehe |
20:47 |
|
iqualfragile joined #minetest-dev |
20:48 |
ShadowNinja |
Jordach: http://ompldr.org/iaTFsNQ |
20:48 |
ShadowNinja |
or better: http://ompldr.org/vaTFsNQ/Menu_019.png |
20:49 |
ShadowNinja |
ugh, why so many links? |
21:00 |
|
jojoa1997|Tablet joined #minetest-dev |
21:00 |
|
sapier1 joined #minetest-dev |
21:05 |
sapier |
https://github.com/minetest/minetest/pull/637 fix for pilzadams flyaway rats |
21:06 |
sapier |
I wonder why this only results in errors with small collisionboxes |
21:25 |
|
emptty joined #minetest-dev |
21:39 |
|
khonkhortisan joined #minetest-dev |
21:39 |
|
emptty joined #minetest-dev |
21:43 |
|
rarkenin|Away joined #minetest-dev |
21:50 |
|
serengeor joined #minetest-dev |
21:56 |
Taoki |
PilzAdam: When can we expect sheep and rats to be included in Minetest with your simple mob framework? Can't wait to see that as part of minetest_game and Minetest builtin :) |
21:59 |
sapier |
I'm against this ... simplemobs is by far not best mob implementation |
21:59 |
sapier |
mine isn't perfect either but far more advanced than simplemobs |
22:02 |
Taoki |
I'm ok with any as long as there will be default mobs :) |
22:02 |
PilzAdam |
sapier, but simple mobs is lightweight enough to actually run on most peoples computers |
22:02 |
Taoki |
Simple might be more safe for Minetest at least for starters though |
22:03 |
ShadowNinja |
sapier: does mobf use pathfinding now? |
22:03 |
Taoki |
Pathfinding? *perks ears* |
22:03 |
ShadowNinja |
yep, it got pushed |
22:03 |
sapier |
simplemobs is by no means lightweight if you add half of features mobf has you'll require way more cpu power |
22:03 |
Taoki |
Was actually thinking of giving a try to pathfinding myself if no one else does. Since everything's made out of blocks t would be possible |
22:03 |
hmmmm |
hmm |
22:03 |
hmmmm |
sapier, what's the actual bottleneck with mobs |
22:04 |
sapier |
there's no actual benefit of pathfinding for about 95% of movement |
22:04 |
Taoki |
hmmmm - The only user who types his own nickname when he's thinking :) |
22:04 |
sapier |
current bottleneck is still spawning |
22:04 |
sapier |
and agression |
22:04 |
hmmmm |
how is spawning a bottleneck? |
22:04 |
Taoki |
sapier: Why would spawning be CPU costly? I was thinking movement would be hardest |
22:05 |
sapier |
no movement is simple |
22:05 |
PilzAdam |
sapier, yes, its lightweight because it doesnt have so many features |
22:05 |
sapier |
yes so your rat ignores water running submerged same as on ground ... |
22:05 |
sapier |
mobf 0.xx did same |
22:05 |
Taoki |
Only features I imagine are needed are mobs roaming around idly, then attacking the player (if hostile ones) when he's within their view radius |
22:05 |
|
celeron55 joined #minetest-dev |
22:06 |
sapier |
spawning requires to check presence of other mobs as well as terrain thats costly |
22:06 |
sapier |
and agression is costly as you need to check what other objects are around |
22:06 |
sapier |
if you do this often you generate lots of cpu load if you do it to rare an agressive mob will attack with huge delay |
22:06 |
sapier |
both nit quite conveniant |
22:07 |
PilzAdam |
Taoki, simple mobs does exactly this |
22:07 |
hmmmm |
terrain checking? |
22:07 |
Taoki |
I recently wrote a moonflower mod (it's a plant) which spawns via mapgen with on_genrate. I used a very simply formula there |
22:07 |
Taoki |
PilzAdam: Awesome |
22:08 |
hmmmm |
first of all, you have control over all the other mobs, you're telling me that iterating through them and checking the distance from other mobs is cpu consuming? |
22:08 |
sapier |
mobf does only generate on mapgen since 2.0 ... simplemobs has 1/4th of mobs mobf has this is a big difference |
22:08 |
hmmmm |
maybe the spawn attempt rate should be lower |
22:09 |
hmmmm |
as for terrain checking... how do you perform that? |
22:09 |
Taoki |
Anyway, my formula (which I recommend is): For each chunk, have a given amount of probability attempts and possibilities for each. When a probability is triggered (via a math.random() happening), choose a random point within the chunk o the X and Z axes. Then at that spot, find the top on the Y axis and spawn there |
22:09 |
sapier |
the on mapgen method did reduce porblems to almost zero |
22:09 |
PilzAdam |
spawning is the most difficult part of mobs |
22:09 |
sapier |
still agression is a unsolved issue |
22:09 |
PilzAdam |
simple mobs abms are not the best solution |
22:09 |
Taoki |
So the steps are: For each cunk, trigger random probabilities. When they take place, find random X and Z location in that chunk. Then find the top by going up on Y at those coords. Then spawn there if appropriate |
22:09 |
PilzAdam |
and Id like to make the mobs not static, so they get deleted when the block unloads |
22:09 |
sapier |
taoki I've already done this |
22:09 |
Taoki |
If you can't spawn there the attempt is failed |
22:09 |
Taoki |
ok |
22:10 |
Taoki |
sapier: Surely shouldn't be CPU intensive in the slightest. Even a hand watch should be able to run such a code easily :P |
22:11 |
sapier |
if you happen to catch one of minetests performance eaters ... e.g. getnode you'll have no chance at all |
22:11 |
Taoki |
PilzAdam: Is spawning still difficult a formula like my idea? |
22:11 |
sapier |
an I've already told, mapgen spawning fixed the spawning problem ... but introduced a new one |
22:11 |
hmmmm |
is there not a get_ground_level() function already? |
22:11 |
PilzAdam |
Taoki, simple mobs dont spawn on generate |
22:11 |
Taoki |
sapier: With such an implementation, you'd only use getnode a few times every few seconds |
22:11 |
PilzAdam |
hmmmm, no |
22:11 |
hmmmm |
oh... |
22:12 |
hmmmm |
well maybe there should be |
22:12 |
Taoki |
PilzAdam: Oh, that's correct... thay shouldn't. Still the same idea can be used ona per-chunk basis |
22:12 |
Taoki |
Only horrible thing to do would be using register_abm on dirt nodes for this |
22:12 |
sapier |
taoki you don't have chunks if anythin is loaded |
22:12 |
* Taoki |
nods, makes sense |
22:12 |
sapier |
chunks are only a valid element on loading |
22:12 |
PilzAdam |
Taoki, but I have to register an abm on dirt nodes |
22:13 |
sapier |
as sheep won't spawn on stone or sand ;-P |
22:13 |
PilzAdam |
the dirt monster spawns on dirt |
22:13 |
hmmmm |
now tell me about the aggression part |
22:13 |
Taoki |
PilzAdam: It hurts to think how many functionc alls must be executed every X seconds for millions of dirt nodes loaded in view at once :P |
22:13 |
sapier |
ok atm agression needs to know any entity in a certain distance |
22:14 |
sapier |
and loop through this list in certain intervals ... e.g. every 1 5 10 seconds ... much more doesn't make sense |
22:14 |
Taoki |
PilzAdam: I'd suggest one of two things instead. 1 - Use a random position in the entire active area (part of the world that's loaded by the server), in case that's possible. 2 - If not, use player position and spawn mobs in a given radius from players. Shouldn't make a difference since if the player is away who cares if mobs spawn |
22:14 |
Taoki |
sapier: I suggested an idea for aggression once; Alert levels |
22:15 |
Taoki |
Not sure if I still have the thread... |
22:15 |
sapier |
alert levels do increas problem even more |
22:15 |
Taoki |
They would be a bit hard to implement, but prolly not performance intensive |
22:15 |
sapier |
as you need to update alert levels even for non agressive mobs this will result in permanent calculation for each mob |
22:16 |
PilzAdam |
Taoki, ehm... do you know the current API? |
22:16 |
PilzAdam |
(of Minetest) |
22:16 |
Taoki |
PilzAdam: Learning it during the last days |
22:16 |
sapier |
taoki loops are always performance critical |
22:16 |
Taoki |
Mostly yes for onw. Less for the lua entities part |
22:16 |
PilzAdam |
Taoki, what you says lets me think that you have no idea about it |
22:16 |
Taoki |
PilzAdam: How come? Where am I wrong? |
22:16 |
sapier |
"days"? either you are a genius or just haven't understood complexity ;-) |
22:17 |
PilzAdam |
<Taoki> PilzAdam: I'd suggest one of two things instead. 1 - Use a random position in the entire active area (part of the world that's loaded by the server), in case that's possible. 2 - If not, use player position and spawn mobs in a given radius from players. Shouldn't make a difference since if the player is away who cares if mobs spawn |
22:17 |
PilzAdam |
an ABM is exactly the latter one |
22:17 |
Taoki |
Oh, yeah. I doubt you can get a location globally in loaded chunks. Player position is possible to get in a global on_step however |
22:17 |
Taoki |
ok |
22:18 |
sapier |
hmmm I don't really see an option how to get attention mechanism faster ... maybe this isn't a problem with luajit anymore, but as I told, new performance evaluations will be done prior mobf 2.1 release (scheduled for end of april) |
22:18 |
Taoki |
PilzAdam: Still, how can the server even survive when you run ABM on EACH dirb block? :P I mean you can have almost million(s) of them loaded at once on the server in some circumstances I can imagine. At least thousands |
22:19 |
sapier |
it survives because pilzadam uses very very very low chances and huge deltas |
22:19 |
PilzAdam |
I check for neighbor = "air" and have a really low chance to run it |
22:20 |
sapier |
wich is the only way to go ... did you solve the everything cought/killed problem pilzadam? |
22:20 |
PilzAdam |
what problem? |
22:20 |
sapier |
with low chances and rates worlds tend to become empty if players kill mobs |
22:21 |
PilzAdam |
dunno, I use the engines damage/kill system |
22:22 |
sapier |
me to ... but thats not what I meant ... spawning at low rates doesn't seam to refill map at a decent rate |
22:22 |
PilzAdam |
bts, sapier, do you suppor the only_peaceful_mobs setting that is mentioned in minetest.conf.example? |
22:22 |
Taoki |
Oh. Checking for neighbors air is a great idea |
22:22 |
Taoki |
Should have used that for my Moonflower |
22:22 |
PilzAdam |
Taoki, it makes only sense in ABMs |
22:22 |
Taoki |
sapier: Huge deltas tho? What do you mean? |
22:22 |
sapier |
no wouldn't make sense as I do have at least 3 classes of mobs |
22:23 |
sapier |
completely peacefull, hostile and self defending |
22:23 |
PilzAdam |
Taoki, if you are interested, run simple mobs with display_mob_spawn = true in minetest.conf |
22:23 |
sapier |
but mobf has a configuration menu where you can disable each mob |
22:23 |
Taoki |
What would be wrong with using player position in on_step however? Any player's position, frequency multiplied by the number of players or something |
22:24 |
Taoki |
PilzAdam: Ok. Need to try the mod out soon yes |
22:24 |
sapier |
or try old mobf version on oldcoders server |
22:24 |
PilzAdam |
also, the engine passes the object count in the mapblock to the ABM function, I limit the mob spawn by this |
22:25 |
sapier |
object count in abm? interesting ... didn't know this |
22:25 |
Taoki |
Also, here's another idea which would also be nice gameplay-wise: Trigger mobs in register_abm very rarely, but have mobs which are spawned create mobs of the same type around themselves within a certain radius. So a mob of one type will cause more mobs of the same type |
22:25 |
Taoki |
Could be much less intensive also |
22:25 |
PilzAdam |
this isnt good at all, but it works in singleplayer |
22:26 |
PilzAdam |
Taoki, hmm, maybe that could work |
22:26 |
PilzAdam |
but if you clear an area, then the mobs will only very slowly come back |
22:26 |
Taoki |
Yeah. Could be minked to my idea of mobs that cry for help when fighting (and possibly low on health) causing more mobs to spawn nearby |
22:26 |
PilzAdam |
but I want something like the mob spawn of Minecraft |
22:26 |
sapier |
my current mechanism adds invisible spawners on mapgen wich produce mobs |
22:26 |
Taoki |
true too |
22:27 |
Taoki |
**linked |
22:27 |
Taoki |
sapier: Problematic if you build in that area and cover or uncover a spawner in the wrong place |
22:27 |
PilzAdam |
sapier, I thought about that too, but Im too lazy to code it |
22:28 |
sapier |
lol no it's not a problem taoki as spawner can detect this and relocate to a better position |
22:28 |
Taoki |
Hmmm. Might work then |
22:28 |
Taoki |
Yes... actually I do have an idea. When dirt nodes are created, give them a meta: field for mob spawning |
22:28 |
sapier |
hehe pilzadam ... thats what I meant with mobf is far more advanced ... I had to put a lot of work in those small glitches ... they seam to be minor but solution is quite tricky |
22:29 |
sapier |
a node doesn't have an active component ... otherwise it wouldn't be a node |
22:30 |
Taoki |
Anyway I might go inactive on IRC for now |
22:30 |
Taoki |
Yeah, true |
22:30 |
sapier |
pilzadam I like the mouse model of simplemobs ;-) |
22:30 |
PilzAdam |
its a rat |
22:31 |
hmmmm |
how does the mob spawning of minecraft work? |
22:31 |
sapier |
noo its a mouse :) |
22:31 |
hmmmm |
and how would you even know that |
22:31 |
PilzAdam |
hmmmm, they maybe use on_load_chunk() and check vertical position and time |
22:31 |
hmmmm |
so in other words no idea :) |
22:31 |
PilzAdam |
but I know how it feels |
22:32 |
hmmmm |
anyway i'll try to help out by making an env:ground_level_at_point() function |
22:32 |
PilzAdam |
on_load_chunk() would be extremly helpful if I delete mobs when the chunk gets unloaded |
22:32 |
hmmmm |
perhaps |
22:33 |
hmmmm |
and you mean on_load_block() |
22:33 |
sapier |
why do you delete mobs on unload? |
22:33 |
PilzAdam |
well, in MT block, in MC chunk |
22:33 |
PilzAdam |
sapier, I will do it when the patch gets in |
22:33 |
sapier |
not if but WHY? |
22:34 |
PilzAdam |
I dont like static mobs |
22:34 |
PilzAdam |
the player shouldnt be able to farm them |
22:34 |
hmmmm |
well i think being precise with naming here is important, because map is generated in chunks, and 5*5*5 blocks load all at once |
22:34 |
sapier |
I see so completely different aproach to what mobf tries to do |
22:35 |
PilzAdam |
hmmmm, I mean the 16x16x16 blocks |
22:35 |
hmmmm |
just keep that in mind |
22:35 |
hmmmm |
we'd have to call your function 125 times every time a chunk is generated |
22:35 |
sapier |
whooo :-) sonds costly |
22:35 |
hmmmm |
okay |
22:36 |
hmmmm |
i'm going to be honest |
22:36 |
hmmmm |
this is not for lua |
22:36 |
PilzAdam |
hmmmm, we need to call it everytime a player walks near to it |
22:36 |
hmmmm |
*sigh* |
22:36 |
hmmmm |
so i guess we go through this again? i add a register_mob() function? |
22:36 |
BlockMen |
gd n8t everyone |
22:36 |
sapier |
what would this register function help? |
22:37 |
hmmmm |
spawning |
22:37 |
sapier |
and how to decide where to spawn? if you call a lua callback to tell all the slow parts will still be done in lua |
22:37 |
PilzAdam |
we need 2 types, one for static mobs and one for not static mobs |
22:37 |
hmmmm |
i guess i would pick a method and stick with it |
22:38 |
sapier |
imho you're solving the wrong problem atm |
22:38 |
PilzAdam |
it is the biggest problem for simple mobs currently |
22:38 |
sapier |
your problem is getting a suitable position? |
22:38 |
PilzAdam |
the problem is to find a good spawning system |
22:39 |
hmmmm |
i thought the problem was making new mobs evvvvery time a new block is loaded |
22:39 |
hmmmm |
which i personally don't agree with, i think it should be done once after map generation, and then mobs are added every so often afterwards pseudorandomly |
22:39 |
PilzAdam |
hmmmm, thats a solution, not a problem |
22:39 |
sapier |
why do you wanna waste cpu performance on every block load instead of only once? |
22:39 |
hmmmm |
that's not a solution, just consider the sheer volume of callbacks |
22:40 |
hmmmm |
it's a solution to you because you don't like static mobs for some reason |
22:41 |
PilzAdam |
it would be also possible to add a "ghost" entity when a mob dies that regenerates nearby after some random time |
22:41 |
sapier |
I think about a parametrizable spawn mechanism in core but my investigations aren't quite finished ... it's difficult to get this done in a way general enough without having to call back to lua everytime |
22:42 |
hmmmm |
hah |
22:42 |
hmmmm |
what if mobs were placed with decorationdef |
22:42 |
sapier |
this won't fix the to many objects problem where core just deletes entities |
22:43 |
sapier |
I was talking about ghosts |
22:43 |
PilzAdam |
hmmmm, could work |
22:43 |
PilzAdam |
we would have static mobs then |
22:43 |
PilzAdam |
I dont like it but it isnt the worst thing one can do |
22:43 |
sapier |
what do you mean with decorationdef? |
22:44 |
hmmmm |
it's just a generic way to randomly place objects on the map after map generation |
22:44 |
hmmmm |
by objects, i originally figured it would be discrete node structures like trees and rocks |
22:45 |
sapier |
does it call a lua fct for random positions? |
22:45 |
hmmmm |
it comes up with the position on its own |
22:45 |
|
khonkhortisan joined #minetest-dev |
22:46 |
hmmmm |
it has a lua callback if it wants one though |
22:46 |
PilzAdam |
sapier, your object collision fix works, hmmmm, can I merge it? |
22:46 |
sapier |
if you did try it yes ... it worked for me |
22:46 |
hmmmm |
basically i'm thinking like, you register it almost like you do an ore, but a couple other differences, and you specify which biomes have what decorations |
22:46 |
hmmmm |
pilzadam, yes |
22:46 |
PilzAdam |
yes, I tested it |
22:47 |
hmmmm |
and one of the fields i'd have is a lua callback |
22:47 |
|
khonkhortisan joined #minetest-dev |
22:47 |
hmmmm |
so this way you can place cacti in deserts according to perlin noise but not have any lua callback |
22:47 |
sapier |
sounds good |
22:47 |
hmmmm |
but for something like mobs now |
22:47 |
hmmmm |
hmm |
22:47 |
hmmmm |
i guess place CONTENT_IGNORE, which means nothing, but do a callback to lua for that random position |
22:48 |
sapier |
at least a lua function has to be called for any "possible position" to decide if a specific mob really fits there |
22:48 |
hmmmm |
(this random position is really just random x and z, but ground level y, by the way) |
22:48 |
PilzAdam |
hmmmm, the engine writes to errorstream if you place content_ignore |
22:48 |
hmmmm |
well obviously |
22:48 |
hmmmm |
that could be a placeholder though for "don't place anything at this position, just call a lua callback for it" |
22:49 |
sapier |
onground isn't good enough for all mobs |
22:49 |
hmmmm |
well for those mobs, you could do something different i suppose |
22:49 |
sapier |
birds, fish, lavamonsters ;-) |
22:49 |
PilzAdam |
hmmmm, then just pass nil as param |
22:49 |
sapier |
later one haven't been done by now :-) |
22:51 |
hmmmm |
pilzadam, you misunderstand me.. i just blurted out a minor implementation detail |
22:51 |
hmmmm |
you'll see how it'll work when i get time to work on it |
22:51 |
sapier |
I don't like the idea of adding another solution only solving half of the problems ... if I need to do everything else with same way as before the problem isn't solved |
22:51 |
PilzAdam |
I know |
22:51 |
PilzAdam |
I just wanted to be sure that you dont do something stupid in the details |
22:51 |
hmmmm |
do i ever? |
22:51 |
hmmmm |
why would you even ask that |
22:52 |
sapier |
btw hmmmm are you currently working on mapgen v6? |
22:52 |
hmmmm |
nope, proller is working on that |
22:53 |
sapier |
after running valgrind on current master I feel mapgen got even more memory leaks than before |
22:53 |
hmmmm |
if you're referring to the noiseparams thing, i'll get all of those at once |
22:53 |
PilzAdam |
sapier, after all your memory leak fixes minetest crashes every shutdown with a double free error |
22:53 |
sapier |
speaking of memory leaks I rebased the sky patch to current master and added the fix for current minetest crash in there too |
22:53 |
PilzAdam |
and it also crashes if a mod fails to load |
22:54 |
sapier |
as I have said 3 times now this fix is included within sky patch |
22:55 |
sapier |
pilzadam same problem with mod load errors |
22:55 |
hmmmm |
sapier, i'll take care of all mapgen related memory leaks.. just not right now |
22:55 |
hmmmm |
it's not exactly critical either |
22:55 |
hmmmm |
you guys are all in such a hurry for some reason |
22:55 |
sapier |
no it isn't but should be done prior releasing 0.4.7 imho |
22:56 |
hmmmm |
we *just* released 0.4.6 |
22:56 |
hmmmm |
that won't happen for a while |
22:56 |
sapier |
I just guess it won't be done at all if not someone puts his finger in this wound ;-) |
22:57 |
sapier |
but at least the big texture leaks are fixed now, once everything is correctly added this will be way better than before |
22:57 |
proller |
|
22:58 |
PilzAdam |
sapier, will test your line_of_sight() fix tomorow, gtg now |
22:58 |
PilzAdam |
bye |
22:58 |
sapier |
me too it's 1 am |
22:59 |
sapier |
good night .. afternoon morning ... wherever you are :-) |
22:59 |
hmmmm |
well sapier |
22:59 |
hmmmm |
hold up |
22:59 |
sapier |
yes? |
22:59 |
hmmmm |
just want to make sure, all of the mapgen-related memory leaks are related to noiseparams, right? |
22:59 |
VanessaE |
meh, scrollback tl;dr. |
22:59 |
hmmmm |
there's nothing else that i'm not aware of |
23:00 |
sapier |
not quite but I'll post a report once all of my fixes are in to show whats leftover |
23:00 |
sapier |
I think I've seen one or two new ones today but I'm not sure I didn't especially look for those |
23:02 |
sapier |
but the sky fix is important, it's anoying to crash minetest on each logout :-( sorry for that |
23:04 |
sapier |
reason for including it in sky is its a one line fix I didn't want to create an additional pull request for 1 line ;-) |
23:04 |
sapier |
so gtg now good night |
23:04 |
|
sapier left #minetest-dev |
23:10 |
RealBadAngel |
shit, found bug in my code |
23:27 |
VanessaE |
bbl |
23:45 |
|
Taoki joined #minetest-dev |