Minetest logo

IRC log for #minetest, 2019-01-27

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

All times shown according to UTC.

Time Nick Message
00:00 Xiong hecks Not sure that's a helpful question. If you ask it, I don't see any answer you'd find compelling.
00:02 hecks alright, this is a fool's game; I'll just check the source and see how world noise is mixed in
00:02 paramat hm weird
00:02 ANAND joined #minetest
00:02 Xiong rubenwardy You have the most solid info relevant to this rubber question. Can you weigh in on either point? (1) testing tools; (2) always-on fallback.
00:05 hecks sooooo
00:05 hecks seed += np->seed;
00:05 hecks where seed is s32, or a plain old int I assume
00:06 nri joined #minetest
00:07 Argyle77 I felt like the issue with no rubber trees in moretrees was that they needed to be within 5 blocks of water on green grass, but the beach prevented that.
00:08 paramat using 'get_perlin' with 4 params is old and almost never done because only 4 params is so limiting, it should work using a full noiseparams table
00:09 hecks But it doesn't!
00:10 paramat it does in my mods in use
00:11 paramat i mean, it works when a noiseparam table is manually specified like https://github.com/paramat/snowdrift/blob/568964eabf72d169bb3d7d8a2eb4beba863c5504/init.lua#L23
00:12 paramat the issue may be the form returned by minetest.get_mapgen_setting_noiseparams or minetest.get_noiseparams
00:13 Xiong Argyle77 There is certainly an issue in that rubber's requirements are highly restrictive. I'd like to sidestep that for the time being. rubenwardy claims technic fallback rubber works. Let's leverage that.
00:14 paramat for rubber trees: disable moretrees generating them, enable technic generating them, and apply my advice given in the technic issue (needs a PR, i'mnot doing it)
00:14 Xiong paramat Still working on it.
00:14 paramat https://github.com/minetest-mods/technic/issues/464
00:15 Xiong What testing tools exist? and Why not just enable fallback always?
00:15 Xiong I have read much on the topic. Looking for answers to new questions.
00:16 paramat i've even detailed what needs doing, easy PR
00:16 Xiong Why has your advice not been taken?
00:17 hecks paramat: no, all noise functions return a proper NoiseParams table
00:18 paramat how do you know? because docs say?
00:18 Xiong Um... dunno if you've seen but I did kick in my dime.
00:18 hecks No, because I dumped them to stdout
00:19 hecks along with many other things
00:20 hecks https://pastebin.com/zLsTfE1A
00:21 hecks Despite adding the seed manually, the height still doesn't add up with the world, suggesting that the mapgen adds magical fairy dust to its noise
00:22 hecks but before I declare this whole business fubar, it would give me some peace of mind knowing whether or not the officially sanctioned get_perlin() function also messes up
00:26 Xiong Seriously paramat. I read your issue before I added my comment. Seems straightforward enough. Rubber is essential to technic. Why have you been ignored? I believe a solution is well within even my limited competence but I need to learn... sth I don't know... sth political?
00:28 hecks Xiong, nobody is paid to do this shit :)
00:29 hecks that's the politics of it
00:29 Xiong True. Nobody's paying me.
00:29 Xiong Sorry I don't agree that's all.
00:30 Xiong I still try to work with everyone. Work is life; money isn't strongly linked. Perhaps it should be but I'm not going to change that.
00:31 hecks Sure, but all the bugs in the world would vanish overnight if someone were to offer a bounty for them
00:32 Xiong Well I'm not looking to get rich. Can we take that off the table?
00:34 Xiong I'm asking... everyone who should know... two plain questions. Why not merely enable fallback always? and Does a tool exist to reveal the actual result of chunk emergence?
00:35 hecks Well, you can just look at an emerged mapblock; or probe it with on_generated
00:35 hecks as for probing the contents of a map before it's generated, this is what I'm attempting
00:35 Xiong "Look" as in, fly though it ingame?
00:36 hecks yep :P Or render its contents as a 2D map, if you prefer
00:36 Xiong Nono, I'm not asking for hypothetical projections.
00:36 Xiong Well... some chunks are underground.
00:37 hecks Hypothetical, without generating? Noise is deterministic; again this is what I'm looking into now
00:38 paramat is it just the mgv7 mountains that are mismatching? because your mountain generation method is incorrect
00:38 Xiong I'm not trying to be rude when I say... you don't seem to know of such a tool. I may have explained it poorly.
00:38 hecks I know it's not right; but even base/alt noise isn't adding up, and there's not much I could've messed up there
00:39 hecks I'll try muting various noises in the settings to isolate this
00:40 paramat yeah, it looks like your mountain gen is approximate
00:40 paramat intentionally
00:40 hecks It is intentionally approx, because I can not and need not sample 3D here
00:41 hecks but let's turn mountains off
00:41 Xiong paramat What will you say?
00:44 paramat i added a post to the technic thread in the forum, my issues may not have been seen by many
00:45 Xiong paramat I'll search it out but... does it address my questions?
00:47 paramat erm, fallback is down to the mod devs. 'Does a tool exist to reveal the actual result of chunk emergence?' what do you mean by 'reveal the actual result'
00:47 paramat ?
00:51 paramat moretrees users probably want all trees, so rubber trees are enabled in moretrees by default, therefore the rubbergen in technic is disabled by default
00:52 ssieb joined #minetest
00:53 Xiong paramat Well my question is broad. Let me tell by way of example how I'd do it... perhaps not well. I'd run a game and fly around emerging chunks, then quit. Then my script would open the map and scan it with a triple xyz loop... keeping count of the nodes it encountered. It would terminate by reporting a summary: so many nodes scanned, so many !ignores found, so many hoge:piyo, etc.
00:55 Xiong Does such a tool exist? Does any tool exist that can say definitely with what abundance any given type of thing has been generated within a volume?
01:01 Xiong And yes paramat, moretrees does enable by default and I see no harm in that. But I ask: What objection is there to enabling technic fallback rubber at all times?
01:03 Xiong -- I have read your forum post indicated above.
01:06 paramat might be a good idea to include the variation of persistence in 'base' and 'alt' noises, that does make quite a difference
01:09 paramat also, your lerp between 'base' and 'alt' might be backwards. when height select is 1 it chooses 'base'
01:10 paramat it's also not a straightforward lerp due to https://github.com/minetest/minetest/blob/c2dabcff6ddd50520669f3a663b782ec28fc0094/src/mapgen/mapgen_v7.cpp#L418
01:12 paramat Xiong this tool you describe may exist as a mod but i cant remember one, you'll probably have to write it
01:14 Xiong paramat Not surprised. But then... how are devs testing any map/ore/tree/deco generation code?
01:16 Xiong Um... hecks, you are writing code (IIUC) to simulate mapgen. How will you know if it works as expected? What forms your expectations?
01:16 hecks I have a bunch of cube entities that align with the "fake" world following me
01:17 hecks When they line up with the ground, that means it's working
01:17 hecks I'm doing this to raytrace far terrain onto the skybox; raytracer works but the data I'm feeding it was bullshit and I'm trying to correct that
01:18 hecks Ideally, this would let me see mountains from as far as 2k+ distance
01:19 hecks I will be testing with mgflat now to simplify things
01:21 Swedneck wow, minetest modding is actually really approachable
01:23 Xiong Swedneck it's as simple as you wanna.
01:23 rubenwardy :D
01:23 Xiong rubenwardy if you have time for a grin... help me help you, please.
01:23 Swedneck although to be fair i'm only at the point of registering nodes and crafting recipies
01:24 Xiong If nobody will talk about the issue then that's the issue... and likely unsolvable without medication.
01:27 Swedneck hmm, is the number after a craft output the amount of items produced?
01:27 swift110-phone__ joined #minetest
01:27 swift110-phone__ https://m.youtube.com/watch?v=xgakdcEzVwg
01:27 swift110-phone__ I would love something like this for minetest
01:28 swift110 joined #minetest
01:30 swift110 I once saw someone interact with minecraft in a 3d world. It was a video on youtube and I would love to do the same for minetest
01:30 swift110 Also playing a subgame similar to simant would be cool on minetest as well although I don't know how to go about that
01:31 hecks Woo hoo, a breakthrough
01:32 Xiong Swedneck usually 1. Please think before choosing a higher number.
01:32 hecks I got the noise to line up, all it took was switching to mgflat, setting all noise seeds to 0, and using 0 as the fixed world seed...
01:34 rubenwardy Swedneck: ye
01:35 rubenwardy eg:    default:tree -> default:wood 4
01:35 rubenwardy default:wood 4  is an ItemString
01:35 rubenwardy default:wood is an ItemName, but is also a valid ItemStrings
01:35 Swedneck just wanted to check since the tutorial didn't mention it :P
01:35 rubenwardy an ItemString specifies a stack
01:35 rubenwardy probably should
01:35 rubenwardy will add a todo
01:35 Swedneck ?
01:39 aheinecke joined #minetest
01:45 hecks so I have this cool video showing that it works but I can't send it to anyone because the internet is cancer
01:48 paramat mgflat heh
01:51 hecks https://a.cockfile.com/ldx6lq_noise.mp4
01:52 kaeza https://xkcd.com/949/
01:53 hecks Technically, torrent solves this
01:53 hecks but ISPs made sure that it doesn't actually work
01:54 hecks or rather, ISPs made sure torrent can't be used for anything else other than piracy
01:55 paramat nice
01:56 paramat ok mgflat with lakes, i thought you were joking about making a farmap for a completely flat map
01:57 hecks mgflag has lakes and hills
01:57 hecks flat I mean
01:57 hecks it's all based off one noisemap sampled directly so it's the simplest possible test case
02:01 Swedneck what does the number in `groups = {cracky = 3}` do?
02:02 rubenwardy that's how cracky it is
02:02 rubenwardy one sec
02:02 rubenwardy !book node
02:02 MinetestBot rubenwardy: Nodes, Items, and Crafting - https://rubenwardy.com/minetest_modding_book//en/items/nodes_items_crafting.html
02:02 rubenwardy hmmm
02:03 rubenwardy "Groups such as `crumbly`, `cracky` and `snappy` are used for this
02:03 rubenwardy purpose. Rating is `1`, `2` or `3`. A higher rating for such a group implies
02:03 rubenwardy faster digging time."
02:03 rubenwardy https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L1543
02:03 Swedneck ah
02:03 Swedneck i missed the exact part there that told me what i wanted to know
02:04 * Swedneck smacks forehead
02:12 Swedneck hmm, a texture in my mod doesn't seem to update ingame when i change it
02:13 rubenwardy yeah, textures are sent from server to client and cached
02:13 Swedneck how can i force reload?
02:13 rubenwardy in singleplayer, the server and client still exist
02:13 rubenwardy you can't without restarts
02:13 argyle77 joined #minetest
02:13 rubenwardy there are ways around it, by using texture modifiers
02:14 rubenwardy and other such things
02:14 Swedneck well i did restart
02:14 rubenwardy oh interesting
02:14 Swedneck and it's still the old texture, somehow
02:15 rubenwardy sure you don't have multiple copies of the texture or the mod?
02:15 Swedneck well it's a symlink to another directory, if it matters
02:15 rubenwardy did you just logout and log back in again?
02:15 rubenwardy like, did you just exit to menu
02:15 Swedneck i exited the program fully and relaunched it
02:15 rubenwardy huh
02:15 rubenwardy also, warning: Minetest 0.4.x doesn't know about symlinks
02:15 rubenwardy so recursive deletion on them will carry on through
02:16 rubenwardy so don't put symlinks in a world dir
02:16 rubenwardy Minetest 5 fixes this
02:16 Swedneck well the entire mod folder is a symlink
02:19 Swedneck interesting, renaming the glass.png file to something else made the glass red instead of white
02:19 hecks https://a.cockfile.com/ZsCd8i_demo.mp4 See that mountain, you can climb it
02:20 hecks https://a.cockfile.com/2UrIrq_farmap.mp4
02:22 hecks The skybox is currently rendered using a lookup table of "pillars" with some Z-buffer-like culling
02:22 Swedneck maybe i'm just making a mistake with how glass textures work
02:23 hecks The heightmap is in polar coordinates; the depth can be linear or exponential, and perspective is achieved naturally with a z-divide
02:23 hecks Finally, the whole thing is deformed with a magical function that maps the cylinder to cubemap walls
02:25 hecks Lookup tables are used to speed up sampling and rendering; further optimization is possible by spreading the rendering job over many frames
02:28 Swedneck oh hold on, does glasslike_framed not care about anything but the outermost pixel?
02:29 Xiong Purely cosmetic, Swedneck.
02:29 Swedneck uh yeah i know
02:29 Swedneck i'm just trying to understand how it uses the textures
02:29 rubenwardy What's the opinion on allowing mods which have telemetry to CDB?
02:30 rubenwardy specifically when it's no user information, but stuff like what they did with the mod and how far they progressed
02:31 hecks A mod which makes a server communicate with external (and usually hardcoded) URLs without asking and making it clear is malware.
02:31 kaeza rubenwardy: maybe do like F-Droid anti features?
02:32 rubenwardy hecks: currently you have to whitelist HTTP mods
02:32 Xiong I have to side with hecks.
02:32 rubenwardy in the future, there may be a [yes] [no] dialog
02:32 rubenwardy I do agree though
02:32 rubenwardy kaeza: that would be good to have if it is allowed
02:32 hecks Every permissions elevation dialog that the user has to click through is one more step towards uninstalling.
02:33 Xiong True.
02:33 Swedneck i think it's fine, and even good, as long as it's configurable
02:33 hecks See Windows UAC, see the market share of desktop linux, see every "smart" phone snapped in half by its user
02:33 hecks Permissions popups are a bandaid; the real problem is things requesting permissions they shouldn't need.
02:33 Swedneck and off by default
02:34 rubenwardy here's the messages from the user that is asking: https://i.rubenwardy.com/EwFZU.png
02:34 Xiong I dislike granting perms to radio home constantly. I'd rather the nasty gubbins saved up a month's worth of usage data and asked for one-time perm to send that block.
02:34 hecks Telemetry is a problem because communication alone is information; you get an IP (correlating to a location) and time
02:36 hecks I'm not fond of "clever" developers using elevated features wherever they can, not where they absolutely need to.
02:36 hecks The purpose of HTTP mods is internal telemetry and communication; a server communicating with another machine owned by the same admin.
02:37 Xiong Anyway I want to fix the rubber issue. I wanted to fix it years ago, I wanted to fix it last week. I've been hoping someone more competent would fix it. Failing that, I'd hoped for some understanding of why the issue is so resistant to solution.
02:37 hecks Also, if you base your development decisions (in other words, axe features) off of "usage data" then you are a bad developer and you should feel bad.
02:38 Xiong You force me to hack away and fix blind. If I get any backtalk, I'll get mad.
02:39 hecks hack away and fix blind, welcome to minetest
02:39 paramat nice videos, and effective
02:39 Xiong hecks you're driving me nuts. You're like Michael Moore.
02:40 Xiong I can't write you a blank check; the gods only know what you'd do with it.
02:41 Xiong But yes. Programming is the art of making good decisions. If the user knew how to make good decisions, he'd be a good programmer.
02:43 Xiong One guy told me I'd given him a really great program. The printout was just thick enough to wedge into his window and stop the draft.
02:44 paramat telemetry? nope
02:46 paramat that discussion you linked looks like a dev being too clever and not really knowing what to do with the data, heh
02:46 paramat he's probably better off just talking to players in a forum thread
02:48 hecks I'll reiterate, telemetry is a trap for a developer; the data is never representative of anything useful and you end up making bad decisions
02:48 hecks If you're a corporate rat who doesn't understand his own product, use telemetry.
02:51 Wikiwide joined #minetest
02:53 Wikiwide Hello! I am trying to use Minetest - have server on one computer and clients on several. Question: How do I enter "Creative" mode to have unlimited supply of all materials to build a world with?
02:54 hecks Check "creative mode" when starting the server
02:54 NathanS21 Check the Creative tab when creating the game
02:54 NathanS21 or /grant playername creative
02:55 Wikiwide Thank you :-)  Trying right now
02:58 Wikiwide "Creative mode" checked when starting the server, how do I see all these materials?
02:58 NathanS21 just open inventory
02:58 Wikiwide I probably haven't figured out which keyboard shortcut opens inventory?
02:58 NathanS21 i
02:58 NathanS21 or that's the default anyway.
02:59 Wikiwide Thank you :-)  :-D  Thanks a lot!
02:59 NathanS21 :) You're welcome.
03:00 Wikiwide Just trying to avoid using Minecraft - it was all the fashion at school. Hopefully, they will have new fashion this year - Minetest ;-)
03:01 hecks Educational use?
03:01 Wikiwide No idea. Kids these days have finger spinners one year and beyblades next year, games are going in and out of fashion like an epidemic.
03:02 hecks Make sure to install some nice mods like mesecons and perhaps technic. You can build machines with those.
03:02 Wikiwide hecks : Thank you :-)  Motor boats?
03:03 NathanS21 Mesecons and Technic let you automate things, such as ore processing.
03:04 hecks No motor boats in those; mesecons lets you build simple computers and stuff. Also, you'll be asked "teacher where's the redstone" if you don't install it.
03:04 NathanS21 I don't know of any motor boat mods, but there is a boat included in default.
03:04 argyle77 I'm trying to teach 4yr old nephew how to play.  Interesting to see what he is interested in and when trips him up.
03:05 Wikiwide I should put my 7yo brother directly onto this channel, he is the one into mining and crafting and construction ;-)
03:06 Wikiwide I am not into computer games in general - with rare exceptions such as chess.
03:14 Cornelia joined #minetest
03:29 DI3HARD139 joined #minetest
03:45 Xiong I'd like to see mt servers with more care taken for a prosocial agenda... failing that, an attempt to exclude minors.
03:46 Xiong I don't say it's the job of entertainment to teach good; but I don't feel it's good to teach evil.
03:49 Wikiwide Welllll... My brother has taken to giving made-up birthday to whichever program asks about it. So, excluding minors should be done smartly, if done. Such as, want to enter a world where guns are common? Have the newbie pass the test about how to use guns, how to clean guns, when guns can be used, and difference between assault and self-defense. In short, if they behave badly after that, then they are already wired to disregard wha
03:49 Wikiwide tever instructions are given, and can be banned by mods?
03:50 Wikiwide And currently, my brother is into construction (railway and everything). Creative worlds are likely safer for minors than damage-enabled worlds.
03:58 argyle77 My nephew refused to crawl out from under the desk until I disable non-peaceful mobs
03:59 Xiong Wikiwide you are exactly correct.
04:01 Xiong Forget age verification. I saw The Graduate when I was 12.
04:02 Xiong I had to look that up because it makes no sense. Must have been revived.
04:03 Xiong Anyway yes forget stupid verification. Look for evidence of matured thinking.
04:04 Xiong I have a sketchy idea of a game in which the new user is stuck in a rather limited world. He stays there until he earns his way to the next.
04:07 Xiong So on one track the user is scored on actions and that cumulative score must pass a threshold. On another track the user must pass certain challenges. These needn't be difficult to exclude angsty troublemakers.
04:09 Xiong I don't like "creative mode" myself. I see no challenge in it. But I also see no value in mt games that revolve around slaughtering other players. Even if you *want* a war game, mt is a poor choice.
04:12 argyle77 The challenge is making creative mode a challenge.
04:12 Wikiwide Creative mode is not particularly challenging, yes, in the sense that you don't need to mine. But it nurtures ability to craft.
04:12 argyle77 Hunger and mobs help
04:13 argyle77 Complex structures help
04:13 argyle77 stuff that needs an infrastructure to use
04:14 Wikiwide I wonder if anybody made a Minetest world based on Discworld, with Ankh-Morpork, turtle, elephants, Sun, Hub and such.
04:14 hecks Discworld sounds like a good fit... ha
04:15 Wikiwide Because that sounds like a good challenge to walk into, whether you are into crafting or into fights. The challenge would be finding a good company of mods, playing roles of Havelock Vetinari, and such. Sorry for any misspellings.
04:16 hecks It's well within minetest's potential. Time to learn lua?
04:17 Wikiwide Lolz, Lua sounds fun. And movement of Sun on Discworld is certainly different from that on a standard Earth?
04:18 Wikiwide Haven't ever coded in Lua before. Fortran, C, Python a little, bash at occasions, R once... Matlab/Octave a little.
04:18 argyle77 lua doesn't look too bad.  not too hard to see whats going on
04:18 hecks The sun you technically can't fiddle with in minetest... but there are ways.
04:18 hecks Lua is close to Python but less retarded. Looks more similar to bash.
04:19 argyle77 just gotta lean the object model.  theres a reference somewhere, right?
04:19 rubenwardy !book entit
04:19 MinetestBot rubenwardy: Objects, Players, and Entities - https://rubenwardy.com/minetest_modding_book//en/map/objects.html
04:19 Wikiwide Anybody ever launched an artificial satellite? ;-) or any space rocket
04:20 hecks Lua Reference Manual, Programming in Lua and rubenwardy's modding book are all the reading you need to make things in MT
04:20 hecks Artificial satellite... in real life?
04:22 hecks I'm afraid not. And doing space things in minetest is hard if not moot; the world is a 70x70x70km box
04:23 hecks Which is why a discworld would actually work, while space mods can only hope for a "you tried" trophy.
04:24 rubenwardy !mod other world
04:24 MinetestBot rubenwardy: Other Worlds [other_worlds] by Shara - https://forum.minetest.net/viewtopic.php?t=16015
04:24 rubenwardy You can have space, but not realistically
04:25 hecks Oh I've seen that, yeah, that's a "you tried" from me.
04:26 hecks There's no real point to space with how the voxels work; not unless you generate the whole world as a bunch of perlin asteroids and make a game with spaceships.
04:28 rubenwardy Still a pretty mod
04:31 Xiong Wikiwide the more code you've written, the more annoying Lua may be.
04:33 Xiong If I find myself writing any from scratch, I may just try using semis anyway and see if that settles my stomach.
04:33 hecks If you find lua annoying, then I have doubts about your programming skill.
04:34 FreeFull Lua does have some weird parts
04:35 hecks After spending more than half of my miserable life on other languages, lua became my #1 within a week of using. It's just too damn well designed.
04:35 ShadowBot https://github.com/minetest/minetest/issues/1 -- GlowStone code by anonymousAwesome
04:36 hecks issue: minetest bot should not respond to #n if n < 10
04:36 hecks #65536
04:36 ShadowBot hecks: Error: Delimiter not found in "HTTP Error 404: Not Found"
04:36 hecks #999999999999999999999999999999999999999999999999999999999999999999999999999
04:36 ShadowBot hecks: Error: Delimiter not found in "HTTP Error 404: Not Found"
04:37 hecks Lucky for you, bot
04:37 FreeFull I very much prefer Python to Lua, but Lua is better for embedding into games
04:37 FreeFull So it probably was the best choice for Minetest
04:37 hecks Significant white space.
04:38 FreeFull I mostly use Rust, but that's not a scripting language
04:39 hecks Lua is not a scripting language either, but she can be. Lua can be a file format. Lua can be your system shell. Lua will do anything you want.
04:42 FreeFull What do you mean by not a scripting language?
04:43 FreeFull Lua is pretty much the definition of a scripting language
04:43 hecks I expect scripting languages to be interpreted, slow and in some way limited.
04:44 hecks Lua is in fact a compiled language with decent on the fly compile/emit capabilities.
04:44 DI3HARD139 joined #minetest
04:45 FreeFull There's LuaJIT, sure
04:45 kaeza joined #minetest
04:45 FreeFull But it's not AoT compiled
04:46 RichardTheTurd joined #minetest
04:46 hecks Even without luajit, when you "dofile" it gets compiled into bytecode.
04:46 FreeFull Python gets compiled into bytecode too
04:46 FreeFull Python is actually quite slow though
04:46 FreeFull Compilation into bytecode is pretty standard for any sort of interpreter
04:48 hecks It's just that, I've worked a lot with C# and I wouldn't call that a scripting language. And lua's semantics remind me of that more than they remind me of something like bash or basic.
04:48 hecks In both capabilities and performance Lua is no worse of a choice than Mono.
04:49 hecks It makes me look at C#, Java and even Python as things trying to solve a problem that Lua has already solved way better
04:49 FreeFull Right, I wouldn't call C# or Java a scripting language
04:50 FreeFull "Scripting language" in no way implies "slow" though
04:50 FreeFull hecks: I like Python's type system
04:51 hecks It does imply that it's for "scripts" though, but you can build a huge system in Lua just fine. I reckon this hasn't always been the case though, Lua evolved over time.
04:52 hecks Explain to me python's type system because it's been long since I was forced to use that; for contrast, lua has like 7 built in types and you basically don't need any other ones.
04:54 FreeFull Python is strongly typed, lets you define your own data types (Including standard OO stuff)
04:54 FreeFull It also has a rather big standard library
04:54 FreeFull Optionally, you can extend it with tools to bring in some static type checking
04:55 FreeFull By strongly typed I mean there isn't much implicit casting. You don't have the sort of mess you get with Javascript
04:56 FreeFull Still, for an actual big system that's not just some scripts I would use an actual statically typed language like Rust
04:56 hecks Lua has about as much casting as is needed, but doesn't come with a type system beyond the primitives. Instead, a table is the only collection, structure and class type you'll ever need.
04:57 FreeFull Yeah, I don't like "everything is a table"
04:57 hecks Using Lua has highlighted to me some problems with strong typing; there's so many constructs in every language that only exist as artifacts of type checking
04:58 hecks for instance interfaces and generics; the very concept of those is completely worthless in Lua
04:59 FreeFull Generics typically aren't needed in any dynamically typed language
05:01 hecks Precisely; but that doesn't mean that I can't have a full featured OOP system if I want to. In fact, it's more powerful and leaner than my ol' lamented C#.
05:01 FreeFull The way I write software doesn't really lean towards traditional OOP
05:01 hecks The trick is, even the concept of types doesn't really need any language support
05:02 FreeFull It does if you want to check them before your software actually runs
05:03 hecks And you *can* add type checking and other bookkeeping nonsense to lua if it's that critical. But just like .NET it'll add extra overhead.
05:04 hecks I missed the stuff initially, but then realized just how much of it is unnecessary.
05:06 hecks Don't even get me started on attempts to add OOP into a bare metal language like C++, it's a disaster
05:10 FreeFull hecks: How do you feel about the way things are done in Rust?
05:15 hecks I'm skimming the book on it and I don't "get" it yet.
05:18 hecks FreeFull: I'll file it under "another bastard child of C"
05:22 hecks It's a rearranged C++ I guess, suppose concurrency is the point? This reminds me, threads are the one thing missing in Lua and that sucks.
05:22 FreeFull Python's concurrency story isn't great either
05:23 Xiong FreeFull you and me. Need a table? Great, here's a table. Need an array? Here's a table. Need a hash? Here's a table.
05:24 Xiong I'm waiting for the Lua RDB.
05:24 FreeFull Rust has a bunch of things going for it: It's a systems programming language, without garbage collection. Sum types (which Rust calls "enum"s), the match syntax, traits, very easy to bring in and use external libraries, type system makes sure you get memory safety
05:25 hecks Xiong: it's a feature ¯\_(ツ)_/¯
05:26 Xiong "type checking and other bookkeeping nonsense" -- I plan to frame that on the wall just to see who laughs and who nods wisely. Great for snap HR calls.
05:27 FreeFull hecks: One minor nit, I prefer 0-indexing to 1-indexing
05:27 hecks Syntactic sugar for enums and switch doesn't interest me; switches are a code smell.
05:28 hecks 1-indexing was indeed a mistake; n-dimensional array math doesn't add up because of that
05:28 hecks thankfully luajit usually catches those (n-1) expressions and smooths the whole deal out
05:28 Xiong "Lua can be your system shell." -- you can have my bash when you pry it from my cold dead fingers.
05:29 FreeFull They're not normal enums
05:29 FreeFull And not C-style switches
05:29 Xiong Well.
05:30 hecks Still, the idea is that if you need something like that, there's already rats in your code.
05:30 Xiong I have patched technic so fallback rubber loads on top of moretress... without disaster.
05:30 FreeFull Unix sh and derivatives really got the "executing programs interactively" part right
05:31 FreeFull hecks: How so?
05:32 hecks How so; mapping one thing to another like in a switch is a classic matroid problem, and is best solved using a data structure.
05:32 Xiong Rubber trees are sparse, quite so... which is fine. The trunks may be tapped, cut ground and extracted... and the latex alloyed into usable rubber fiber. The fallback trees do not spawn in utterly bizarre places... yet.
05:32 hecks Ditto for switches masquerading as if/else chains. Else if totally considered harmful.
05:34 Xiong I'm going to patch less aggressively, testing for mg, and see how that goes.
05:36 FreeFull hecks: Ok, so, one of the enums that comes in Rust's standard library is   "enum Result<T, E> { Ok(T), Err(E) }" which means in the Ok case you get something of type T, and in the error case you get something of type E. One or the other, not both
05:37 hecks Another artifact of a type system.
05:37 FreeFull How are errors handled in Lua?
05:39 hecks Exceptions? They're strings propagated until the last pcall
05:39 FreeFull Exceptions aren't great
05:39 hecks a pcall returns a bool and a string telling you what happened if there was an error
05:40 FreeFull With a Result type, you're instantly aware if something can return an error or not, and you can decide how to handle it, which might include just passing it on, or actually doing something
05:43 hecks well, okay, that's every error handling mechanism ever made
05:44 hecks Why are we comparing those two languages anyway; they're not in the same domain even
05:44 FreeFull hecks: It's not obvious if a function returns an exception or not
05:44 FreeFull True
05:44 argyle77 hey why does the lua make the engine crash?
05:44 hecks I'd rather evaluate Rust from a "can I just do this with C" perspective
05:45 hecks argyle77: how does it crash? What did you do?
05:46 FreeFull https://github.com/PistonDevelopers/dyon I guess this is more of a Lua competitor
05:46 FreeFull It has weird syntax though
05:48 hecks first time I see a language with a "why" keyword
05:48 hecks still waiting for the language with "when" statements
05:50 Gundul joined #minetest
05:51 hecks clearly this is to Rust what Lua is to C, but it looks overdesigned
05:52 FreeFull It has stuff like concurrency
05:53 hecks Yeah sure
05:54 hecks It just doesn't have the mathematical simplicity that Lua has; only Lisp is a viable competitor to that
06:06 Emerald2 joined #minetest
06:13 Hirato joined #minetest
06:38 GreenDimond joined #minetest
07:53 SanskritFritz joined #minetest
07:54 Emerald2 What's the 'blocker' tag on github for? (noticed it on some of the issues for minetest)
08:05 tuedel_ joined #minetest
08:10 tuedel joined #minetest
08:16 YuGiOhJCJ joined #minetest
08:33 nowhere_man joined #minetest
08:33 Tux[Qyou] joined #minetest
09:00 ANAND Emerald2: Those are for issues and PRs that "block" the upcoming release of Minetest, so to say
09:00 Emerald2 What do you mean?
09:01 ANAND i.e. They're even more important than the ones named high priority
09:01 ANAND e.g. Game-breaking bugs
09:02 Emerald2 Oooooooh. Thanks ANAND. :)
09:03 CWz joined #minetest
09:19 ANAND Yw :)
09:27 hecks joined #minetest
09:30 hecks https://a.cockfile.com/AgvsCm_skybox.mp4 one rewrite later
09:34 hecks The raymarch now basically costs nothing; it's spread over several seconds. Rasterization is the bottleneck but using non-square textures made it both faster and prettier.
09:39 Darcidride_ joined #minetest
09:39 DI3HARD139-m joined #minetest
09:52 Darcidride_ joined #minetest
10:40 fwhcat joined #minetest
10:54 cafee__ joined #minetest
11:44 riff-IRC joined #minetest
11:49 Fixer joined #minetest
11:50 LMD joined #minetest
11:52 Rafi59 joined #minetest
12:03 second joined #minetest
12:03 second how do i know my joystick ID?
12:06 calcul0n joined #minetest
12:19 Sokomine_ joined #minetest
12:29 Markow joined #minetest
12:33 andrej joined #minetest
13:06 Sokomine joined #minetest
13:11 FreeFull joined #minetest
13:29 second joined #minetest
13:39 cautiouspotato joined #minetest
13:41 entuland joined #minetest
14:00 Krock joined #minetest
14:28 fwhcat_ joined #minetest
14:31 cautiouspotato joined #minetest
14:35 CWz joined #minetest
15:13 Markow joined #minetest
15:43 SanskritFritz joined #minetest
16:09 cddepppp256 joined #minetest
16:18 Gael-de-Sailly joined #minetest
16:37 entuland hello everybody - is it possible to "refresh" the code of a mod while the world is running? - for development purposes, to avoid reloading the world for every change's test
16:39 rubenwardy not without a specially designed mod
16:39 rubenwardy you can dofile at anytime, so you could implement reloading like that
16:39 rubenwardy but you'll have to be careful not to introduce bugs by adding duplicate callbacks
16:40 Andrey01 joined #minetest
16:40 entuland good, thanks a lot for the pointers rubenwardy
16:44 Andrey01 hi, i have a problem with texture rendering on my model in blender. It renders properly in Solid mode, but incorrectly in Rendered one.
16:44 Andrey01 screenshot of how it renders in Rendered: http://www.imageup.ru/img144/3270027/screenshot_20190127_194251.jpg
16:44 entuland Andrey01: the problem is in blender or in minetest?
16:44 Andrey01 in blender
16:44 rubenwardy looks like the normals are facing the wrong way
16:45 rubenwardy try flipping facing which look weird
16:45 rubenwardy I'm not good with blender though
16:53 Andrey01 but why does it look like correctly in Solid? as i see the positions of each face on the unwrapping of the model are correct
16:57 rubenwardy because there won't be backface culling
16:57 rubenwardy idk though
17:01 xSmurf joined #minetest
17:01 entuland in any case there should be an option to show the actual direction of the normals, and that will tell you whether the normals are right or not
17:02 entuland it shows as a line orthogonal to each face, with the longest end pointing to the actual normal (that is, marking the "front" of the face) IIRC
17:31 Darcidride_ joined #minetest
17:44 kaeza joined #minetest
17:49 NathanS21 Andrey01 my guess would be that you don't have the material set up to use the UV mapping, so it's using box projection.
17:56 second how do i know my joystick ID?
17:57 rubenwardy on linux, by installing jstest-gtk
17:57 rubenwardy and then finding out which one reachs to changes
17:58 rubenwardy it's almost certainly 0
17:58 rubenwardy also, the controller support in Minetest isn't great because controllers vary per platform and per controller and per computer
17:58 second is there a best working controller?
18:04 second xbox i would imagine since it has a specific mention in the options?
18:06 rubenwardy I added the support for joystick IDs and for xbox controllers
18:06 rubenwardy however, xbox controllers only seem to work on my setup
18:06 rubenwardy because they are configured differently on windows
18:06 rubenwardy and other platforms
18:08 second i am trying it now with an xbox controller, it does a bit of moving around on its own it seems
18:14 valvey joined #minetest
18:15 valvey Hey guys just started playing, with mineclone 2
18:16 valvey I got pwned by a spider that somehow entered my hole through a wall, is that to be expected? I was thinking that making 2 or 3 blocks thick walls will counter this maybe
18:17 valvey And are there other such bugs that will cause me to lose progress in frustrating ways?
18:19 paramat joined #minetest
18:23 Andrey01 NathanS21, i have material :\
18:34 NathanS21 yes, but is it set to use the objects UV map.
18:34 Tuxedo[Qyou] joined #minetest
18:34 NathanS21 You can have a the material showing correctly in the 3d view, but not be applied when rendering.
18:35 calcul0n joined #minetest
18:39 Tux[Qyou] joined #minetest
18:39 illwieckz joined #minetest
18:50 Andrey01 NathanS21, i don`t know how to apply it when rendering, i only know how to apply in general case
18:51 Andrey01 that is, when switching to 'Material' editor and set up needed material
18:52 NathanS21 Are you using Blender Internal or Cycles?
18:53 NathanS21 nevermind, I just pulled the picture back up
18:53 NathanS21 If you go to the texture settings
18:53 NathanS21 look for a section that says mapping
18:54 NathanS21 you want to select UV from the dropdown menu
19:25 Superuser joined #minetest
19:25 Superuser hi
19:25 Superuser can i please have a wiki account?
19:26 Superuser :(
19:27 NathanS21 Way to stick around for somebody to try and help you. :S
19:40 DoyleChris joined #minetest
19:42 DoyleChris trying out the new mapserver and i cant get it running
19:43 DoyleChris it says to run ./mapserver but linux gives me this bash: ./mapserver.exe: No such file or directory
19:45 cafee__ joined #minetest
19:46 rubenwardy remove the .exe
19:47 DoyleChris i did still same error with ./mapserver
19:48 DoyleChris on the github its just 1 file with no extension
20:00 cafee__ joined #minetest
20:04 Fixer_ joined #minetest
20:52 Lia joined #minetest
21:06 Tux[Qyou] joined #minetest
21:54 entuland joined #minetest
22:02 Hawk777 joined #minetest
22:31 Xiong joined #minetest
22:52 Wuzzy joined #minetest
22:53 riff-IRC joined #minetest
23:32 arsdragonfly joined #minetest

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