Minetest logo

IRC log for #minetest-dev, 2015-05-20

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

All times shown according to UTC.

Time Nick Message
00:23 Player_2 joined #minetest-dev
00:40 RealBadAngel joined #minetest-dev
00:58 hmmmm !seen paramat
00:58 ShadowBot hmmmm: I saw paramat in #minetest-dev 1 day, 22 hours, 8 minutes, and 50 seconds ago saying "per node force place confirmed working, no more tree trunks removed by a nearby tree's leaves"
00:58 hmmmm hrmm
00:58 * hmmmm scratches head
01:04 hmmmm heh... the logic in generateBiomes is quite messy, but i'll admit it works very well
01:13 paramat joined #minetest-dev
01:13 paramat hiya
01:13 RealBadAngel hi
01:13 hmmmm hi
01:13 hmmmm do you continuously monitor the logs or something
01:13 RealBadAngel hehe
01:14 paramat heh i just happened to look
01:14 * VanessaE peeks in also
01:14 RealBadAngel rotfl
01:14 RealBadAngel who else gonna pop up? :)
01:15 hmmmm meh
01:15 hmmmm in any case I'm in the process of generalizing generateBiomes() and making it part of the BiomeManager
01:15 paramat 'messy but works very well' is good code?
01:15 hmmmm wondering if it makes sense from an organizational standpoint to place symbolic content_t values in the voxelmanipulator instead of actual stone, water, and air
01:16 paramat ah
01:16 hmmmm it's good code because it works :)
01:16 paramat quite right
01:16 hmmmm hard to follow and a some redundancy but it works
01:16 hmmmm something that i couldn't do :p
01:17 hmmmm anyway
01:17 paramat my only concern is different/future mapgen may need generate biomes to work differently
01:18 hmmmm they'd either override the biomemanager's version or define a new version inside biome manager
01:18 paramat okay cool
01:18 hmmmm hmm
01:18 paramat i think they're identical for mgv5/v7 currently
01:18 hmmmm i want to decouple air from the constant CONTENT_AIR
01:18 hmmmm using mapgen_air is a decent start
01:18 hmmmm but should biomes have their own air?
01:19 hmmmm in particular what I'm thinking of is a space biome that has vaccum instead of air so the player would suffocate
01:19 hmmmm or maybe a swamp gas air
01:25 paramat yeah vacuum nodes replacing air would be good, very useful
01:25 paramat and in line with c55's roadmaps
01:26 hmmmm well it's easy to decouple air from the constant
01:26 hmmmm but per-biome air?
01:26 paramat not sure it needs to be per-biome..
01:27 hmmmm okay, done
01:27 paramat air or vacuum seems more of a per-realm thing
01:27 hmmmm i'll keep that in mind
01:28 hmmmm realms are still an idea that's going to happen
01:28 hmmmm it's just very much on the backlog
01:28 paramat usually defined by y
01:28 paramat good
01:28 paramat so per stacked realm
01:29 hmmmm https://github.com/minetest/minetest/blob/master/src/mapgen_v7.cpp#L618
01:29 hmmmm about this
01:29 hmmmm do you have any reasoning in particular for checking CONTENT_IGNORE and CONTENT_AIR?
01:30 paramat 'symbolic content_t values in the vm' are these needed when biome API can replace stone and water with anything we want?
01:30 * paramat looks
01:30 hmmmm not really no
01:31 hmmmm the idea is to have generateTerrain place constant values instead of real content_t values from nodedefmanager
01:31 hmmmm and then the biomemanager looks for those constants when making node placement decisions
01:32 paramat yeah line 618 is for detecting a solid or water node to detect the next upper surface encountered while working downwards
01:32 paramat that's the bit that recalculates biomes for each new upper surface
01:33 hmmmm right so the condition for that block is actually, in words, "is there a new surface I'd need to recalculate biomes for"
01:33 hmmmm ?
01:33 paramat yeah
01:33 hmmmm hmm
01:33 paramat has to work for liquids too
01:34 paramat oh and the 'y==node_max.y' bit is to make sure to calculate if the top node is already an underground node
01:35 hmmmm have_air should really be renamed is_not_surface
01:36 hmmmm the extra y==node_max.y logic shouldn't necessarily be there
01:36 hmmmm that's just to ensure that values are initialized at least once
01:36 paramat erm
01:36 hmmmm ?
01:37 paramat yes it's necessary
01:38 paramat if top node and overtop were both underground, have_air would be false, then biomes will not be calculated to set correct stone
01:39 paramat also it avoids calculating biome for chunks containing only air
01:39 paramat so faster than always calculating at the top of each column
01:40 paramat not sure if ignore should be there though
01:44 hmmmm I mean if that same block of logic is always executed outside of the Y loop
01:44 hmmmm just once
01:44 hmmmm and then inside of the Y loop it's only ever recalculated if there's a change in have_air
01:45 hmmmm as it stands right now, if all columns are air, it recalculates the biome at that point every time
01:45 hmmmm ahh or not, it avoids this extraneous recalculation because of the c == CONTENT_AIR check
01:47 paramat yeah
01:47 hmmmm it's all very clever
01:47 hmmmm but not so intuitive
01:47 hmmmm what i'm trying to do right now is find ways that it could be written to make it both work well and intuitive
01:48 hmmmm comments :)!
01:48 paramat i just saw.. water sets have_air to true, which possibly means recalculation for every water node
01:48 hmmmm that's true
01:48 hmmmm see what you're actually trying to describe with logic is
01:48 hmmmm "was there a change in have_air statuses"
01:49 paramat i think water should set have_air to false
01:49 paramat (if that works)
01:50 hmmmm looking at it, i think it should work because have_air is only ever interpreted in the biome recalculation and when placing stone
01:50 paramat since a biome has definitions for water node and the solid nodes in the seabed, the last recalculation should be at water surface
01:50 hmmmm you want to avoid recalculating when it hits water, and the latter case doesn't matter since its status would change once it does hit ground
01:51 paramat no recalculation is needed when hitting water, because of definable water nodes
01:54 paramat .. and is not needed aganin because that one selected biome takes care of the seabed nodes too
01:55 paramat yeah there is some repetition of code for stone :)
01:55 paramat but it seemed to be needed
01:56 hmmmm I cut down on that
01:56 paramat fine, as long as it works the same
01:57 paramat im fairly sure water should set have_air to false, if it works
01:58 paramat otherwise every water node triggers recalculation
01:58 hmmmm what i'm doing is separating biome logic from mapgen logic
01:59 hmmmm so noise_heat and noise_humidity get separated out into the biome manager
01:59 hmmmm except the biome manager is not made for concurrency, so each instance of the heat/humidity noises needs to be bound per-mapgen
02:00 hmmmm so there'd be a Biome... Provider object?  that is a member of each mapgen
02:00 hmmmm looking for a better name than BiomeProvider
02:01 hmmmm anyway this BiomeThing would have its own copy of the noises for creating biomes, as well as a link to the biome manager
02:02 paramat i see
02:18 paramat so yes i do check IRC logs every hour or so, i prefer that to always being connected, IRC still makes me a little nervous and i can concentrate more when i know i won't be interupted
02:23 RealBadAngel guys, what about makin minimap not just an engine feature but a craftable item?
02:25 est31 joined #minetest-dev
02:25 * est31 is a log checker too
02:25 est31 RealBadAngel, nice idea
02:25 est31 what about making it settable by lua?
02:25 Wayward_Tab joined #minetest-dev
02:25 est31 (like other hud elements)
02:26 RealBadAngel thats what im talkin about, my code could provide just texture for use in mods
02:26 est31 also inside formspec?
02:27 RealBadAngel i think thats possible
02:28 RealBadAngel lemme check something
02:34 RealBadAngel yea, i can do that
02:35 paramat hmmmm actually i think mapgen base terrain nodes should not be hardcoded to mapgen aliases but be flexible and definable per-realm, because various realms will need different stone nodes and generatebiomes only alters surface chunks and above
02:36 paramat on that subject i realise generatebiomes should act on the chunk layer below surface chunks too, because mgv5 oceans reach down a long way
02:37 paramat maybe even the 2 chunk layers below surface chunks
02:37 est31 what about this vacuum stuff
02:39 paramat i will try to add a vacuum node to MTGame
02:39 est31 but what is it about
02:39 est31 what does it differ from air?
02:39 * paramat suffocates
02:39 est31 lol
02:41 paramat to make use of MT's height we need stacked realms, as the next structure up in size from biomes. each realm will have ymin, ymax and have it's own set of biomes and base terrain nodes, including of course definable air
02:42 paramat here's my vacuum node https://github.com/paramat/moonrealm/blob/master/nodes.lua#L88
02:43 paramat then my spacesuit resets player breath to max every second or so via globalstep
02:46 paramat concerning the depth generatebiomes acts to, the condition for filler, heat, humidity noises in calculatenoise needs editing too
02:47 paramat craftable minimap is good, due to it's magical/cheating radar function it should have an expensive recipe
02:52 RealBadAngel i will just have to tweak texture source, to be able to pass texture names from lua without lookin for them on disk in the first place
02:53 RealBadAngel lets say if name starts with "!" it could skip searching for it and just accept the name
02:53 paramat okay mgv5 genbiomes needs to act down to y=-192 (2 chunks below surface chunk) mgv7 down to y=-112 (1 below surface chunk) ugh so much fixing to do
02:54 RealBadAngel this way i can generate "!minimap_image" on the fly and mods could use it, on hud, in formspecs or whatever
02:55 paramat to work with mapgens with deep oceans or custom noise params best enable down to y=-192 for everything
03:08 OldCoder joined #minetest-dev
03:12 paramat left #minetest-dev
03:17 hmmmm i can totally identify with paramat.
03:17 hmmmm irc is a huge distraction.  i blow away so much time talking to people
03:24 VanessaE it can be, but sometimes talking helps work out whatever it is you're trying to do - or it just gives your mind a break
03:26 hmmmm i take way too many breaks
03:26 hmmmm it's a sucky feeling
03:26 VanessaE I know what you mean.
03:41 Hunterz joined #minetest-dev
04:02 Hijiri joined #minetest-dev
04:21 VanessaE joined #minetest-dev
04:26 Hunterz joined #minetest-dev
05:35 est31 I guess 33% of all map data stored can be saved if we abandon per-mapblock id-name mapping
05:36 est31 perhaps more, perhaps less
05:36 est31 but roughly
05:38 est31 we can "spare" a block of 16^3 = 4096 ids
05:39 est31 so that when a map-global nameid mapping is full, we can use ids from that block instead
05:39 est31 (fall back to normal serialisation)
05:39 Calinou joined #minetest-dev
05:44 Hunterz joined #minetest-dev
05:44 OldCoder joined #minetest-dev
05:49 est31 ok perhaps 10-20%
06:20 jin_xi joined #minetest-dev
06:44 kilbith joined #minetest-dev
06:53 chchjesus joined #minetest-dev
07:03 hmmmm est31:  thanks for at least taking a look at it :p
07:04 hmmmm I think a lot of people are scared to touch the current map format which has this extreme philosophy of containing exactly only one kind of data
07:06 est31 how do you mean that hmmmm?
07:07 hmmmm right now the map db ONLY contains position hashes -> serialized mapblocks
07:07 hmmmm and the serialized mapblock is a self-contained entity that can be swapped in or out of other map dbs
07:07 leat joined #minetest-dev
07:08 hmmmm that's a nice design, but like you said before, it must necessarily lead to redundancies
07:08 hmmmm by the very nature of context vs. no context
07:09 RealBadAngel VanessaE, those levers are COOL
07:09 est31 yea
07:09 VanessaE thanks
07:09 hmmmm data with no context has no dependencies and are self-explanitory, stateless, but they must somehow carry that same information (either implicitly or explicitly) needed to make sense of it
07:10 est31 yea
07:10 hmmmm stateful data, like you said, having a global nameid/content map, is more efficient since that context is shared across all
07:10 hmmmm statelessness is an ideal to strive toward but it's not realistic in most scenarios
07:11 est31 the second thing I wonder about is this old idea of not storing the data themselves, but a diff to mapgen, and mapgen parameters.
07:11 hmmmm yeah..
07:11 hmmmm there are big issues with that
07:11 hmmmm it's so sensitive to quirks and everything lining up precisely between the server and the client
07:12 hmmmm believe me; I wanted to do the same
07:12 est31 I'm mostly targeting disk
07:13 RealBadAngel that would mean client and server running  exactly the same version
07:13 est31 yea, we would need a way to simulate older versions for mapgen
07:14 hmmmm that'd be a nightmare
07:14 est31 yea
07:14 hmmmm emulating every single quirk
07:14 hmmmm I guess this would be doable if the mapgen were more-or-less an afterthought, as is the case with most other block games
07:14 est31 idea perhaps would be to modularize mapgen, and then just copy the old source
07:21 hmmmm mapgen changes waaay too often for that to be plausible :p
07:21 est31 every stable release we copy off
07:21 est31 for git versions, we store the data like the old way
07:22 hmmmm that's really complex you know
07:22 Darcidride joined #minetest-dev
07:23 est31 yea :(
07:23 hmmmm i've been sticking to simpler designs for things lately
07:23 hmmmm the simpler the better
07:24 celeron55 the only way to make that happen would be to store the mapgen as some kind of a bytecode program in the world data... and compile it more efficiently than LuaJIT to be used to generate stuff
07:24 celeron55 which is kind of rocket science
07:25 hmmmm celeron
07:25 hmmmm i caught you
07:25 hmmmm now tell me why peer_ids aren't associated with a Player until it's attached to a PlayerSAO
07:25 hmmmm :/
07:25 celeron55 i don't know
07:25 hmmmm I don't understand the reasoning behind it, and I guarantee that if it gets changed without me completely understanding why, it's going to break things in subtle and horrible ways
07:26 celeron55 i can guarantee it has changed quite a lot since i last touched it
07:26 hmmmm well okay :)
07:26 est31 yea thats an approach too celeron
07:27 hmmmm lol
07:27 hmmmm if we move all mapgens out to lua that'd be totally plausible
07:27 est31 (to the "ship mapgen with map" idea)
07:27 hmmmm now hold on
07:27 hmmmm just because it's technically doable doesn't mean we should do it
07:27 hmmmm how is what we currently bad?
07:28 hmmmm currently have bad*
07:28 celeron55 i'm not really proposing anyone would do that (except as an interesting experiment)
07:28 hmmmm maybe with buildat
07:28 est31 to optimize map size on disk
07:28 hmmmm and forfeit 2.5x the performance of a core mapgen
07:29 hmmmm --;
07:29 est31 buildat has a c++ compiler
07:29 hmmmm erm
07:30 hmmmm I said that because buildat is a true framework-based voxel thing
07:30 celeron55 ....eeehm, yeah, sure, load a world you downloaded from the internet so that parts of it are compiled to native code?
07:30 hmmmm it has scripting on both sides and is what minetest should be
07:30 est31 if it also uses git, it could be used to checkout the needed revision of the mapgen and compile it
07:30 hmmmm in *theory*
07:30 celeron55 that's a complete security disaster
07:30 est31 there are sandboxes for that
07:30 hmmmm buildat is also for highly experimental type things
07:31 hmmmm that would be the perfect playground for this sort of concept
07:31 celeron55 i don't think anyone has the resources to develop buildat though, it's a bit weird to push things there
07:31 celeron55 just stick with what works i guess
07:31 est31 the most efficient compression for a pseudorandom function's output is shipping the program coding the function together with the input params
07:32 hmmmm dunno
07:32 hmmmm it's the most efficient but also quite problematic
07:33 celeron55 people need more freedom than just a few noise functions
07:33 hmmmm if you want to pursue the idea, i'd suggest waiting until client side modding is here and mature
07:33 est31 lol
07:33 hmmmm :p
07:33 hmmmm like a year maybe
07:33 hmmmm or two
07:33 est31 you want that it never gets made :)
07:33 hmmmm hey I'm working my butt off
07:34 hmmmm I have a full time job as well btw
07:34 est31 was a joke dude
07:37 srifqi joined #minetest-dev
07:37 Player-2 joined #minetest-dev
07:38 Calinou client-side modding is literally our “modding API” private joke
07:38 * Calinou looks at Mojang
07:38 hmmmm come on man
07:38 hmmmm I'm starting it right after I do this
07:46 hmmmm fwahh
07:47 hmmmm transformed this https://github.com/minetest/minetest/blob/master/src/mapgen_v7.cpp#L603    into this http://fpaste.org/223673/32107954/
07:47 celeron55 i actually have a secret project somewhat related to that but i have worked on it only for one day so far and no, i won't tell more because i don't want any pressure on it
07:48 hmmmm celeron's got the right idea
07:48 hmmmm minetest used to be no pressure a long time ago
07:49 hmmmm just some odd finnish guy working on a cool game, people were pleased with whatever new cool thingie he came out with next
07:49 celeron55 just do stuff on your own if you feel like it and then publish it however you want; upstream will sort itself out when the time comes
07:52 est31 I'm just looking for ways to improve minetest
07:52 hmmmm i'll tell you how to improve minetest
07:52 hmmmm voxel area entities
07:53 hmmmm it's the biggest most coolest feature i'll never get around to
07:54 est31 how do you think should their physics be implemented?
07:54 hmmmm erm
07:54 hmmmm like a regular SAO
07:54 celeron55 deciding about physics is part of making them
07:54 est31 most likely we'll have to do it ourselves, dont we
07:54 celeron55 8)
07:54 hmmmm I'm not really sure what you mean by physics
07:54 hmmmm do you want them to break apart or something?
07:55 est31 no, only basic stuff
07:55 est31 like ships
07:55 est31 they should swin
07:55 est31 m*
07:55 hmmmm yeah hrmm
07:55 hmmmm there's a prerequisite
07:55 est31 and best that they stop when there's land
07:55 hmmmm active objects should have a 'buoyancy' attribute
07:55 hmmmm that's trivial to add, is it not??
07:56 est31 ?
07:56 hmmmm it's a boolean, or maybe an integer
07:56 hmmmm if it's set, it won't go through liquid nodes
07:56 hmmmm fall
07:56 hmmmm i mean
07:56 hmmmm so it'll hit a shoreline and then just stop
07:57 celeron55 i'd actually suggest a kind of different approach to things than the "hype stuff up and never get it done" way some people do: assume you will fail, but try anyway
07:57 hmmmm right now, all active objects just fall through liquid nodes
07:57 RealBadAngel https://www.youtube.com/watch?feature=player_embedded&v=ZGYaQPIiq84
07:57 hmmmm so anyway buoyancy could be an integer
07:57 Robert_Zenz joined #minetest-dev
07:58 hmmmm this integer his how many nodes of water deep the active object will sink
07:58 hmmmm that's how I would personally handle the physics of ships :)
07:58 hmmmm but yeah, the primary idea here is that a group of nodes on the map get selected by some magic VAE wand
07:59 est31 I'll have to collect use cases
07:59 est31 but not now
07:59 est31 gtg
07:59 est31 bye
07:59 RealBadAngel ^^mc mod which allow to make voxel entities
07:59 hmmmm select a region, then tap the wand, and the group of nodes in the region will be transferred to another not-map part of memory, and the region it existed on the map will be replaced with air content
07:59 hmmmm so that region of nodes becomes its own mesh and its own server active object
08:00 hmmmm and it moves around and has the same physics as one, defined by mods that can move it or whatever
08:00 Yepoleb_ joined #minetest-dev
08:00 hmmmm you can set its velocity/acceleration/direction or whatever
08:00 hmmmm yes?  no?
08:01 RealBadAngel have you watched that video?
08:01 hmmmm yeah i'm watching it
08:02 RealBadAngel kinda cool imho
08:02 hmmmm it seems like it's been hacked in
08:02 hmmmm there's also a voxel area entity mod for minetest too
08:02 hmmmm that's a big hack too
08:02 hmmmm it's like VAEs were never done officially and correctly
08:08 rubenwardy joined #minetest-dev
08:09 rubenwardy IRL, bounancy is based on mass and volume of the entity. If the body can displace enough water using its volume to counteract its mass, then it will float.
08:09 rubenwardy But I imagine you know that
08:10 rubenwardy Like, if 1/2 of its volume displacing water displaces water
08:10 rubenwardy water to the same mass, then it floats. But then again, Minetest isn't particularly realistic.
08:10 RealBadAngel i just found a dungeon flying around, kinda funny place
08:12 rubenwardy Also, once a body is fully submerged then it won't get any more upthrust force. So it won't float say 5 nodes under water if it can't float 1 node under water
08:12 rubenwardy But that assumes water density stays the same, which it mostly does in depths up to 50 m
08:12 RealBadAngel http://i.imgur.com/yO246IE.jpg
08:13 VanessaE two maps?
08:14 rubenwardy One's an item, I guess
08:14 RealBadAngel comparing original sized and scaled by irrlicht
08:14 rubenwardy from that screen shot, the white border looks pixelly
08:15 RealBadAngel its only 129x129 px
08:15 VanessaE ah
08:16 RealBadAngel but it works quite good, i mean HillPlaneMesh thing
08:16 RealBadAngel it autoscales everything no matter the screen port size
08:17 RealBadAngel it could be used to replace hud and could save us all those ratio calculations
08:17 RealBadAngel simply, with it you dont need to calculate anythin
08:17 leat joined #minetest-dev
08:21 RealBadAngel but back to the screenshot, its kinda funny place, top of the jungle, to find a dungeon, dont you think so? :)
08:23 VanessaE haha
08:28 leat joined #minetest-dev
08:29 rubenwardy Some survivial games might want to be able to do some sort of FOW
08:30 rubenwardy Like, only render places where you have been in Line of sight with
08:30 rubenwardy So you wouldn't see the dungeon unless you've been in it
08:32 srifqi joined #minetest-dev
08:37 srifqi joined #minetest-dev
08:38 leat joined #minetest-dev
08:42 FR^2 joined #minetest-dev
08:55 rubenwardy joined #minetest-dev
09:15 rubenwardy joined #minetest-dev
09:16 rubenwardy What capitalisation for local variables?
09:16 rubenwardy local
09:16 rubenwardy * local_variable
09:17 rubenwardy code style says not localVariable, but nothing else
09:18 rubenwardy That was incredibly rude, hmmmm
09:18 rubenwardy http://dev.minetest.net/index.php?title=Code_style_guidelines&oldid=2693
09:19 rubenwardy "Don't use distracting and unnecessary amounts of object orientated abstraction. See Terasology and a certain enterprisey Java coder's conception of perlin noise as examples of what not to do."
09:19 rubenwardy where "certain enterprisey Java coder's conception of perlin noise" links to prestidigitator's PR for noise
09:22 technomancy all new abstractions must only be post-stidigitated.
09:23 rubenwardy What do you mean?
09:24 technomancy just a lame joke
09:26 technomancy "Avoid leading and/or trailing underscores. They're ugly and can be hard to see." huh, is there any convention then for unused arguments?
09:26 rubenwardy joined #minetest-dev
09:26 technomancy in most languages I've used a trailing underscore like "_player" means "this function is passed a player argument, but it's not used"
09:50 OldCoder joined #minetest-dev
10:31 selat joined #minetest-dev
10:53 Zeno` joined #minetest-dev
11:13 Amaz joined #minetest-dev
11:15 OldCoder joined #minetest-dev
11:22 Zeno` joined #minetest-dev
12:03 proller joined #minetest-dev
12:08 Zeno` ffs
12:08 Zeno` fedora DNS is fubar
12:17 Wayward_Tab joined #minetest-dev
12:53 Zeno` RealBadAngel, I got minetestserver to compile without irrlicht :D
12:54 Zeno` Only another 5 weeks and maybe irrlicht can be discarded altogether
12:54 Zeno` (dunno if that's good or bad)
13:38 leat1 joined #minetest-dev
13:41 Calinou it's not like Irrlicht is an exotic library
13:49 leat1 joined #minetest-dev
13:59 leat1 joined #minetest-dev
14:09 Wayward_Tab joined #minetest-dev
14:11 Darcidride joined #minetest-dev
14:34 hmmmm joined #minetest-dev
14:41 ElectronLibre joined #minetest-dev
14:44 JZTech101 joined #minetest-dev
14:59 twoelk joined #minetest-dev
15:29 leat1 joined #minetest-dev
15:34 hmmmm lol
15:34 hmmmm rubywarden is a fun killer
15:34 hmmmm he edited the code style page
15:34 hmmmm alright, whatever, i'll leave it as-is this time.  it has enough backlash.
15:38 sfan5 http://dev.minetest.net/index.php?title=Code_style_guidelines&diff=2990&oldid=2939
15:38 sfan5 how lame
15:40 VanessaE imho he's right.
15:40 leat1 joined #minetest-dev
15:40 VanessaE two are just stupid jokes, and one is an ad hominem attack
15:40 sfan5 how are stupid jokes rude?
15:40 VanessaE I'm not saying they are.
15:41 VanessaE but what he removed has no place in a core dev wiki.
15:41 sfan5 rubenwardy did
15:41 sfan5 and you said he's right
15:41 VanessaE he's right for removal I mean
15:41 VanessaE not necessarily for his edit summary :P
15:41 sfan5 also
15:41 sfan5 what about the link to terasology
15:41 sfan5 that text "attacks" them
15:41 sfan5 why was that not removed?
15:42 VanessaE ask ruben :P
15:42 VanessaE perhaps it should be changed to point to some page/site with deliberate examples.
15:43 sfan5 imo the code style guidelines are not a business document and doesn't need to be free from (stupid) jokes
15:43 est31 joined #minetest-dev
15:43 sfan5 also by removing that he removed the only specific example
15:44 sfan5 nobody is going to look through the whole terasology repo to find what design patters are probably meant by the author of the style guidelines
15:44 VanessaE I agree with you on that.
15:45 hmmmm hey now I didn't intend for anything to be a joke
15:45 hmmmm just some snarky sarcasm
15:46 hmmmm apparently there are some people who think our dev wiki is a business document and needs to be completely clean from anything that might be considered 'rude'
15:46 hmmmm not just rubenwardy, there's someone else too
15:46 hmmmm if multiple people want it to be business-like, then fine
15:47 VanessaE I'd rather it *not* be business-like actually.
15:47 VanessaE because then it becomes a dry read that may even be hard to understand or follow.
15:47 hmmmm the prestidigitator reference was a nod to the fact that he wrote the code and full of those nonsensical design patterns bloated in exactly the way we don't want
15:48 hmmmm and he was so arrogant and bitter about it too!
15:48 hmmmm "you don't like my code because /you don't understand it/
15:48 hmmmm many people forget that fact
15:48 VanessaE exactly my point - I don't like him, but to single him out in a public document like this is wrong.
15:49 hmmmm I also singled out terasology
15:49 hmmmm it's not intended to be an ad hominem attack.  when I initially wrote that line, I thought it was a perfect example of what not to do here in minetest's code
15:49 hmmmm it just so happens that a single person was responsible for it
15:50 hmmmm I also single out Xorg and others if you read the entire page
15:50 leat1 joined #minetest-dev
15:50 VanessaE well, Xorg deserves it ;)
15:51 hmmmm the detrimental effect these individual coding styles and practices have on a project aren't immediately apparent
15:51 hmmmm showing a real world example of what happens when they're taken to the extreme, I reasoned, was good
15:52 sfan5 http://irc.minetest.ru/minetest-dev/2012-07-20#i_2381165
15:52 hmmmm someone will look at these rules and say "oh please, pshh..." but if they were to actually look at terasology and experience the crap themselves, "holy crap, where IS the code that actually does X in this mess?  How many subdirectories and BlahProviderFactories are there???  When am I going to get to the point?"
15:52 VanessaE I think the point is the "certain enterprisey java coder's..." part.
15:52 VanessaE not necessarily the code that was linked to
15:52 hmmmm well
15:53 hmmmm he is actually more of a C# fan as I recall
15:53 hmmmm but the point is all of these negative things stem from the Java/C#/enterprise business application realm
15:54 VanessaE I think if it had just said something like "See [terasology link] and [presti's link] as examples..." it would have been fine
15:54 hmmmm where code as well as so-called "best practices" that have a detrimental impact in reality are sholved into the code in a cargo cult-like manner
15:55 hmmmm shoveled*
15:56 hmmmm so you don't like the wording
15:56 VanessaE well ruben didn't, anyway :)
15:56 VanessaE I can't speak for him though
15:56 hmmmm but he also didn't like the wording of other things
15:56 hmmmm different people have different ideas of how a document like that should be
15:56 hmmmm but everybody has the same amount of write access to the same document
15:57 hmmmm so it's going to end up being the version of whoever feels the most strongly about the topic
15:57 VanessaE I might have left the "you should feel horrible" joke in, but the other two just don't work
15:57 sfan5 you mean whoever has the most time to edit it
15:57 VanessaE (and I say that as someone who's used camelCase in her code before, years ago :P )
15:57 hmmmm sfan5, if they felt that strong about the topic, they would *make* time to edit it
15:58 RealBadAngel https://github.com/RealBadAngel/minetest/tree/minimap3 anybody wanna try it?
15:59 hmmmm but fundamentally, do people agree with me on the backlash against those super-object-oriented design patterns and bloaty code?
15:59 hmmmm or is that style page an echo chamber of my own opinion??
15:59 hmmmm I don't want it to be the latter
15:59 RealBadAngel i also dont like such style, youre not alone
15:59 est31 RealBadAngel, forgot to add minimap to the android build
16:00 twoelk can anyone really avoid the latter when writing?
16:00 RealBadAngel est31 i havent tried it on android yet
16:00 RealBadAngel somebody should do that
16:00 est31 just as a note
16:00 hmmmm I tried to gather consensus on the style before writing a page for it
16:01 hmmmm not to mention that the fact it IS a wiki page means that other people are able to shape it as well
16:01 VanessaE hmmmm: I agree, abstractly -- anything that makes code harder to read, follow, or maintain and doesn't provide an obvious benefit (that can't be done more simply) should be shunned outright
16:01 hmmmm that's all grossly subjective though
16:02 hmmmm i think most of us can agree that 50 layers of abstraction isn't helping though
16:02 hmmmm *cough* terasology
16:02 est31 yea too much abstraction hurts
16:03 VanessaE hmmmm: exactly my point
16:04 VanessaE you can abstract the shit out of some feature but if the top-most layer isn't any easier to work with than the bottom-most, and/or the result is slower, the abstraction is useless.
16:04 cheapie joined #minetest-dev
16:09 TeTpaAka joined #minetest-dev
16:10 ElectronLibre RealBadAngel, I got a crash with your minimap (when switching to radar with minimum zoom) : http://pastebin.ubuntu.com/11247107/
16:10 proller joined #minetest-dev
16:11 RealBadAngel ah, those unknown nodes
16:11 RealBadAngel forgot bout them
16:13 VanessaE ElectronLibre: I just gdb'd it:  http://pastebin.com/ZEmX0LWB
16:13 VanessaE oh hell, you beat me to it.
16:13 TeTpaAka RealBadAngel, the placement of the minimap behaves weird. When minetest starts, the map is displayed at a fixed position and round. But when you change the dimensions of the window, it gets stretched.
16:14 TeTpaAka So the appearence of the minimap depends on the dimensions when minetest got started.
16:14 VanessaE I can confirm TeTpaAka's comment
16:16 realbadangel__ joined #minetest-dev
16:17 VanessaE wb
16:17 VanessaE wb, check the log.
16:18 VanessaE s/wb,/rba/
16:25 Krock joined #minetest-dev
16:25 est31 RBA, perhaps when you switch modes, it should instantaneously render the map
16:26 est31 bad to have a delay in there
16:26 RealBadAngel joined #minetest-dev
16:26 est31 check log RealBadAngel
16:27 RealBadAngel ok
16:27 kilbith i confirm (from 800*600 to fullscreen) : https://lut.im/5ZUulez4/JL6zbUyd
16:28 est31 getting a segfault when I part
16:28 RealBadAngel atm size of minimap depend on actual resolution, not just when game starts
16:29 est31 MinimapUpdateThread::getColorFromId at src/minimap.cpp:301
16:29 est31 inimapUpdateThread::getMap at src/minimap.cpp:142
16:29 est31 MinimapUpdateThread::Thread at minimap.cpp:69
16:29 est31 etc
16:31 RealBadAngel thats because of unknown nodes
16:31 RealBadAngel will fix that shortly
16:39 Krock I'm uncertain if I should include the minimap commit into my next dev build; woult it be the branch "minimap3"?
16:47 Krock hmmmm, are you serious? https://github.com/minetest/minetest/commit/43702ec#diff-372c9891c96fb39f64e8ed61e63d2cc3R20   it should be <string>
16:48 TeTpaAka joined #minetest-dev
16:49 Krock however, MSVC doesn't know <strings.h>
16:50 TeTpaAka There is another issue with the placement. When you start in a bigger resolution, the minimap isn't in the upper right corner, but slightly to the left.
16:50 sfan5 Krock: <string.h> would be <cstring>, this is strings.h however which is a non-standard extension
16:50 sfan5 s/extension/addition/
16:51 Hunterz joined #minetest-dev
16:52 TeTpaAka http://i.imgur.com/MSWWv6b.png
17:02 proller joined #minetest-dev
17:02 proller joined #minetest-dev
17:04 rubenwardy joined #minetest-dev
17:07 rubenwardy "a certain enterprisey Java coder's conception of perlin noise" is rude and offensive, which is what I was talking about
17:08 rubenwardy terasology is an entire project, and the attack isn't so personal, which is why I didn't remove it.
17:10 sfan5 rubenwardy: what about the rest?
17:11 rubenwardy It's just snobbish and unnecessary
17:12 rubenwardy I agree that the over abstraction and OOPness is bad
17:13 RealBadAngel ok, ive fixed crashes with unknown nodes
17:13 rubenwardy It's this sort of thing that puts developers off this project. It wasn't enough for hmmmm to just say no, this uses too many factories to fit into Minetest, he instead makes a sour comment in the code style shaming him.
17:18 RealBadAngel joined #minetest-dev
17:20 sfan5 rubenwardy: people are put off by two phrases that could sounds slightly rude?
17:22 rubenwardy Those were just unnecessary insults, not really rude. If one of your languages was Java, and you read that, you get the impression that the dev community is snobbish and would be no fun to work with.
17:24 MinetestForFun joined #minetest-dev
17:27 celeron55 it's quite a balancing act between people that are too rude and people who are too liberal and i don't even pretend to be getting it right
17:28 celeron55 i think i mostly approve of rubenwardy's changes altough the BlahFactory/BlahProvider/BlahSource -> factories change kind of loses information
17:29 rubenwardy the "you should feel" isn't so bad, and can be readded if you feel it emphasises it enough.
17:30 rubenwardy What should be used for local variables? one_two ?
17:30 celeron55 yes, lowercase and underscores
17:44 nore joined #minetest-dev
17:53 hmmmm whoops
17:53 hmmmm sorry that should be string.h
17:53 hmmmm my BSD is showing
17:54 hmmmm rubenwardy, I don't see how that text can be "rude and offensive"
17:54 rubenwardy You're publically shaming him
17:54 hmmmm this self censorship is a slippery slope
17:54 hmmmm no I'm not
17:54 hmmmm is somebody who works primarily with Java something to be shameful about?
17:56 rubenwardy It seems that it is, according to your wording
17:56 hmmmm you're interpreting it wrong then
17:57 hmmmm I would highly prefer for minetest to not become infected with political correctness
17:57 hmmmm I don't want to need to worry about how everything I say comes off to people
17:58 Calinou Java is a fine language that has its place in the modern world
17:58 Calinou languages don't die like you want to, it's the real life
17:58 Calinou same goes for SQL, C# and such
17:59 hmmmm sorry YOU are offended by that, but most people are not.  if you begin catering to fringe groups through censorship, where does it end?
18:00 rubenwardy Slippery slopes is the first logical fallacy
18:00 hmmmm it's not a logical fallacy
18:00 hmmmm induction is a logical tool that everybody uses
18:01 hmmmm what the logical fallacy is in slippery slope is when somebody claims a slippery slope with insufficient evidence
18:04 rubenwardy It is just sour shaming, and bad people skills
18:05 hmmmm you make it sound like I'm shaming and criticizing this person
18:05 hmmmm their code is fantastic, done in their way that has many disadvantages
18:05 nore joined #minetest-dev
18:06 hmmmm i want to present that code as an example of what not to do because examples are much more illustrative than words.  somebody can click on the link, see the actual source, and gain an intuitive understanding of why that methodology is bad
18:06 kilbith RealBadAngel, does the radar mode can be auto-activated in caves ?
18:07 rubenwardy It would be less bad if it was anonymous
18:10 hmmmm and for what it's worth, 'shaming' a project can easily be just as bad as 'shaming' a certain person in particular
18:10 hmmmm pre-2012 or whenever, celeron worked on minetest himself
18:11 hmmmm so insulting minetest means insulting celeron
18:11 hmmmm same thing with terasology.  the vast majority of it came from a single person
18:11 sfan5 <rubenwardy> terasology is an entire project, and the attack isn't so personal, which is why I didn't remove it.
18:23 hmmmm rubenwardy is our new HR person
18:26 celeron55 i actually like reading all kinds of criticism about minetest though, especially if someone has found something worth insulting :P
18:28 rubenwardy Criticism is good.
18:30 RealBadAngel kilbith, propably could be, but i have no idea on how to trigger it
18:48 hmmmm rubenwardy, you should add a trigger warning to that page
18:49 rubenwardy Such as "don't name names or use someone's PR as an example of 'what not to do', as it may offend them"?
18:50 hmmmm your face offends me.  can you please put a paper bag over it
18:50 hmmmm :)
18:50 hmmmm anything can possibly offend anybody
18:50 hmmmm stop making assumptions
19:21 sofar hmmmm: that offends me ;^)
19:21 sofar it's hard to have a deep discussion. Just look at the issue I posted :/
19:22 sofar frankly I didn't help, but some people have a hard time not screaming "but listen to me too" even if they don't add to the discussion
19:24 sofar I best give up... I'm not improving the discussion and the damn thing is changeable through a server setting anyway
19:39 hmmmm what do you mean?  which discussion?
19:42 Miner_48er joined #minetest-dev
19:46 est31 joined #minetest-dev
19:46 est31 sofar: server setting? I can't follow from here, is this still about rubenwardy editing the wiki?
19:47 est31 ah I guess the "disable physics in mid air" thing
19:48 selat joined #minetest-dev
19:49 est31 RealBadAngel, thanks for that youtube clip
19:49 RealBadAngel bout voxel area entities?
19:49 sofar voxel area entities?
19:50 sofar that sounds ... like a lot of potential
19:50 est31 yea
19:51 RealBadAngel i liked trains made with it
19:51 RealBadAngel quite cool
19:55 est31 yea
19:57 ElectronLibre_ joined #minetest-dev
19:59 Amaz joined #minetest-dev
20:10 leat1 joined #minetest-dev
20:19 jin_xi joined #minetest-dev
20:20 leat1 joined #minetest-dev
20:28 OldCoder joined #minetest-dev
20:37 ElectronLibre_ left #minetest-dev
20:59 Etzos joined #minetest-dev
21:20 proller joined #minetest-dev
21:25 Taoki joined #minetest-dev
21:36 MinetestForFun joined #minetest-dev
22:00 jin_xi joined #minetest-dev
22:02 leat1 joined #minetest-dev
22:40 RealBadAngel joined #minetest-dev
22:56 est31 joined #minetest-dev
22:58 Hijiri joined #minetest-dev
23:22 paramat joined #minetest-dev

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