Time |
Nick |
Message |
00:00 |
hmmmm |
we need to be more selective about who gets to become a core developer |
00:01 |
hmmmm |
sometester1231 is stuck in a state where he can't see the other players and vice versa |
00:01 |
VanessaE |
you may as well sign off of that instance, it will never "recover" |
00:02 |
hmmmm |
i wonder if SET_PROPERTIES is an unreliable or reliable AOM |
00:02 |
hmmmm |
in any case I have not seen one messed up player texture once |
00:03 |
hmmmm |
i wonder if it could be a result of my latest patch.. heh.. |
00:03 |
VanessaE |
not likely |
00:03 |
VanessaE |
this has been ongoing for about a year |
00:04 |
VanessaE |
OH that? |
00:04 |
VanessaE |
I haven't deployed it yet |
00:04 |
hmmmm |
no, it's a client-side only thing |
00:04 |
hmmmm |
hm also gets stuck in Media... when connecting |
00:06 |
VanessaE |
that one's rare. |
00:07 |
hmmmm |
it happened 3 times for me so far |
00:07 |
VanessaE |
I forget, does the player still emerge while media is loading? |
00:07 |
hmmmm |
no idea |
00:07 |
VanessaE |
huh. well not so rare then :) |
00:10 |
* VanessaE |
hands you some hair restorer and nerve pills |
00:12 |
hmmmm |
top lel |
00:12 |
hmmmm |
i added a printf in the part where i break if there's an error reading the entity ID |
00:12 |
hmmmm |
the console floods full of them |
00:14 |
VanessaE |
there's some evidence that this happened with ShadowNinja's SAO rewrite last year |
00:14 |
VanessaE |
but no one's ever been able to really dig in and look |
00:14 |
hmmmm |
sware to god. |
00:15 |
hmmmm |
i am not going to let anybody do a rewrite like that unless there are unit tests |
00:15 |
hmmmm |
if there aren't unit tests, it's simply not getting in no matter how much approval there is |
00:24 |
sofar |
start with code coverage? |
00:34 |
|
wischi2 left #minetest-dev |
00:38 |
|
paramat left #minetest-dev |
00:39 |
hmmmm |
vanessae: i dunno what to tell you, i have not replicated the problem i'm looking for once |
00:40 |
VanessaE |
huh. must be a "good day" then for that glitch :) |
00:40 |
VanessaE |
anyway you saw the other issues so it's a wash :) |
00:41 |
hmmmm |
just to make sure, this is on the creative server, right? |
00:41 |
VanessaE |
yep |
00:41 |
VanessaE |
that's where the problems are the worst |
00:44 |
VanessaE |
meanwhile, the screenful-of-serialization-errors happens on the Survival server most commonly, for some reason. |
00:58 |
|
AndroUser joined #minetest-dev |
01:13 |
hmmmm |
the screenful of serialization error is the server's fault |
01:13 |
hmmmm |
you would have to be the one to debug that problem |
01:20 |
sofar |
I just enabled code coverage in the git tree... should be interesting |
01:20 |
hmmmm |
what tool is that? |
01:21 |
sofar |
well I'll try to make lcov output |
01:22 |
|
zat joined #minetest-dev |
01:23 |
sofar |
looks like it worked ok, making the report now |
01:23 |
sofar |
I'll upload it somewhere so folks can see how it looks |
01:25 |
hmmmm |
sure |
01:30 |
sofar |
ugh should have tarred it before scping it out |
01:32 |
sofar |
http://foo-projects.org/~sofar/minetest_coverage/ |
01:32 |
|
Player_2 joined #minetest-dev |
01:32 |
sofar |
I only ran it as a client against a remote server |
01:32 |
sofar |
so it will obviously only show coverage on those parts |
01:33 |
hmmmm |
SHIT |
01:33 |
hmmmm |
I just got a bad serialization error and so I press ctrl+C to stop getting any more log messages |
01:33 |
hmmmm |
it closed out the terminal |
01:33 |
hmmmm |
:/ |
01:37 |
sofar |
I haven't looked, but is there testing code in the minetest git tree? |
01:37 |
hmmmm |
yes, under src/unittests |
01:37 |
sofar |
how do I call that? |
01:38 |
sofar |
I can see it in the lcov output... lol |
01:45 |
sofar |
../bin/minetest --run-unittests |
01:46 |
hmmmm |
lots of serialization errors @ (-160, 16, -467) on VE S |
01:48 |
sofar |
cool, now I have coverage over the unittests too |
01:50 |
hmmmm |
VanessaE: requesting your assistance |
01:50 |
VanessaE |
what's up? |
01:51 |
hmmmm |
could you look in your survival server logs and try to correlate any of these times |
01:51 |
VanessaE |
sure, on e moment. |
01:51 |
hmmmm |
no rush |
01:51 |
hmmmm |
if this is a bad time for you that's fine |
01:52 |
VanessaE |
ok, log open.. |
01:52 |
VanessaE |
2015-07-12 03:41:55: ERROR[ServerThread]: ServerEnv: Trying to store id=22679 st |
01:52 |
VanessaE |
atically but block (-13,0,-28) already contains 500 objects. Forcing delete. |
01:52 |
VanessaE |
shittons of those |
01:52 |
hmmmm |
http://pastebin.ubuntu.com/11864536/ |
01:53 |
VanessaE |
2015-07-12 03:52:58: ERROR[ServerThread]: Server::ProcessData(): Canceling: No player for peer_id=367 disconnecting peer! |
01:53 |
VanessaE |
shittons of the "forcing delete" just before that |
01:53 |
hmmmm |
hmm |
01:53 |
hmmmm |
well |
01:54 |
hmmmm |
are those timestamps UTC or something? |
01:54 |
VanessaE |
nothing else in the logs that's related. times are CET |
01:54 |
VanessaE |
(I think that's UTC+1) |
01:54 |
hmmmm |
alright |
01:54 |
hmmmm |
so -5 |
01:54 |
VanessaE |
yeah |
01:55 |
hmmmm |
weird |
01:55 |
VanessaE |
there does appear to be some tenuous connection between your errors and what's showing up in my logs, as far as times are concerned |
01:55 |
hmmmm |
3:52:58 is +1 hour ahead of CET |
01:55 |
hmmmm |
are you sure it's CET? |
01:56 |
VanessaE |
positive. it's in the Frankfurt, Germany datacenter |
01:56 |
VanessaE |
rootdaconcepts /home/minetest/minetest_core # date |
01:56 |
VanessaE |
Sun Jul 12 03:55:56 CEST 2015 |
01:56 |
hmmmm |
ahh |
01:56 |
hmmmm |
so +6 |
01:56 |
hmmmm |
is there anything around 03:51:06? |
01:57 |
hmmmm |
give me the chunk of log from 03:47:00 to 03:52:00 |
01:57 |
VanessaE |
sure. |
01:57 |
VanessaE |
moment |
02:00 |
VanessaE |
http://pastebin.ubuntu.com/11864562/ |
02:00 |
VanessaE |
had to download the log first. |
02:00 |
hmmmm |
???? |
02:00 |
VanessaE |
G*d damn it |
02:00 |
VanessaE |
I grabbed the wrong part |
02:00 |
hmmmm |
:/ |
02:01 |
VanessaE |
http://pastebin.ubuntu.com/11864568/ |
02:01 |
VanessaE |
sorry about that :P |
02:01 |
hmmmm |
it's ok |
02:02 |
VanessaE |
gave you a little extra there for context |
02:02 |
hmmmm |
alrighty |
02:02 |
hmmmm |
so it's safe to say there's nothing correlated with this in the logs |
02:03 |
hmmmm |
there is some active object sending nonsense messages to my client |
02:06 |
VanessaE |
dollars to donuts, it's the pipeworks' tubed objects or signs_lib text entities trigering this issue |
02:07 |
hmmmm |
damn |
02:07 |
hmmmm |
anyway |
02:07 |
VanessaE |
+g |
02:07 |
hmmmm |
once you start getting a serialization error, don't move anywhere |
02:07 |
hmmmm |
because once you move it stops |
02:07 |
VanessaE |
ooohhhh |
02:07 |
VanessaE |
but...hm |
02:08 |
hmmmm |
alas this is useless without server-side debugging |
02:08 |
hmmmm |
:\ |
02:08 |
VanessaE |
what do you need me to do? |
02:08 |
hmmmm |
you're probably going to hate this |
02:08 |
VanessaE |
"run it under gdb" |
02:08 |
hmmmm |
not quite |
02:09 |
hmmmm |
print out all of the active object messages ^g^ |
02:09 |
VanessaE |
wat |
02:09 |
hmmmm |
compare each active object message you're sending me |
02:09 |
hmmmm |
if i don't see any screwed up corrupted messages there, we know the problem is in data transmission or corruption |
02:10 |
hmmmm |
if we do see a screwed up corrupted message, then we look further down the pipeline at which object is producing the screwed up message |
02:10 |
* VanessaE |
dies |
02:10 |
hmmmm |
it's going to be awful spammy, however |
02:19 |
hmmmm |
alright VanessaE |
02:19 |
hmmmm |
you around? |
02:19 |
VanessaE |
yeah |
02:19 |
VanessaE |
just helping someone. |
02:19 |
hmmmm |
alright |
02:19 |
hmmmm |
first you need to have my latest patch applied |
02:19 |
hmmmm |
https://github.com/kwolekr/minetest/commit/473af3f6d58dfebb05e4ca221291d441607f6583 |
02:20 |
VanessaE |
yep, that one's already staged |
02:20 |
VanessaE |
not yet deployed |
02:20 |
hmmmm |
alright now apply this http://pastebin.ubuntu.com/11864636/ |
02:21 |
hmmmm |
and then restart VanessaE survival :) |
02:21 |
VanessaE |
that patch doesn't apply |
02:21 |
hmmmm |
:( |
02:21 |
hmmmm |
try applying it manually |
02:22 |
VanessaE |
willdo |
02:23 |
hmmmm |
wait |
02:23 |
* VanessaE |
waits |
02:26 |
hmmmm |
okay |
02:26 |
hmmmm |
manually apply this one: http://pastebin.ubuntu.com/11864653/ |
02:27 |
VanessaE |
ok. |
02:27 |
hmmmm |
no wait |
02:27 |
|
chchjesus joined #minetest-dev |
02:27 |
* VanessaE |
waits some more :) |
02:27 |
hmmmm |
make bool print_aoms = (client->getName() == "singleplayer"); //"sometester1231"); |
02:27 |
hmmmm |
into this |
02:27 |
hmmmm |
bool print_aoms = (client->getName() == "sometester1231"); |
02:27 |
VanessaE |
got it. |
02:29 |
VanessaE |
ok, applied. |
02:29 |
hmmmm |
okay |
02:29 |
hmmmm |
sorry you had to kick everyone off heh |
02:29 |
VanessaE |
not yet I didn't :) |
02:30 |
VanessaE |
compiling it now |
02:30 |
VanessaE |
fek |
02:30 |
VanessaE |
http://pastebin.ubuntu.com/11864672/ |
02:31 |
hmmmm |
you didn't apply it right, did you |
02:31 |
hmmmm |
lol |
02:31 |
VanessaE |
probably not :P |
02:31 |
hmmmm |
let's see |
02:32 |
VanessaE |
hm, nope I applied it right |
02:33 |
hmmmm |
you sure |
02:33 |
VanessaE |
hm, extra closing brace. |
02:34 |
VanessaE |
lemme just reset to clean state and try again |
02:37 |
VanessaE |
there we go |
02:37 |
VanessaE |
there musta been some leftover cruft from the failed `patch` try. |
02:37 |
VanessaE |
ok, it's built. |
02:37 |
hmmmm |
oh yeah you need to git whatever --abort if there's an error in merging |
02:38 |
hmmmm |
or else that happens |
02:38 |
VanessaE |
right |
02:38 |
VanessaE |
forgot that step |
02:38 |
VanessaE |
anyway it's deployed. |
02:39 |
VanessaE |
and I'm tail'ing the log. |
02:39 |
hmmmm |
prepare to get your log spammed |
02:39 |
VanessaE |
go for it |
02:39 |
VanessaE |
it's stored in /run/shm anyway :) |
02:39 |
hmmmm |
pepper your angus |
02:40 |
VanessaE |
holy fuckballs |
02:40 |
VanessaE |
SPPPPPAAAAAMMMMMm |
02:40 |
hmmmm |
and now |
02:40 |
hmmmm |
i just walk around until i get that error |
02:41 |
hmmmm |
OKAY NOW |
02:42 |
hmmmm |
STOP |
02:42 |
hmmmm |
CTRL+C |
02:42 |
hmmmm |
LOGS |
02:42 |
VanessaE |
stopped. |
02:42 |
hmmmm |
ALRIGHTY |
02:42 |
hmmmm |
AT PRECISELY 22:41:53 |
02:42 |
hmmmm |
whoops forgot to uncaps |
02:43 |
hmmmm |
give me some context around the time 04:41:53 in the logs |
02:43 |
VanessaE |
your clock is off a little, the last entry is 04:40:44 |
02:43 |
VanessaE |
gimme a hint what I should search for? :) |
02:43 |
hmmmm |
I don't know |
02:43 |
hmmmm |
that's the thing |
02:43 |
VanessaE |
ok I'll just skin |
02:43 |
VanessaE |
skim* |
02:43 |
hmmmm |
search around when i yelled "okay now" |
02:44 |
hmmmm |
and right now too |
02:44 |
hmmmm |
22:44:05 |
02:44 |
hmmmm |
I just got another one that's a malformed message but not one of those huge ass ones that cover the screen |
02:45 |
VanessaE |
searching.. |
02:48 |
VanessaE |
neither the word "now" nor "NOW" appears in the log for this run |
02:48 |
hmmmm |
no i mean when i said "okay now" on irc |
02:48 |
VanessaE |
oh derp |
02:48 |
VanessaE |
moment... |
02:49 |
hmmmm |
hmmm |
02:49 |
hmmmm |
maybe it would be easier if you gzipped it up and sent it this way |
02:50 |
VanessaE |
Might have to, it's so big even 'less' is having trouble searching it |
02:52 |
VanessaE |
EEK |
02:53 |
hmmmm |
i just got another one |
02:53 |
hmmmm |
shoot |
02:53 |
hmmmm |
i'm getting lots of them |
02:53 |
hmmmm |
22:53:05 |
02:54 |
VanessaE |
I gotta shut survival down, it's totally filling /run/shm |
02:54 |
VanessaE |
and back-out that change I mean |
02:54 |
hmmmm |
hold on i can do better |
02:55 |
VanessaE |
well if you want I can direct the log to disk instead |
02:56 |
VanessaE |
looks like it crashed anyway :P |
02:56 |
hmmmm |
alrighty |
02:57 |
hmmmm |
change "if (print_aoms) {" to this |
02:57 |
hmmmm |
"if (print_aoms && aom.datastring.size() > 0x70) {" |
02:57 |
hmmmm |
this will filter out all but the biggest |
02:59 |
VanessaE |
ok |
02:59 |
VanessaE |
building. |
02:59 |
VanessaE |
still want the big log? |
03:00 |
hmmmm |
yaeh sure |
03:00 |
hmmmm |
do this first though |
03:00 |
VanessaE |
server's up. |
03:00 |
hmmmm |
logging on |
03:01 |
hmmmm |
timing out |
03:01 |
VanessaE |
nothing in the log for that. |
03:01 |
hmmmm |
? |
03:01 |
hmmmm |
that i timed out? |
03:01 |
VanessaE |
it didn't react to you signing on |
03:02 |
hmmmm |
because i didn't sign on it keeps timing out |
03:02 |
VanessaE |
oh ok |
03:02 |
hmmmm |
you are doing this on 30001 right? your survival server? |
03:02 |
VanessaE |
hang on. |
03:02 |
VanessaE |
yes. |
03:02 |
VanessaE |
huh. it didn't start. |
03:02 |
* VanessaE |
tries again. |
03:02 |
hmmmm |
ahh |
03:03 |
VanessaE |
there it goes. |
03:04 |
hmmmm |
alright |
03:04 |
VanessaE |
(permission issue for the log file) |
03:04 |
hmmmm |
here we go |
03:04 |
hmmmm |
watch the log file |
03:04 |
VanessaE |
tailing it. |
03:04 |
hmmmm |
this'll filter out everything but the biggest messages |
03:04 |
VanessaE |
yeah that's a bit better |
03:05 |
hmmmm |
K |
03:05 |
hmmmm |
right now |
03:05 |
hmmmm |
did you see anything? |
03:05 |
VanessaE |
ok, killed the tail |
03:05 |
* VanessaE |
looks |
03:06 |
VanessaE |
I better send you the log. |
03:06 |
hmmmm |
ooh okay |
03:06 |
hmmmm |
what does that mean |
03:06 |
VanessaE |
it means I don't know wtf I'm looking at :) |
03:07 |
VanessaE |
http://digitalaudioconcepts.com/vanessa/hobbies/minetest/moredebug-survival.txt |
03:07 |
hmmmm |
blerk |
03:07 |
hmmmm |
it just happened again fyi' |
03:07 |
hmmmm |
just like 10 seconds ago |
03:08 |
VanessaE |
reload the file at that link, I just refreshed it. |
03:09 |
VanessaE |
brb |
03:10 |
hmmmm |
do you have the smaller logfile too? |
03:10 |
hmmmm |
from the second run |
03:14 |
VanessaE |
that link IS the smaller one |
03:14 |
VanessaE |
I'm still waiting for the big one to make its way through bzip2 |
03:14 |
hmmmm |
waha no way |
03:15 |
VanessaE |
way. :) |
03:15 |
VanessaE |
that btw is console-output-capture (which is why it's "more" debug) |
03:16 |
VanessaE |
2015-07-12 05:16:45: ERROR[ServerThread]: ServerEnvironment::deactivateFarObjects(): id=13191 m_static_exists=true but static data doesn't actually exist in (515,0,-272) |
03:16 |
VanessaE |
wat |
03:17 |
VanessaE |
wwk |
03:17 |
VanessaE |
eek |
03:17 |
VanessaE |
2015-07-12 05:16:51: ACTION[ServerThread]: Bluebird places node technic:switching_station at (8046,17,-4409) |
03:17 |
VanessaE |
05:16:51: WARNING: Assignment to undeclared global "count" inside a function at ...inetest/games/dreambuilder_game/mods/currency/income.lua:26. |
03:17 |
VanessaE |
[Currency] added basic income for Bluebird to inventory |
03:17 |
VanessaE |
2015-07-12 05:17:17: ERROR[ServerThread]: ServerEnv: Trying to store id=10551 statically but block (-12,0,-29) already contains 500 objects. Forcing delete. |
03:17 |
VanessaE |
[last message repeated a fuckload of times[ |
03:17 |
VanessaE |
2015-07-12 05:17:17: ERROR[ServerThread]: ServerEnv: Trying to store id=10833 statically but block (-12,0,-29) already contains 500 objects. Forcing delete. |
03:17 |
VanessaE |
2015-07-12 05:17:17: ERROR[ServerThread]: Server::ProcessData(): Canceling: No player for peer_id=8 disconnecting peer! |
03:18 |
hmmmm |
:\ |
03:20 |
VanessaE |
don't you just LOOOOVE these kinds of issues? :) |
03:20 |
hmmmm |
not at the moment |
03:22 |
VanessaE |
oh fuck me |
03:22 |
VanessaE |
I overwrote the big log :( |
03:23 |
hmmmm |
hey vanessae |
03:23 |
VanessaE |
hm? |
03:23 |
hmmmm |
nevermind that at the moment |
03:23 |
VanessaE |
ok |
03:23 |
hmmmm |
what item has this string as a texture: http://pastebin.ubuntu.com/11864827/ |
03:24 |
VanessaE |
that would be a signs_lib text entity |
03:24 |
hmmmm |
welp |
03:25 |
hmmmm |
in any case I think I have an understanding of why minetest servers perform so poorly |
03:26 |
hmmmm |
AOM is far, far, far, too chatty |
03:27 |
hmmmm |
your server is literally maxing my pipe so that it can tell me about all the lua entities that moved within the past second |
03:28 |
VanessaE |
weird thing is, those sign entities don't move, or even refresh (and the only thing that CAN refresh them is an ABM that runs once per 15 second interval, and only refreshes if the entity is missing) |
03:28 |
VanessaE |
pretty bad in any case |
03:31 |
hmmmm |
alright |
03:32 |
hmmmm |
- i think signs_lib is indirectly responsible for the serialization error we see |
03:32 |
hmmmm |
- i think the chattiness of AOMs is the primary reason why minetest's network performance is sluggish |
03:33 |
hmmmm |
#1 looks like it's probably caused by a lower-level problem with the network, and #2 is by design |
03:33 |
hmmmm |
the object message design worked fine, but now we have servers where a single client could be listening to serveral tens of thousands of objects |
03:33 |
hmmmm |
it simply doesn't scale |
03:35 |
hmmmm |
also, what is going on around (-200.5,11,-459) on your server, out of morbid curiosity? |
03:35 |
VanessaE |
those are mapblock coords? |
03:35 |
hmmmm |
some mod must be going crazy because there are several tens of thousands of objects centered around that area |
03:35 |
hmmmm |
no, absolute map coordinates |
03:36 |
VanessaE |
lemme go check |
03:39 |
VanessaE |
bah, now I keep timing out trying to connect. |
03:40 |
hmmmm |
in any case |
03:41 |
hmmmm |
the mod that's making thousands of objects at those coordinates is the one that's responsible for the statically blah blah blah forcing delete error |
03:41 |
hmmmm |
wow a single mod that has a bug in it can really wreak havoc.. |
03:44 |
VanessaE |
finally |
03:44 |
VanessaE |
now it's loading. |
03:45 |
VanessaE |
looks like just some low-end sorting machine. |
03:45 |
hmmmm |
low-end sorting machine?!? |
03:45 |
VanessaE |
mmhmm |
03:46 |
hmmmm |
what is a sorting machine |
03:46 |
VanessaE |
and here come the serializatn errors |
03:46 |
hmmmm |
is it supposed to sort objects? |
03:46 |
hmmmm |
vanessae... |
03:46 |
hmmmm |
what i want you to do right now |
03:46 |
hmmmm |
is to destroy the sorting machine |
03:46 |
hmmmm |
you must destroy the sorting machine! |
03:46 |
hmmmm |
it's the only way... to stop the suffering |
03:46 |
VanessaE |
beats the fuck out of me but my FPS is so ridiculously slow I can't do anything useful |
03:46 |
VanessaE |
as in dropped to less than 1 |
03:47 |
hmmmm |
DEEEEEESTROYYYYYY THE SORTTING MACHHHINEEEE |
03:47 |
* hmmmm |
adds movie effects |
03:50 |
VanessaE |
I'm trying to turn it off now |
03:50 |
VanessaE |
forget it |
03:50 |
VanessaE |
I have no control |
03:50 |
VanessaE |
these serialization errors spamming my client are making it impossible to do anything |
03:51 |
VanessaE |
they totally kill my fpds |
03:51 |
VanessaE |
fps* |
03:51 |
asl97 |
lol, how could it get so bad though |
03:51 |
hmmmm |
we're definitely going to need to add in safeguards to prevent some mod doing something like this again |
03:52 |
hmmmm |
this is nasty |
03:53 |
VanessaE |
there was a fuckton of pumice floating around through some tubes |
03:53 |
VanessaE |
once I broke the tubes to let them out, they piled up and my FPS came back to normal |
03:54 |
VanessaE |
so it's the because they stopped *moving* |
03:54 |
asl97 |
oh lol, a pumice generator, it must have run out of storage |
03:54 |
VanessaE |
so you're right, AOM is way too chatty |
03:54 |
hmmmm |
well it's *okay* for what it's supposed to do, to think about it |
03:54 |
hmmmm |
it's just that it simply does not scale |
03:54 |
hmmmm |
minetest was not designed for such high volume of objects in mind |
03:55 |
VanessaE |
in this case about 1300 pieces of pumice and 2300 pieces of basalt |
03:55 |
hmmmm |
yeah |
03:55 |
VanessaE |
but why didn't the engine delete them from the pipes? |
03:55 |
hmmmm |
basically, an Object is a rather heavyweight entity |
03:55 |
VanessaE |
my per-block limit is only 500 |
03:55 |
VanessaE |
and these appear to have been individual entities, not stacks |
03:55 |
hmmmm |
I think what we need to do is enforce a per-mod limit on objects |
03:56 |
hmmmm |
and introduce a much lighter version that doesn't get statically stored and is more or less for display only |
03:57 |
VanessaE |
a per-mod limit would basically kill the utility of pipeworks though |
04:01 |
hmmmm |
i think no matter how we do it there'd be problems with moving and tracking several thousands of objects on the screen |
04:01 |
hmmmm |
hmm |
04:02 |
asl97 |
client side script should be able to fix it |
04:02 |
VanessaE |
might help./ |
04:02 |
hmmmm |
yeah definitely |
04:08 |
VanessaE |
all of this aside, it still doesn't explain why the movement of those entites killed FPS, but having them just sitting in one place spinning around doesn't |
04:09 |
asl97 |
does the entites change direction? if it does, it could explain it |
04:09 |
VanessaE |
yes |
04:10 |
VanessaE |
they were going around and around in a small loop inside the machine, maybe 10-15 meter total distance around the loop, and several turns in the loop |
04:11 |
VanessaE |
(well two loops of half that size, rather) |
04:33 |
VanessaE |
meanwhile, I found another huge machine near that server's spawn that was also generating a large number of objedcts, BUT it wasn't going overboard (in fact it seemed to be running just fine, save for causing FPS sags due to periodic mesh regen |
04:33 |
VanessaE |
) |
04:37 |
* VanessaE |
wonders what hmmmm is thinking now. |
04:37 |
hmmmm |
i'm pondering. |
04:38 |
VanessaE |
well don't try to take over the world. |
04:38 |
VanessaE |
:) |
04:38 |
hmmmm |
so you're pondering what i'm pondering |
04:38 |
VanessaE |
I don't think so, but even so, where would you get a gallon bucket of sour cream at this time of night? |
04:38 |
VanessaE |
:D |
04:40 |
hmmmm |
zoink. |
04:40 |
VanessaE |
now you're mixing cartoons :P |
04:41 |
hmmmm |
zoink is a verifiable pinky quote |
04:41 |
VanessaE |
huh. been too long. |
04:41 |
hmmmm |
he says zoink, narf, gat, zounds, troz, fjor, poit, zort |
04:41 |
hmmmm |
iirc |
04:41 |
VanessaE |
most of those I remember |
04:42 |
VanessaE |
I'm ruined :P |
04:43 |
hmmmm |
can't help but wonder if the FPS didn't sag when the objects were holding still because they were mostly occluding eachother |
04:43 |
hmmmm |
and then when they were moving, they weren't, causing most of them to get rendered |
04:43 |
VanessaE |
hm |
04:43 |
hmmmm |
that's my only guess. i have no idea |
04:45 |
VanessaE |
the engine automatically snaps dropped entities together to form stacks. I wonder if that shouldn't be applied to ALL entities? |
04:45 |
VanessaE |
(or maybe item_tweaks is responsible for that) |
04:46 |
hmmmm |
are they really distinct entities that are 'attached' to eachother? |
04:46 |
VanessaE |
they're distinct |
04:46 |
hmmmm |
that sounds inefficient.. |
04:46 |
VanessaE |
when I freed them from the tubes, they started piling into my inventory one at a time |
04:46 |
hmmmm |
you'd think it'd replace it with one entity that has a count |
04:46 |
hmmmm |
maybe it should |
04:47 |
VanessaE |
visibly, there were only about a dozen or so "globs" at the time, all of which looked like single entities |
04:47 |
hmmmm |
so yeah |
04:47 |
hmmmm |
globbing them together would definitely work |
04:48 |
hmmmm |
if the modmaker wants the entites to appear in bulk, perhaps irrlicht particles could be used |
04:48 |
VanessaE |
some pipeworks machines will have to be adapted accordingly, but oh well |
04:48 |
VanessaE |
actually, strike that |
04:48 |
VanessaE |
hm |
04:48 |
VanessaE |
no, I guess it has to be done on the server. |
04:49 |
VanessaE |
I was thinking, what if the client globs them together? but that wouldn't do anything about the net bandwidth you mentioned |
04:50 |
VanessaE |
unless the client tells the server "hey, I've joined entities A B and C together, so don't send me updates for B and C" |
04:50 |
VanessaE |
something like how attached entities are supposed to work? |
04:51 |
hmmmm |
why would that be a client thing |
04:51 |
hmmmm |
the server should be the one handling globbing |
04:51 |
VanessaE |
just thinking out loud |
04:51 |
hmmmm |
the server is in a much better position for that |
04:51 |
hmmmm |
why do you want to do this on the client? |
04:51 |
hmmmm |
latency? |
04:52 |
VanessaE |
true, I agree. I was just thinking from the standpoint of transparency for mods - if the items get too far apart, then the client can split them again |
04:52 |
VanessaE |
know what I mean? |
04:52 |
VanessaE |
but you're right, the server is the better place for that |
04:52 |
hmmmm |
ahhh |
04:52 |
hmmmm |
i see what you mean |
04:53 |
hmmmm |
it'd save on rendering power but it certainly wouldn't save on bandwith |
04:54 |
VanessaE |
exactly |
04:54 |
hmmmm |
we could have a translation compatibility layer for mods |
04:55 |
hmmmm |
the server clumps them together, but if a mod doesn't support object groups, then it could reserve all the object ids it originally reclaimed |
04:55 |
hmmmm |
and then if the mod deletes an object that has an id within that group, the group simply decrements the object count by 1 |
04:56 |
VanessaE |
right |
04:56 |
hmmmm |
if the mod makes one of the objects in the group have a different position or velocity or whatever, it'd split that individual object out |
04:56 |
hmmmm |
so we can easily lie to the mods for reverse compatibility |
04:56 |
VanessaE |
that's exactly what I was thinking |
04:56 |
hmmmm |
and the server would handle the clumping |
04:57 |
VanessaE |
there would need to be a flag or variable or something that a mod could set to prevent any such clumping (MOBs for example) |
04:57 |
hmmmm |
yeah |
04:58 |
hmmmm |
lol |
04:58 |
hmmmm |
VanessaE |
04:58 |
hmmmm |
if you had compressed that log file you uploaded it'd be no more than ~200 MB |
04:58 |
VanessaE |
though I guess that wouldn't really be needed in practice, as MOBs are quire unpredictable anyway; if position and velocity are enough to cause clumping, MOBs probably would not get hit anyway |
04:58 |
hmmmm |
but noooo you didn't and now it's 2.1 GB |
04:58 |
VanessaE |
heh |
04:58 |
VanessaE |
sorry :) |
04:59 |
VanessaE |
I got all ferchated earlier dealing with that brain-o where I overwrote the really spammy version :P |
05:00 |
hmmmm |
your maps are huge too |
05:00 |
VanessaE |
mmhmm |
05:00 |
VanessaE |
and those ARE compressed :P |
05:00 |
hmmmm |
VanessaE - "Errything I do, I do it big." |
05:00 |
VanessaE |
lol |
05:01 |
hmmmm |
big textures too |
05:01 |
VanessaE |
remember when I said I needed to write that one "strip it down" tool? well I suppose it would also serve to reduce map sizes :) |
05:01 |
|
deltib joined #minetest-dev |
05:01 |
VanessaE |
big textures? well HDX yeah, but the servers mostly run 16px stuff |
05:01 |
hmmmm |
yeah I bet a large part of your map is actually object storage |
05:01 |
hmmmm |
the object system was REALLY not intended for this scale |
05:02 |
hmmmm |
mod makers just keep pushing it |
05:02 |
hmmmm |
grr |
05:02 |
VanessaE |
"I don't always write mods," "but when I do, I go for 100x overkill." |
05:03 |
hmmmm |
ok there dos equis guy |
05:03 |
VanessaE |
(actually in this case, nore did. I only coded some of the most basic node defs) |
05:16 |
VanessaE |
meanwhile, I guess your 473a...6583 patch at least doesn't seem to break anything |
05:16 |
VanessaE |
of course I haven't run it without the print_aoms tweaks, but I don't see that causing any regression from your code |
05:17 |
hmmmm |
it only modifies the client |
05:17 |
VanessaE |
oh hell |
05:17 |
VanessaE |
learn2read :P |
05:18 |
* VanessaE |
applies it to her client. |
05:20 |
VanessaE |
it is safe to back-out those print-aoms tweaks? |
05:20 |
VanessaE |
on the server I mean |
05:20 |
VanessaE |
on fuck |
05:20 |
VanessaE |
oh fuck, you already said that's client-side. |
05:20 |
VanessaE |
G*d I am dense. |
05:20 |
hmmmm |
no, print aoms is not |
05:20 |
hmmmm |
that is server only |
05:21 |
VanessaE |
right |
05:21 |
hmmmm |
the point of what i did was to compare server vs client aoms |
05:34 |
|
jin_xi joined #minetest-dev |
05:38 |
hmmmm |
ANYWAY |
05:39 |
hmmmm |
the conclusion from my analysis is that the serialization error is exacerbated by signs_lib's gigantic ObjectProperties |
05:39 |
hmmmm |
but the root cause lies somewhere in the serialization layer |
05:40 |
hmmmm |
as for the actual 'bug' presented in the github issue where overly verbose errors are being displayed to the client: that requires no figuring-stuff-out, just elbow grease |
05:50 |
VanessaE |
well I'm at least glad my mods aren't the root cause :) |
05:52 |
|
nore joined #minetest-dev |
06:13 |
|
Hunterz joined #minetest-dev |
06:37 |
hmmmm |
heh |
06:38 |
hmmmm |
i just tried compressing the log you gave me. 2.4GB down to 18.3MB with the standard xz options. |
06:40 |
VanessaE |
heh. sure, here's some salt, go ahead and rub it in :) |
06:43 |
|
Player_2 joined #minetest-dev |
07:11 |
|
selat joined #minetest-dev |
07:13 |
|
yang2003 joined #minetest-dev |
07:14 |
|
Fritigern joined #minetest-dev |
07:19 |
autodidact |
do you guys contribute to the main source or is this a plugins channel |
07:34 |
nore |
autodidact: this is the channel for engine development |
07:34 |
|
Amaz joined #minetest-dev |
08:00 |
|
Yepoleb_ joined #minetest-dev |
08:05 |
|
Fritigern joined #minetest-dev |
08:08 |
|
Fritigern joined #minetest-dev |
08:24 |
celeron55 |
last night's discussion is hilarius, especially out of context 8) |
08:24 |
celeron55 |
do you guys know that the object count limit does not apply to a live instance? |
08:24 |
celeron55 |
it only applies to the amount of statically saved objects |
08:25 |
celeron55 |
unless somebody added a limit to the active objects when i haven't been looking |
08:25 |
VanessaE |
wat |
08:25 |
celeron55 |
you could just extend the limit or a higher limit to active objects too and be done with this problem mostly |
08:26 |
celeron55 |
or maybe i'm wrong |
08:26 |
VanessaE |
huh. well question then is, are pipeworks' tubed items being store statically? *pokes nore* |
08:26 |
VanessaE |
pretty sure signs_lib is |
08:26 |
celeron55 |
of course they are, but it's a parallel system |
08:27 |
celeron55 |
or i mean, there's the saved state inside the mapblock and the live state inside the environment |
08:27 |
asl97 |
i thought signs_lib object is generated on-the-fly whenever the server restart or the object is clear |
08:27 |
celeron55 |
i think i only added a limit to the static stuff that goes into mapblocks |
08:28 |
VanessaE |
asl97: well sorta. the texture is rebuilt when the entity is reloaded. |
08:28 |
VanessaE |
celeron55: what's the maximum reasonable number that a mapblock should be able to hold then? |
08:28 |
asl97 |
and that it wasn't store in the mapblock |
08:28 |
VanessaE |
assuming free disk space is not a concern |
08:29 |
celeron55 |
dunno; it depends on the situation i guess |
08:30 |
celeron55 |
if you max out every mapblock, you probably want less than 50 in them, but if you max out only one of them in the whole world, i guess something like 5000 wouldn't hurt much |
08:30 |
VanessaE |
500 is the limit I currently have set in my worlds |
08:31 |
celeron55 |
or i mean, probably even less than 50; the system isn't designed to cope with that many objects |
08:34 |
VanessaE |
can anything be done to fix that? |
08:34 |
celeron55 |
http://fpaste.org/243081/36690082/ |
08:34 |
celeron55 |
try something like this |
08:34 |
VanessaE |
(aside from the entity-grouping idea hmmmm and I discussed) |
08:35 |
celeron55 |
if this makes your server playable, then the issue is too many ActiveObjects (which are the live instances of objects, as opposed to statically stored ones) |
08:35 |
celeron55 |
you should probably add a log message in there so you know if it's doing something |
08:36 |
celeron55 |
hmm actually, that would be a global limit |
08:36 |
celeron55 |
maybe make it 5000 for now or something |
08:36 |
VanessaE |
even 5000 would be too low on an active server. |
08:36 |
VanessaE |
no matter, I get what you're saying. |
08:37 |
celeron55 |
in any case you need to test this |
08:37 |
VanessaE |
I'll do that tomorrow then |
08:38 |
|
Krock joined #minetest-dev |
08:38 |
celeron55 |
the limit is currently something like 65535 because that's the data type for object ids |
08:40 |
celeron55 |
and there is an error message for that situation, which is "ServerEnvironment::addActiveObjectRaw(): no free ids available" |
08:40 |
VanessaE |
never seen that message happen before. |
08:40 |
celeron55 |
maybe it just grinds to a half before that happens? dunno 8) |
08:40 |
celeron55 |
halt* |
08:40 |
VanessaE |
heh |
08:41 |
VanessaE |
you shoulda seen "grind to a halt" earlier though |
08:41 |
VanessaE |
when I found that machine (hmmmm found the coords in the logs), my fps dropped to less than 1 until I broke a tube and made everything just fall to the ground. |
08:41 |
VanessaE |
then suddenly, back to normal fps |
08:41 |
VanessaE |
so the entities, all 3600 of them, were still there, but they weren't moving around anymore |
08:42 |
VanessaE |
just spinning on the ground |
08:42 |
celeron55 |
well entities send updates over the network when they move but not if they don't; i guess the message sending is too slow |
08:43 |
celeron55 |
it's one of the things that has stayed untouched since i originally implemented it in my not-so-performance-aware prototyping fashion |
08:44 |
VanessaE |
I was thinking, you know how animations "skip frames" when the node bearing the texture is too far away? how about doing the same with entities when the count gets too high? that is, skip sending updates to clients |
08:44 |
celeron55 |
this doesn't mean that it is slow but it means it can be slow |
08:45 |
VanessaE |
(and when they're just too far away) |
08:49 |
nore |
<VanessaE> huh. well question then is, are pipeworks' tubed items being store statically? *pokes nore* <-- no, they are stored by pipeworks and not affected by the static object limit |
08:49 |
|
RealBadAngel joined #minetest-dev |
08:49 |
VanessaE |
well that rules out your theory, celeron55 :D |
08:50 |
RealBadAngel |
hi |
08:50 |
VanessaE |
hey RBA |
08:51 |
celeron55 |
why does it rule out my theory? |
08:51 |
VanessaE |
celeron55: because it's not bumping up against the static mapblock object limit? |
08:51 |
VanessaE |
or did I misread? |
08:51 |
celeron55 |
well for all i have read, those limit bumps could be unrelated |
08:53 |
RealBadAngel |
i have read the logs before joining, about items. how much takes to store 1 item in db? |
08:54 |
RealBadAngel |
maybe having them stored per world could be a solution indeed |
08:55 |
celeron55 |
sigh, that's not the issue |
09:10 |
|
blaze joined #minetest-dev |
09:38 |
|
kilbith joined #minetest-dev |
09:47 |
nore |
~tell paramat sfan5 and I decided that you could be a maintainer of _game if you want |
09:47 |
ShadowBot |
nore: O.K. |
10:01 |
sfan5 |
merge of the diamond block texture from #548 incoming (minetest_game) |
10:01 |
ShadowBot |
https://github.com/minetest/minetest/issues/548 -- Pathfinding by sapier |
10:02 |
RealBadAngel |
hehe |
10:02 |
RealBadAngel |
wonder if that code will find a way to the texture ;) |
10:02 |
sfan5 |
Receiving objects: 55% (2268/4123), 1.89 MiB | 124.00 KiB/s |
10:02 |
sfan5 |
zzzZ |
10:06 |
|
jin_xi joined #minetest-dev |
10:08 |
sfan5 |
pushed |
10:08 |
RealBadAngel |
the diamond? |
10:09 |
sfan5 |
yes |
10:10 |
RealBadAngel |
sfan5, good. simple leaves and normalmaps? |
10:11 |
sfan5 |
should game#548 stay open? |
10:11 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/548 -- Improved ores blocks textures by kilbith |
10:12 |
sfan5 |
RealBadAngel: link to those? |
10:12 |
RealBadAngel |
a sec |
10:13 |
kilbith |
sfan5: i can close it if you don't want the new ores |
10:13 |
RealBadAngel |
github is a bit slow for me today |
10:14 |
RealBadAngel |
kilbith, i think you should open a new one with WIP mark |
10:14 |
kilbith |
i'll be afk since monday, no time for updating it |
10:14 |
RealBadAngel |
just open it right away so we can push there our ideas |
10:15 |
RealBadAngel |
they have to be changed anyway, we just need a brainstorm place for it |
10:15 |
kilbith |
i'll just delete the diamondblock in that PR |
10:15 |
RealBadAngel |
that will do too |
10:16 |
RealBadAngel |
sfan5, https://github.com/minetest/minetest_game/pull/559 |
10:16 |
RealBadAngel |
and https://github.com/minetest/minetest_game/pull/558 |
10:17 |
kilbith |
in fact i'll close the PR and open an issue instead (more suitable for collective brainstorming) |
10:17 |
RealBadAngel |
sfan5, when you merge those i will open a new one with more new maps to be reviewed |
10:17 |
RealBadAngel |
i do have grass and snow rdy |
10:18 |
RealBadAngel |
grass is a bit tricky, it needs engine changes |
10:18 |
RealBadAngel |
because its not seamless (the sides are not) |
10:20 |
sfan5 |
RealBadAngel: 559 has 2 votes (nore and me), should i merge it? |
10:21 |
RealBadAngel |
2 are enough |
10:22 |
RealBadAngel |
also theres one more from paramat |
10:22 |
RealBadAngel |
he agreed for those in #dev |
10:22 |
sfan5 |
the rule to comment on pulls is there for a reason |
10:22 |
sfan5 |
so that we don't need to search the logs for it |
10:23 |
RealBadAngel |
yup, but 2 is whats needed to merge pr in question |
10:24 |
RealBadAngel |
also im a dev too, so its additional vote, dont you think? |
10:24 |
RealBadAngel |
that gathered makes 4 devs votes |
10:24 |
kilbith |
being core-dev doesn't mean you're MTG maintainer |
10:25 |
RealBadAngel |
i know, but the border line in this case (normalmaps and simple leaves) is very thick |
10:26 |
|
ElectronLibre joined #minetest-dev |
10:26 |
RealBadAngel |
for the changes to be complete it requires changes in both repos |
10:26 |
sfan5 |
game#559 merhed |
10:26 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/559 -- Add some normalmaps with heightmap in alpha channel by RealBadAngel |
10:26 |
sfan5 |
s/h/g/ |
10:28 |
RealBadAngel |
sfan5, so only simple leaves are left |
10:29 |
sfan5 |
those need 1 more vote |
10:29 |
RealBadAngel |
paramat |
10:29 |
RealBadAngel |
or, nore, wake up :) |
10:30 |
sfan5 |
I'll be afk now |
10:30 |
nore |
well, simple leaves look as good as it can be :) (the problem is that the trees always look "empty" when there are transparent pixels with simple leaves...) |
10:30 |
RealBadAngel |
also, sfan5 what do you think if we go further with it and supply different textures for non fancy leaves? |
10:31 |
sfan5 |
if that makes it look better, why not? |
10:31 |
RealBadAngel |
nore,sfan5 its a half way |
10:31 |
nore |
so yes, you can merge it :) |
10:32 |
RealBadAngel |
an attempt to look as good as fancy does and be of the same speed as opaque is |
10:32 |
RealBadAngel |
something to choose |
10:32 |
RealBadAngel |
i find it personally good solution, especially in dreambuilder worlds |
10:33 |
RealBadAngel |
for me its 13-14% fps gain |
10:33 |
RealBadAngel |
kahrl got over 16% |
10:38 |
RealBadAngel |
thats pretty huge gain |
10:41 |
RealBadAngel |
when we are finished with adding specialized normalmaps and textures, relief mapping with simple leaves could become the fastest pick |
10:41 |
RealBadAngel |
while being the best quality setting still |
10:42 |
RealBadAngel |
look at terasology for example. picking the same quality level makes it unplayable |
10:43 |
kilbith |
terasology is a huge gas industry |
10:43 |
RealBadAngel |
what we do have, i mean relief mapping with default textures is something extraordinary for all the voxel games |
10:44 |
RealBadAngel |
mc team is trying to follow it, see experimental shaders for it |
10:46 |
RealBadAngel |
when we are done with all the normalmaps, mt will look as high end HD thingy, out of the box |
10:48 |
RealBadAngel |
kilbith, i like terasology for one reason, its open source and a different point of view |
10:48 |
RealBadAngel |
we do have l-system trees thx to Terasology :) |
10:55 |
kilbith |
and you must have an i7 and two GTX on SLI for playing it comfortably |
10:55 |
kilbith |
if minetest turns like that, i leave definitely |
10:57 |
kilbith |
meanwhile... game#565 |
10:57 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/565 -- Add mushrooms by kilbith |
10:58 |
VanessaE |
kilbith: ew. use the models from plantlife |
10:58 |
kilbith |
too heavy |
10:58 |
VanessaE |
plantlike draw type looks like ass with mushrooms. your textures are nice, though |
10:59 |
kilbith |
plantlike is KISS, like what MTG is aiming for |
10:59 |
VanessaE |
plantlife's models are too heavy? O_o |
10:59 |
kilbith |
yeah, it's mesh and not suitable for the rest of the world |
11:00 |
VanessaE |
eh. |
11:00 |
VanessaE |
why have mesh node capability at all if the default game isn't going to exploit it? |
11:00 |
VanessaE |
(stairs notwithstanding) |
11:01 |
kilbith |
because the flora is all plantlike already |
11:01 |
kilbith |
and mesh is less flexible for texture packs and maintainance |
11:01 |
kilbith |
besides the fact it's visually unsuitable in such cubic game |
11:02 |
VanessaE |
yeah but the existing flora looks fine as plantlike, it's "thin" anyway |
11:02 |
kilbith |
c55 prefers the flat plantlike as well |
11:02 |
VanessaE |
mushrooms aren't "thin", they're round. |
11:02 |
kilbith |
MC uses only plantlike for the flora |
11:02 |
kilbith |
so the bloating should go elsewhere :) |
11:02 |
VanessaE |
meh, who cares about MC |
11:02 |
RealBadAngel |
kilbith, normalmaps while being way better quality than autogen are actually way faster |
11:03 |
RealBadAngel |
simply data is preprocessed |
11:03 |
RealBadAngel |
also, most cheap pentium (i3) and gti 550 here |
11:03 |
RealBadAngel |
its not quite expensive box |
11:04 |
kilbith |
it should runs smoothly on 5-8 years old hardware |
11:05 |
kilbith |
master philosophy of MT |
11:05 |
RealBadAngel |
without any modern effects, yes |
11:06 |
RealBadAngel |
but if you want it to shine, forget about yrs old hw |
11:07 |
VanessaE |
it's okay to target modern hardware, as long as the quality degrades gracefully on older machines. |
11:07 |
RealBadAngel |
for amd 2-3 yrs old gpu is moved to legacy and is no longer supported even |
11:07 |
kilbith |
it's okay to target every type of hardware, must be universal |
11:07 |
VanessaE |
i.e. fewer working shaders on some old trident than you'd get on a modern two-slot-wide GPU, etc. |
11:08 |
RealBadAngel |
kilbith, for older boxes we will have "lite" shaders |
11:08 |
VanessaE |
kilbith: that's what I meant by "degrade gracefully" |
11:08 |
RealBadAngel |
simple and "not to touch" version |
11:08 |
kilbith |
sure, if you can't affort fancy graphics, a simplistic alternative is offered |
11:08 |
kilbith |
*afford |
11:08 |
RealBadAngel |
thx to above we will get two goals |
11:09 |
RealBadAngel |
compability with older hw |
11:09 |
RealBadAngel |
and a way to enable most decent fragment shader models |
11:09 |
RealBadAngel |
version we do support is atm #120, that came with OpenGL v 2.1 |
11:10 |
ShadowBot |
https://github.com/minetest/minetest/issues/120 -- lua_api.txt is missing important stuff |
11:10 |
RealBadAngel |
NINE years ago |
11:10 |
RealBadAngel |
when im lookin at the specs, thats way before dinosaurs were ruling the world |
11:12 |
kilbith |
you're sure that 120 is related ? |
11:13 |
RealBadAngel |
no, its a bot |
11:13 |
RealBadAngel |
i meant glsl version not the pr |
11:22 |
kilbith |
RBA, btw what about the texture displacement patch ? |
11:24 |
RealBadAngel |
killbith, working on it |
11:24 |
RealBadAngel |
its not yet rdy, need a day or two to finish it |
11:25 |
kilbith |
ok cool |
11:29 |
kilbith |
note : this should be modified accordingly now that paramat is maintainer : http://dev.minetest.net/minetest_game_Development |
12:02 |
|
Krock joined #minetest-dev |
12:09 |
|
H-H-H joined #minetest-dev |
12:25 |
|
Etzos joined #minetest-dev |
12:26 |
|
Puma_rc joined #minetest-dev |
12:40 |
|
Dartmouth joined #minetest-dev |
12:57 |
|
crecca joined #minetest-dev |
12:57 |
crecca |
there is this line in the CMakeLists.txt file: |
12:57 |
crecca |
if(EXISTS ${MINETEST_GAME_SOURCE} AND IS_DIRECTORY ${MINETEST_GAME_SOURCE}) |
12:58 |
crecca |
why is there IS_DIRECTORY condition, wouldn't a signle EXISTS suffice? |
13:02 |
crecca |
oh nvm i get it |
13:13 |
|
SudoAptGetPlay joined #minetest-dev |
13:16 |
|
wischi2 joined #minetest-dev |
13:21 |
kilbith |
odd, fullscreen with F11 works with ubuntu but not on archlinux |
13:22 |
sfan5 |
fullscreen with f11? |
13:23 |
sfan5 |
last time i checked irrlicht did not support going to fullscreen without re-creating the context |
13:23 |
kilbith |
yes, plain fullscreen without the WM |
13:23 |
kilbith |
it worked fine on ubuntu really |
13:25 |
crecca |
it doesn't work on debian... |
13:25 |
Amaz |
Doesn't work on Peppermint. (Based on Ubuntu) |
13:25 |
crecca |
are you sure it's not a feature of a window manager? |
13:26 |
kilbith |
likely yes |
13:26 |
kilbith |
but i use the same on arch linux |
13:26 |
Amaz |
f11 works in programs other than minetest for me. |
13:27 |
crecca |
must be the window manager setting then |
13:27 |
crecca |
settings* |
13:28 |
crecca |
i just googled that 3d effects enabled make the f11 go fullscreen |
13:30 |
crecca |
but i find that hard to believe, but most likely a setting somehwere in gconf or smth |
13:36 |
|
kilbith joined #minetest-dev |
13:53 |
|
RealBadAngel joined #minetest-dev |
14:34 |
|
RealBadAngel joined #minetest-dev |
15:11 |
|
RealBadAngel joined #minetest-dev |
15:27 |
|
H-H-H joined #minetest-dev |
15:38 |
|
hmmmm joined #minetest-dev |
15:45 |
crecca |
in the first CMakeLists.txt it says : |
15:45 |
crecca |
if(NOT CMAKE_BUILD_TYPE) |
15:45 |
crecca |
# Default to release |
15:45 |
crecca |
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type: Debug or Release" FORCE) |
15:45 |
crecca |
endif() |
15:45 |
crecca |
and in the second : |
15:45 |
crecca |
set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING |
15:45 |
crecca |
"Choose the type of build. Options are: None Debug SemiDebug RelWithDebInfo MinSizeRel." |
15:45 |
crecca |
FORCE |
15:45 |
crecca |
) |
15:45 |
crecca |
couldn't this be simplified? |
15:46 |
crecca |
bit confusing to me... |
15:52 |
crecca |
wouldn't just using only the second version in the first CMakeLists.txt without the FORCE option be effectively the same? |
15:53 |
|
rubenwardy joined #minetest-dev |
15:54 |
rubenwardy |
http://irc.minetest.ru/minetest-dev/2015-07-12#i_4319406 |
15:54 |
rubenwardy |
Mushrooms aren't plants :P |
16:02 |
kilbith |
i think you need to open a dico for "flora" |
16:04 |
rubenwardy |
flora - flowers |
16:05 |
rubenwardy |
http://dictionary.cambridge.org/dictionary/british/flora |
16:05 |
crecca |
mushrooms are fungi |
16:05 |
crecca |
no more no less |
16:05 |
kilbith |
this definition is incomplete then |
16:05 |
rubenwardy |
http://www.oxforddictionaries.com/definition/english/flora |
16:06 |
rubenwardy |
Shall I get out a physical dictionary? |
16:06 |
kilbith |
wrong, flora implies all the micro-organism and non-vascular flora |
16:06 |
rubenwardy |
Arguing with the dictionary? |
16:06 |
kilbith |
besides, this pedantic discussion is unsuited for this channel |
16:07 |
rubenwardy |
Grass etc are made up of thin stalks and flat leaves, stereotypical mushrooms have mass and are round |
16:07 |
hmmmm |
definitely not a #dev discussion |
16:08 |
rubenwardy |
Yeah, definitely not :P |
16:09 |
|
blaze joined #minetest-dev |
16:13 |
|
paramat joined #minetest-dev |
16:14 |
paramat |
oh cool, yes please |
16:17 |
hmmmm |
heh i have a really simple mapgen change that should improve performance quite a bit |
16:17 |
hmmmm |
but i can't quite test it on singleplayer with almost no lock contention |
16:18 |
paramat |
hi sfan5 are you happy with game#550 ? i guess my own +1 counts but i'd like your comments |
16:18 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/550 -- Default: Add savanna nodes, crafting and fuels by paramat |
16:18 |
paramat |
hmmmmm interesting |
16:19 |
hmmmm |
when blitting map chunks back to the map, don't wait to acquire a lock |
16:19 |
rubenwardy |
paramat: http://pasteboard.co/1UgXb5Xn.png :'( |
16:19 |
rubenwardy |
Did you define inbuilt mapgenerator biomes which assume blocks? |
16:20 |
hmmmm |
instead simply trylock and then if it fails, add the voxelmanipulator to a queue and then the next time the lock does get acquired, blit all of them back at once and free the vmanips |
16:20 |
rubenwardy |
wait |
16:20 |
hmmmm |
rubenwardy, that was @paramat |
16:20 |
hmmmm |
looks like you have quite a bit of content ignore on that map |
16:20 |
paramat |
rubenwardy, use latest mtgame? v6 has snow biomes by default now |
16:21 |
rubenwardy |
You shouldn't assume content |
16:21 |
rubenwardy |
You break compatibility with other subgames |
16:22 |
paramat |
mtgame and the engine are developed together, it's unavoidable |
16:22 |
hmmmm |
i sorta agree with rubenwardy here, paramat |
16:23 |
paramat |
v6 snow biomes were made default by popular demand, i was actually hesitant about that, we could make them disabled by default? |
16:23 |
hmmmm |
if snow biomes are enabled but snow nodes and their backups resolve to content ignore, fall back to dirt with grass or something |
16:23 |
hmmmm |
easy |
16:23 |
paramat |
ah in the ctor |
16:24 |
paramat |
yes of course |
16:24 |
rubenwardy |
Shouldn't minetest_game define the biomes? |
16:24 |
hmmmm |
yes |
16:24 |
paramat |
will fix |
16:24 |
hmmmm |
you see how there's a bunch of if (c_stair_cobble == CONTENT_IGNORE) c_stair_cobble = c_cobble; etc. |
16:24 |
hmmmm |
add those for snow too |
16:24 |
paramat |
yeah |
16:24 |
paramat |
ok thanks i'm learning |
16:25 |
sfan5 |
paramat: the leaves look interesting, also the PR needs a rebase |
16:25 |
hmmmm |
dirt_with_snow -> dirt_with_grass, snow -> air, snowblock -> stone, ice -> water_source |
16:25 |
hmmmm |
rubenwardy, mapgen v6 hasn't been converted to the dynamic biome system yet |
16:26 |
rubenwardy |
Ah |
16:26 |
paramat |
ok thanks sfan |
16:27 |
paramat |
hmmmmm this mapgen speedup is for core or lua mapgen? |
16:45 |
paramat |
ah i guess lua mapgen, because of locks |
17:07 |
|
est31 joined #minetest-dev |
17:11 |
est31 |
hmmmm, VanessaE any results from the testing session besides "OMG nobody will touch the code" and "I would have left minetest if I were you" |
17:22 |
|
RealBadAngel joined #minetest-dev |
17:33 |
rubenwardy |
I used to be able to start a singleplayer game using minetest --worldname world --name singleplayer --go |
17:33 |
rubenwardy |
but this no longer works |
17:33 |
rubenwardy |
actually |
17:33 |
rubenwardy |
1sec |
17:35 |
Krock |
--go works fine here |
17:35 |
rubenwardy |
confirmed |
17:35 |
rubenwardy |
It says "connecting to server..." and then times out |
17:36 |
rubenwardy |
Krock, I mean client wise |
17:36 |
rubenwardy |
--go works fine as a server starter |
17:36 |
rubenwardy |
Using world specified by --worldname on the command line |
17:37 |
rubenwardy |
2015-07-12 18:36:37: ERROR[main]: Connection timed out. |
17:37 |
Krock |
uh, you're right, I also time out |
17:37 |
rubenwardy |
This feature was actually added for me about half a year ago, and now it's been removed :( |
17:37 |
rubenwardy |
updating to latest git, I was a few days old |
17:37 |
Krock |
It's broken, not removed |
17:38 |
rubenwardy |
:P |
17:42 |
|
rubenwardy_ joined #minetest-dev |
17:44 |
est31 |
can sb bisect? |
17:46 |
rubenwardy |
how to reset to a commit in the tree |
17:46 |
rubenwardy |
? |
17:46 |
est31 |
git checkout commitname |
17:46 |
rubenwardy |
ah, thanks |
17:46 |
est31 |
works for commits and branches |
17:48 |
crecca |
to continue my thought on CMake configuration... |
17:48 |
crecca |
if(NOT CMAKE_BUILD_TYPE) |
17:48 |
crecca |
# Default to release |
17:48 |
crecca |
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type: Debug or Release" FORCE) |
17:48 |
crecca |
endif() |
17:48 |
crecca |
this condition here is not needed, you can safely remove it and remove the FORCE option and it will work just the same |
17:51 |
crecca |
separate issue: the docstring and the available set of build types gets nullified by the second CMakeLists.txt in the src/ directory |
17:52 |
crecca |
gets changed* |
17:52 |
est31 |
you should perhaps open a pr which clarifies the cmake files |
17:52 |
rubenwardy |
91f95fd4df82645e23a9734795d11ec9b8e522f8 doesn't work |
17:53 |
crecca |
est31: This part is confusing and I'm not sure what the original author intended to achieve exactly |
17:55 |
crecca |
actually, you're the original author :) |
17:55 |
est31 |
what |
17:55 |
est31 |
crecca, where again |
17:56 |
est31 |
rubenwardy, is that the breaking commit? |
17:56 |
rubenwardy |
no, that's one that doesn't work |
17:56 |
crecca |
git blame -L 47,50 CMakeLists.txt says ^cb8978f (est31 2015-07-09 08:23:08 +0200 47) if(NOT CMAKE_BUILD_TYPE) |
17:56 |
rubenwardy |
I'm going back a few pages to find another, then I'll bisect |
17:57 |
est31 |
that cant be |
17:57 |
crecca |
weird |
17:57 |
est31 |
cb8978f doesnt do anything with the cmakelists.txt |
17:58 |
crecca |
maybe im using git-blame wrong |
17:58 |
est31 |
crecca, for me it does 359e575b (Perttu Ahola 2011-01-09 00:49:32 +0200 47) if(NOT CMAKE_BUILD_TYPE) |
17:58 |
est31 |
crecca, did you do a shallow clone? |
17:58 |
crecca |
hmm |
17:58 |
crecca |
yup |
17:58 |
crecca |
that's it |
17:58 |
est31 |
then thats your problem |
18:00 |
crecca |
yea my mistake |
18:17 |
|
err404 joined #minetest-dev |
19:05 |
|
paramat left #minetest-dev |
19:19 |
est31 |
nore, any time to look at #2898 |
19:19 |
ShadowBot |
https://github.com/minetest/minetest/issues/2898 -- Add AreaStore data structure by est31 |
19:22 |
nore |
est31: in doc/lua_api.txt, line 2602: what is accept_overlap? |
19:23 |
est31 |
you mean for get_areas_for_area? |
19:23 |
est31 |
the scan can be in two modes |
19:23 |
est31 |
if accept_overlap = true, it looks for areas which overlap the current area |
19:23 |
nore |
I mean: it is not clear how you pass that argument |
19:24 |
est31 |
ah |
19:24 |
est31 |
definition copied wrong |
19:24 |
est31 |
https://github.com/minetest/minetest/pull/2898/files#diff-4fde6f7d68599493c8fe6b5d4a6aa33aR129 |
19:24 |
est31 |
should be this ^ |
19:25 |
nore |
ah, ok |
19:27 |
nore |
for AST_OVERLAPS_IN_DIMENSION, I would suggest the more efficient and simpler !((amine.d > b->maxedge.d) || (amaxe.d < b->minedge.d)) |
19:29 |
est31 |
ok |
19:29 |
nore |
(ehm... is it normal that AST_OVERLAPS_IN_DIMENSION returns false if b is contained in amin->amax?) |
19:30 |
nore |
if it is, don't use my version |
19:30 |
nore |
but from what I understand, it should return true |
19:31 |
nore |
(I mean: if amine.d < b->minedge.d < b->maxedge.d < amaxe.d, it returns false right now) |
19:31 |
est31 |
yea, it doesnt matter |
19:32 |
nore |
also: is there a particular reason why you use macros and not inline functions? |
19:32 |
est31 |
because the only place its used, is with || AST_CONTAINS_AREA |
19:32 |
est31 |
inline functions copy stuff the arguments, no? |
19:32 |
est31 |
-stuff |
19:33 |
nore |
I think it is optimized |
19:33 |
nore |
and you still can pass arguments to those functions by reference (const & arg) |
19:34 |
nore |
<est31> yea, it doesnt matter <-- it does |
19:34 |
est31 |
where |
19:35 |
nore |
if I have aminx < bminx < bmaxx < amaxx and bminy < aminy < amaxy < bmaxy, your code doesn't work |
19:35 |
nore |
because neither a nor b is contained in the other |
19:35 |
nore |
but AST_OVERLAPS returns false :/ |
19:35 |
est31 |
ah |
19:35 |
est31 |
I see |
19:36 |
est31 |
yea, then your solution has to be used |
19:37 |
nore |
(this solution is imho the simplest way to check interval intersection) |
19:37 |
nore |
(but if you find simpler, then I'm interested ^^) |
19:37 |
est31 |
well it has 2 comparisons, and 2 boolean operations |
19:38 |
est31 |
applying de morgan can eliminate 1 boolean operation |
19:38 |
nore |
yep, that's what I'm expecting from the compiler |
19:38 |
est31 |
yea |
19:40 |
nore |
btw, what data structure does spatial use? |
19:41 |
est31 |
R* |
19:41 |
est31 |
R* tree |
19:41 |
est31 |
link in PR description |
19:42 |
nore |
reading a bit about it :) |
19:46 |
est31 |
restarting computer |
19:50 |
|
est31 joined #minetest-dev |
19:52 |
* VanessaE |
peeks in |
19:59 |
|
OldCoder joined #minetest-dev |
20:07 |
|
err404 joined #minetest-dev |
20:23 |
|
AnotherBrick joined #minetest-dev |
20:55 |
|
blaze` joined #minetest-dev |
21:31 |
|
johnnyjoy joined #minetest-dev |
21:33 |
|
paramat joined #minetest-dev |
21:33 |
|
MinetestForFun joined #minetest-dev |
21:34 |
paramat |
now pushing game 550 |
21:34 |
|
MinetestForFun joined #minetest-dev |
21:35 |
VanessaE |
game#550 |
21:35 |
ShadowBot |
https://github.com/minetest/minetest_game/issues/550 -- Default: Add savanna nodes, crafting and fuels by paramat |
21:39 |
VanessaE |
paramat: oh btw, I will eventually be tweaking moretrees to just use the default nodes for acacia and pine, and I'll be discarding the textures it carries for those. |
21:39 |
VanessaE |
just haven't gotten around to it yet. |
21:39 |
paramat |
okay |
21:46 |
paramat |
complete |
21:55 |
est31 |
hmmmm, paramat cavegen is limited at mapchunk borders because otherwise it could carve into existing structures, no? |
21:56 |
|
AnotherBrick joined #minetest-dev |
22:21 |
paramat |
the pseudorandom caves actually overgenerate by up to 16 nodes |
22:22 |
paramat |
then 'is ground content' was added to protect nodes from cavegen |
22:26 |
paramat |
to protect mod nodes placed in 'on generated' from cavegen extending from a neighbouring mapchunk that is generated later |
22:28 |
kilbith |
paramat: it's ok to have one tree and one flower for simplicity ? |
22:35 |
paramat |
now, i don't mind having 2 mushrooms |
22:36 |
kilbith |
only one would be boring, two is syndical minimum :P |
22:41 |
paramat |
from working on mapgen, sometimes (like today) i get overly concerned about having too many decorations, for performance reasons |
22:41 |
paramat |
but 2 is fine |
22:41 |
est31 |
why would that inibit performance |
22:42 |
kilbith |
the brown needs a friend anyways |
22:43 |
paramat |
est, mgv5/v7 tunnels are 3D noise so are limited to the mapchunk. the pseudorandom caves were made to overgenerate in the hope they would link up to form networks |
22:44 |
paramat |
every deco adds a tiny amount of processing, especially if each has a 2D noise controlling it's density |
22:46 |
paramat |
from working lua mapgens i still have this habit of extrme efficiency =) |
22:46 |
paramat |
(extreme) |
22:46 |
|
RealBadAngel joined #minetest-dev |
22:47 |
RealBadAngel |
howdy folks |
22:47 |
kilbith |
hey |
22:49 |
RealBadAngel |
im just reading comments to prs |
22:49 |
RealBadAngel |
why are you against proper, mesh mushrooms? |
22:50 |
kilbith |
all details in comments |
22:50 |
est31 |
btw what about proper torches |
22:50 |
est31 |
mesh for now |
22:50 |
RealBadAngel |
we can have the on sight |
22:50 |
kilbith |
est31: extruded torches incoming (?) |
22:50 |
RealBadAngel |
i made them several months ago |
22:50 |
est31 |
if/when we have extrusion, we can make them extruded |
22:50 |
kilbith |
this is more flexible |
22:50 |
est31 |
but for now mesh ones |
22:51 |
RealBadAngel |
http://i.imgur.com/ECELl3Y.png |
22:51 |
RealBadAngel |
^^mushrooms |
22:51 |
est31 |
and if you say that texture packs cant "texturize" mesh nodes, we should add it as feature for the texture packs |
22:51 |
kilbith |
people complained of performance drops on the BlockMen mesh torches |
22:52 |
est31 |
RealBadAngel, no these are ugly |
22:52 |
est31 |
I like blocky ones |
22:53 |
|
troller joined #minetest-dev |
22:53 |
|
wischi joined #minetest-dev |
22:53 |
kilbith |
est31, you can texturize mesh but it only works with the same model |
22:53 |
|
sloantothebone joined #minetest-dev |
22:53 |
kilbith |
people can't use different UV maps |
22:53 |
kilbith |
for the same model |
22:54 |
est31 |
whats uv maps |
22:54 |
kilbith |
hmmm, i'm trying to make an analogy for explain |
22:55 |
kilbith |
this is the "unrolled faces" of the model |
22:55 |
kilbith |
then you can apply textures to specific location of that uv-map |
22:56 |
kilbith |
https://en.wikipedia.org/wiki/UV_mapping |
22:57 |
kilbith |
as i'm 3D modelizer myself, i can say it's a no-go for flexibility |
22:57 |
est31 |
so why not simply allow texture packs to change the model? |
22:58 |
kilbith |
you don't textures packs for that |
22:58 |
kilbith |
you simply need to put your model in /models |
22:58 |
VanessaE |
est31: I asked for that months ago. |
22:58 |
VanessaE |
and you can texture a model in a texture pack just fine. |
22:58 |
kilbith |
but dealing with blender is way harder than drawing in gimp |
22:58 |
VanessaE |
there's nothing different there than anywhere else, the textures are just perhaps bigger. |
22:59 |
RealBadAngel |
sorry had to go out with trashcan |
22:59 |
VanessaE |
if you're careful about designing your models so that they have multiple materials, one per section of the model (max 6) you can often get the textures that go onto those sections to be just 16x16 px |
22:59 |
RealBadAngel |
http://i.imgur.com/6kkxmnQ.png |
23:00 |
kilbith |
it's too complicate for the regular users really |
23:00 |
VanessaE |
RealBadAngel: extruded torches are a dead subject. |
23:00 |
VanessaE |
kilbith: the whole damn GAME is too complex for regular users. |
23:00 |
VanessaE |
except for playing it of course. |
23:00 |
RealBadAngel |
even when theyre animated? :) |
23:00 |
kilbith |
no, every moron can draw in gimp |
23:00 |
VanessaE |
RealBadAngel: even when animated. look at homedecor's 3dforniture torch for a better example of how it should be done. |
23:01 |
VanessaE |
and it is animated too |
23:01 |
kilbith |
we are only a small bunch to make sophisticated models with blender |
23:01 |
kilbith |
that's it |
23:01 |
RealBadAngel |
so make it |
23:01 |
est31 |
kilbith, we are only a small bunch to make sophisticated source code written in c++ |
23:01 |
kilbith |
also homedecor's torch is metal one |
23:01 |
est31 |
most of our devs dont know c++ |
23:02 |
RealBadAngel |
but when we will have a mesh for it, forget bout backwards compability |
23:02 |
kilbith |
est31, mods are not made in c++ |
23:02 |
est31 |
s/devs/community members/ |
23:02 |
RealBadAngel |
its a proper way to do so, but compability with tps and games is impossible |
23:05 |
kilbith |
est31, c++ allows to make smarted code but you would not want that for mods - same goes for 3d models vs 2d |
23:05 |
kilbith |
smarter code* |
23:06 |
est31 |
difference is, there arent that much nodes you would have to model |
23:06 |
est31 |
imagine what you could do |
23:06 |
RealBadAngel |
youre wrong with one thing kilbith |
23:06 |
est31 |
eg you can make leaves meshnodes |
23:06 |
est31 |
and make them "bushier" |
23:06 |
est31 |
like kenney did |
23:06 |
RealBadAngel |
meshes are faster than most of the drawtypes |
23:07 |
RealBadAngel |
r2d2 model, having 2k faces is about same speed as stairs nodebox |
23:08 |
kilbith |
well, when performance does matter in that case yes |
23:08 |
est31 |
kilbith, how many texture packs exist? |
23:09 |
kilbith |
10-15, but there is also the custom textures of circumstances on servers |
23:09 |
est31 |
its really stupid to restrict texture packs to not be abled to customize models just because "its hard to make 3d models" |
23:09 |
VanessaE |
kilbith: my torch is only metal because that's how I textured it, but wood texture would look fine too I'm sure |
23:10 |
est31 |
so lets suck and put a 2d flat texture into the world |
23:10 |
VanessaE |
but my point was that it's an *example* |
23:10 |
VanessaE |
I did not say to use that specific model |
23:10 |
paramat |
if a mushroom was defined as a very simple nodebox of 3 cuboids, would the texturing be as simple as for example slabs?: 16x16 top, base, side textures that get projected onto the nodebox |
23:10 |
VanessaE |
it just shows how you can make a torch that looks perfectly fine, including the animated flame, without extruding |
23:11 |
kilbith |
VanessaE: no because there is bevel on top that is unexisting with a burning wood stick |
23:11 |
RealBadAngel |
making good texture or an object requires skills no matter what |
23:11 |
VanessaE |
kilbith: it's an example! jeez |
23:11 |
kilbith |
sure |
23:11 |
VanessaE |
just use the IDEA, not the MODEL. |
23:11 |
* VanessaE |
falls over |
23:11 |
RealBadAngel |
keeping simple 16px rule and 2d nowadays is overkill? nah, its shooting own leg |
23:14 |
paramat |
nodebox plants are only suitable if ultra-low resolution, like OCD game https://github.com/bas080/OCD_nodes/raw/forum/screenshot_2.png note mushrooms |
23:15 |
VanessaE |
paramat: oh G*D no, ANYTHING but that |
23:15 |
VanessaE |
(sorry bas080) |
23:15 |
est31 |
I like it, if the textures would be nicer |
23:16 |
paramat |
well i mean in terms of resolution |
23:16 |
est31 |
perhaps a *bit* higher |
23:16 |
est31 |
but generally ok |
23:16 |
paramat |
yeah |
23:17 |
paramat |
1/16th microvoxels are too small |
23:17 |
paramat |
i would limit to 1/8th |
23:17 |
kilbith |
else something like that : http://pastie.org/10288870 |
23:17 |
est31 |
1/16th is ok i think |
23:17 |
kilbith |
with an option "fancy nodes", if selected -> set mesh |
23:18 |
est31 |
or we make that through texture packs |
23:25 |
RealBadAngel |
youre all seems to be confused |
23:26 |
RealBadAngel |
you have the tools to make it look right |
23:26 |
RealBadAngel |
but still want that 16px |
23:27 |
RealBadAngel |
sorry guys, sad but true, atari is dead ;) |
23:27 |
RealBadAngel |
we have to move on ;) |
23:28 |
RealBadAngel |
anyway, on the other side, we do have now a few proper normalmaps in the game |
23:28 |
kilbith |
there are basically two philosophies here |
23:28 |
RealBadAngel |
i would like to get some feedback |
23:28 |
kilbith |
the one all for minimalism, and the other for complete realism |
23:29 |
kilbith |
i'd say : nothing in extremes |
23:30 |
RealBadAngel |
kilbith, go watch "the librarians" |
23:31 |
RealBadAngel |
are you familiar with those movies? |
23:31 |
kilbith |
nope |
23:31 |
RealBadAngel |
there are 3 full length movies and 2 seasons |
23:32 |
RealBadAngel |
point is, while the job can look conservative, its not |
23:33 |
RealBadAngel |
you have to keep up with standards |
23:33 |
RealBadAngel |
and be open even for science fiction |
23:33 |
kilbith |
conservatism is a way to stand on solid base that did its proves in the time |
23:34 |
kilbith |
*proofs |
23:34 |
|
ShadowBot` joined #minetest-dev |
23:35 |
VanessaE |
yes but if all you ever have is the solid base, and build nothing on top of it, what's the point of having it at all |
23:35 |
kilbith |
problem is that our base is not that overall solid enough |
23:35 |
RealBadAngel |
please take a look at merged normal maps |
23:35 |
VanessaE |
I'd say it is,. |
23:35 |
VanessaE |
the engine on the other hand, still needs some work. |
23:36 |
RealBadAngel |
are they of good quality? |
23:36 |
VanessaE |
but what we have is perfectly fine as a base |
23:36 |
RealBadAngel |
are they or not? |
23:37 |
VanessaE |
what I saw in the screenshots was, RealBadAngel. |
23:37 |
kilbith |
it's fine yes |
23:37 |
RealBadAngel |
me in the textures? ;) |
23:37 |
kilbith |
except the clipped edges |
23:37 |
VanessaE |
but I hope using a texture pack that has no normals support isn't going to interfere |
23:37 |
kilbith |
RealBadAngel: what happens if someone change the default textures someday ? |
23:37 |
kilbith |
will you be there for changing the normal maps ? |
23:38 |
kilbith |
because it will be fucked up if not |
23:38 |
RealBadAngel |
he will have to change all the textures |
23:38 |
kilbith |
exact... |
23:38 |
kilbith |
more pain |
23:38 |
|
johnnyjoy joined #minetest-dev |
23:38 |
RealBadAngel |
diffuse, normal, specular and heightmap |
23:38 |
|
Yepoleb joined #minetest-dev |
23:38 |
RealBadAngel |
specular is not yet in |
23:38 |
RealBadAngel |
also metallic |
23:39 |
kilbith |
i'm not sure that everyone has this knownledge for making normalmap |
23:39 |
RealBadAngel |
who have told you that texturing is easy? |
23:39 |
VanessaE |
RealBadAngel: you didn't answer my query. |
23:39 |
RealBadAngel |
he lied |
23:39 |
kilbith |
texturing is easy, normalmapping not |
23:39 |
paramat |
why are these normalmaps 256px for 16px textures? curious |
23:39 |
VanessaE |
will these default normalmaps interfere with texture packs that don't supply normals? |
23:39 |
|
johnnyjoy joined #minetest-dev |
23:39 |
VanessaE |
paramat: sharpness. |
23:39 |
VanessaE |
a 16px normalmap would result in rounded edges |
23:39 |
RealBadAngel |
paramat, 16px doesnt hold enough data |
23:40 |
RealBadAngel |
16px normal map just wont work |
23:40 |
RealBadAngel |
out of definition |
23:40 |
|
johnnyjoy joined #minetest-dev |
23:40 |
paramat |
ah |
23:40 |
RealBadAngel |
autogen works on effective resolution 512px |
23:41 |
RealBadAngel |
256px for supplied maps is a compromise |
23:41 |
RealBadAngel |
but not down direction, it should be even higher |
23:42 |
RealBadAngel |
nowadays engines are using texs 2048 and higher |
23:42 |
paramat |
now pushing new ice texture to game |
23:43 |
VanessaE |
RealBadAngel: Minetest would collapse under such huge textures. |
23:43 |
VanessaE |
irrlicht would have a heart attack |
23:46 |
paramat |
complete |
23:49 |
paramat |
phew busy day. i'll push RBA's simple leaves textures later |
23:49 |
|
sloantothebone joined #minetest-dev |
23:50 |
|
sloantothebone joined #minetest-dev |
23:51 |
|
sloantothebone joined #minetest-dev |