Time Nick Message 11:16 sfan5 !mod basic_materials 11:16 MinetestBot sfan5: Basic Materials [basic_materials] by VanessaE - https://forum.minetest.net/viewtopic.php?t=21000 - https://gitlab.com/VanessaE/basic_materials 11:16 sfan5 repo gone? 11:16 sfan5 nah, URL just out of date 11:17 MTDiscord moved to https://github.com/mt-mods/basic_materials 13:10 MTDiscord Link is up to date on forum and cdb? Is there somewhere that was missed sfan5? 13:11 sfan5 MinetestBot pulls its data from krock's mod search 13:11 sfan5 and that one still goes to gitlab 13:15 MTDiscord Hmm, guess have to see where that gets it info from, thanks 17:12 MTDiscord erlehmann, r u there? 17:14 MTDiscord Command sent from Discord by j45: 17:14 MTDiscord !tell erlehmann just wanted to let u know that i made the chat logger simpler to use and the code is now readable 17:14 MinetestBot MTDiscord: yeah, yeah 17:48 Yad In the Lua API, what's the syntax for having the node refer to itself? 17:48 Yad I'm trying to for example, change the texture when the node is punched. 17:49 sfan5 ah 17:49 rubenwardy that's not possible unfortunately. Nodes use definitions, they're not prototype-based like entities 17:49 MTDiscord not that oop really :p 17:49 MTDiscord you can't dynamically change node definition on the fly AFAIK 17:49 sfan5 unlike with entities you don't have an "instance" of a node to work with 17:49 sfan5 I'm off now but I'm sure everyone else has more advice for you 17:49 rubenwardy Because they use a fixed definition, there's a limited amount of things you can change dynamically about a node 17:50 rubenwardy you have one 8-bit number called param2 that can be used to change things based on param2type, this can be used to color nodes or rotate them etc 17:50 Yad rubenwardy: Oooh! Good to know. So only entities have individually changeable properties? That might be an aspect of why the rendering is so efficient. 17:50 Krock 32 bits per node. 16 for its internal ID (i.e. the node name), 8 bits for light level, 8 bits param2 17:51 rubenwardy The way to do this would be to register multiple nodes 17:51 rubenwardy for example, the furnace is actually two nodes - one that's off, and one that's on 17:51 rubenwardy it then swaps when it goes off or on 17:51 Yad Yes I see what you mean rubenwardy 17:51 rubenwardy Yeah, rendering is efficient because we only store 32 bits per node 17:52 Yad Yep. :) 17:52 rubenwardy whereas entities would be much larger, to fit all the properties needed 17:52 Yad Yeah. 17:52 rubenwardy you can register up to 2^31 nodes 17:52 rubenwardy err 17:52 rubenwardy or 2^15 17:52 Yad So I would have to register a whole node definition for each possible texture, and change what node is at the position, rather than the properties of the node. 17:52 rubenwardy it's 2^15 = 32768 17:52 rubenwardy yeah exactly 17:53 rubenwardy some nodes are already registered by the engine, such as air and ignore 17:53 MTDiscord minus builtin nodes 17:54 Yad So we sacrifice simplicity in node definitions (in other words, we cause the need for many, many nodes to be defined, each with subtle variations) in order to gain simplicity in the world database. 17:55 Yad This puts my mind onto thinking about how to iterate the registering of node definitions using for loops, etc. :) 17:56 Yad Oooh, and another option would be to treat the texture as an animation with frame-rate zero? 17:56 Yad (And then advance the frame in on_rightclick etc.) 17:56 MTDiscord also some node like things been done with entities or combinations of simple node and entity 17:57 rubenwardy yeah, for example you can make a river mill by having a spinning entity 17:57 rubenwardy *watermill 17:59 Yad rubenwardy: Are attachments considered nodes, entities, or something else? As in ObjectRef's set_attach(parent) 17:59 rubenwardy you can only attach to another object 17:59 rubenwardy (an object is either a player or an entity) 17:59 rubenwardy Nodes don't move 17:59 rubenwardy so you can just place an entity in the right place and leave it there 18:00 Yad rubenwardy: Ah thank you! So "object" is the superset of "player" and "entity." Got it. :D 18:03 Krock !mod basic_mater 18:03 MinetestBot Krock: Basic Materials [basic_materials] by VanessaE - https://forum.minetest.net/viewtopic.php?t=21000 - https://github.com/mt-mods/basic_materials 18:16 Yad This is such a great article https://dev.minetest.net/List_of_hardcoded_features 18:17 Yad And it addresses a question which has been on my mind: the color of light. 18:17 Yad "This does not refer to colored lamps" does that mean the color of the lamp texture can be anything, but the light as it interacts with other surfaces, will be white? 18:18 rubenwardy correct 18:18 Yad redquasar: :) 18:18 Yad * rubenwardy :) 18:20 Yad Would I be correct to say there is currently no way to force a player's camera into third-person and/or first-person? 18:20 MTDiscord look at invector 18:20 MTDiscord there is no proper camera api however 18:31 Yad Jonathon: Thank you, I had viewed the list Game Jam list but hadn't noticed this! :) 18:52 Yad Fascinating technique...I've played a number of laps on the track, and I'm thinking: Invector is using an entity positioned in front of the camera, to create the impression that I am in third-person perspective? 19:23 Yad I'm about to study Loria because it changes the magnitude of gravity relative to position. 19:27 Yad Ahh, so it's the set_physics_override(override_table) function. But gravity can only be in a single vector? (up or down, but always vertical?) 19:28 Krock Yad: you can specify negative gravity.. but the physics engine won't be happy about that to say the least 19:28 Krock and yes. scalars only. 19:29 Yad Krock: ahh, thank you 19:29 Yad Krock: I wonder if I could simulate other vectors of gravity using some other force applicator? 19:30 Yad Krock: For example, if I wanted to make a small space station around a quantum singularity (black hole), and have players be pulled toward the center when walking on the outside shell. 19:30 Krock that'll be kinda difficult with the API we currently have 19:31 Krock there's always the possibility to attach the player to some invisible object... but that's far from ideal 19:31 Krock alternatively, consider finite decimal small punches using the punch_player (or so?) function 19:31 Yad Krock: I would imagine it might be difficult with the current API, yeah...I was imagining something like calculate_knockback 19:32 Krock or was it add_velocity() on a player? Lua API knows. 19:32 Yad Krock: I'm looking. ^^ 19:32 Krock yes. knockback is the way. 19:32 MTDiscord As Krock said, you'd be attaching the player to an entity. Entities can have arbitrary acceleration and might as well be pulled towards black holes. 19:32 Krock which then results in very jittery gameplay 19:33 Yad Krock: the knockback or the attachment to an entity? 19:34 Krock well, both. advantage of knockback is that players can still move freely during the server steps 19:34 Krock hence movement will be a lot more responsive compared to fixed ones (attachment) 19:35 Yad Krock: About add_velocity(), yes that appears to be the correct name. I notice lua_api.txt also says "free_Does not apply during free_move." 19:36 Pexin too bad the engine does not support arbitrary "ground" orientation 19:36 Krock free move to free move. seems logical. 19:36 Yad Pexin: Precisely. 19:37 Yad Pexin: As I desire to stack multiple planes of existence in the same Minetest world, I need localized gravity. 19:37 Yad We do have enough address space to render the entire surface of Earth in a Minetest world, it's simply stacked into a cube. :) 19:38 MTDiscord Krock: you better resume your work on camera roll 19:38 MTDiscord please 19:38 MTDiscord I need it 19:38 MTDiscord c55 had camera roll forever ago, theres a yt video for it if i recall correctly 19:39 Krock well. modders will complain if it's applied to everything, so it'll be yet another opt-in feature 19:39 MTDiscord of course! 19:39 MTDiscord I just want to make a 3d aerial combat game 19:39 MTDiscord https://www.youtube.com/watch?v=CeTjR5-IabY 19:40 Pexin I want, as a player, to be able to program aerial robot fighters 19:40 MTDiscord probably second best c55 video behind the minetest promotional video 19:40 Pexin whooosh 19:41 Yad luatic: That would be fun in a voxel world because crashes could leave craters, etc. :) 19:41 Yad Pexin: hehehe 19:41 mazes_83 lot of mods from vanessaE moved to mt-mods ? 19:41 MTDiscord yeah, she stepped down from minetest 19:42 celeron55 i think the concept in that video is still valid; it would need a concept review by another core dev, a rebase and a security review though 19:42 MTDiscord they all moved, a few of the texturepacks went to a few different github repos, others never found new homes 19:42 Yad celeron55: This video is quite impressive! 19:42 mazes_83 ok then I should update my refs in reps and update script 19:43 MTDiscord coughs in mt-mods > minetest-mods 19:43 Yad celeron55: It's a fork of Minetest you've made? 19:43 celeron55 i didn't even add the music, the music literally just started playing from a playlist and i felt like flying to it in real time. it's an improvizational art piece! 19:43 mazes_83 sad to hear pipeworks authors is out 19:43 celeron55 Yad: the ancient branch on github is linked in the description, i guess i got busy with something else right after 19:44 Yad celeron55: Hahaha, lovely! And I noticed the thin clouds, which got me to look at the date of publication ;) 19:45 Krock ._. camera rotation is not kept in camera.cpp but in game.cpp 19:45 Pexin pff ecco the dolphin 19:46 celeron55 anyway, that video didn't gain much attention back then, i guess modders were already puzzled enough by whatever apis were available back then 19:46 Pexin is it problematic that sometimes you want the camera orientation to match the player ori, but sometimes not? 19:47 celeron55 well... there are many comments to the video though 19:48 celeron55 in current terminology it uses a form of very limited SSCSM which tends to terrify everyone 19:48 MTDiscord Interesting, didn't know you did this c55. I'll have to look at that branch, as the goal was for us to someday allow some form of SSCSM to allow arbitrary client side physics and prediction (and camera control, for that matter) 19:48 celeron55 i made it before CSM existed so it uses none of the current implementations 19:49 MTDiscord The current expectation is that all SSCSM would come with (1) a warning that the server is sending you executable code, and (2) the ability to literally view the code before it executes, if you so wish 19:49 MTDiscord but, I'm glad to know you already tried/supported that at one time 19:49 celeron55 there's not a lot of overlap though, current CSM focuses on completely different things 19:50 MTDiscord yeah, the idea would be to expand what's possible with CSM 19:50 Yad This discussion reminds me of Rigidbody Physics API from April of this year: https://www.youtube.com/watch?v=chUy6uqWrOI 19:50 celeron55 how i would design it is anything coming from the server wouldn't run in the current CSM environment 19:51 celeron55 it should use a different very restricted lua environment, just like what i used in that video 19:51 MTDiscord fair, I was thinking the server sends you a single lua file, that only has access to physics calculations 19:51 celeron55 https://github.com/celeron55/minetest/compare/297546af3d3b5b3a07a61ade041ad7c26e9a531d..1f4ca9df4219768d7678ccccd5e6ceba720e2930 19:52 celeron55 look at the lua files there to see how it's used 19:52 MTDiscord basically, current enitity X,Y,Z, velocity, nearby collision boxes, and possible a paramtype kind of value that is passed in from the server 19:52 MTDiscord ha, okay yeah exact same idea then 19:53 MTDiscord I'll see if that can be brought back to life soon enough. 20:02 Yad exe_virus: I'm appreciating all of these thoughts. :) 20:34 definitelya I feel kinda bad I didn't manage to review all or most of the Game Jam minigames. 20:35 definitelya It was just a bit overwhelming, all those games. ^^' sorryyy 20:45 MTDiscord Theres still some time to review; the end date is inclusive, and im not going to disqualify reviews that happen on Dec 31st 20:46 MTDiscord Hey no worries, and besides you should try Little Lady ;) 20:48 definitelya Okay nice, yes I made sure to thumb up reviews in games where I didn't post one of mine, but if there's more time I will. 20:48 definitelya exe_virus: yeah! 20:54 Yad When using minetest.register_entity() am I required to wrap the list of default properties in a list called initital_properties? It doesn't mention that in lua_api.txt but Dokimi used it in making Exile. 20:55 MinetestBot 02[git] 04v-rob -> 03minetest/minetest: Improve TTF support for pixel-style fonts (#11848) 134a16ab3 https://git.io/Jy9Tu (152021-12-30T20:54:21Z) 20:55 MinetestBot 02[git] 04v-rob -> 03minetest/minetest: Add padding[] element to formspecs (#11821) 13544b9d5 https://git.io/Jy9Tz (152021-12-30T20:54:47Z) 20:56 appguru it does mention it in lua_api.txt 20:57 calcul0n_ yes here : https://minetest.gitlab.io/minetest/definition-tables/#entity-definition 20:58 Yad appguru calcul0n_ Oh, strange I couldn't find it the first time, I do see it now, thank you! :D 21:09 Yad Does the register_entity function fail silently? I get no error, yet when I use /giveme it shows "Cannot give an unknown item" 21:11 MTDiscord Entities aren't items 21:11 MTDiscord You spawn entities using /spawnentity 21:11 Yad luatic Oh, yes thank you! 21:12 Yad luatic: now that you mention it, I suppose all those Minetest games where you get eggs and such, those are items which can be used to spawn the entity when used, rather than entities themselves? 21:12 MCL Correct 21:12 celeron55 it would be a bit weird for the engine to have a concept of an egg 21:13 celeron55 not that it doesn't have a lot of weird things, but that's a weird thing it *doesn't* have 21:14 celeron55 so, make your own egg, basically 21:17 Yad celeron55: Understood. ^^b 21:17 Yad What does it mean when the entity appears as a tiny pink cube with some black? It looks like it's trying to say invalid mesh? 21:18 Yad (I'm using the Minetest-recommended B3D exporter for Blender.) 21:18 MTDiscord oof 21:18 MTDiscord well, make sure you're exporting normals 21:19 Yad luatic: I'm happy to use some other mesh format, I just thought I had to use B3D. I remember there was a nice human-readable one (ASCII encoded) but I wasn't sure if Minetest could handle any. 21:20 appguru Minetest supports Wavefront OBJ 21:20 appguru That's the ASCII-encoded one 21:20 appguru If you want animations though, you'll have to use B3D or .x 21:20 Yad appguru: Ooh, that would be so much better! Yeah, I'm thinking I might try to write the animations in Lua. 21:21 appguru Animations in Lua are limited to an object level. You can change position, scale, rotation and attachments. It is powerful. 21:22 Yad appguru: yes it looks very powerful, if I define bones in the Lua rather than Blender. 21:23 appguru You can't define bones in Lua I'm afraid. 21:23 appguru If you want bones, you will have to use B3D or .x 21:25 Yad appguru: Hmm, the Lua API literally uses the term "bone" though, does it not? 21:25 appguru set_bone_position only works on bones that are defined in the model file 21:25 appguru you can only change bones 21:25 Yad appguru: Ohhh! 21:26 Yad appguru: I'm glad I asked before trying to make that work. :) 21:33 Yad Is there any way to get the index of the biome at a given position? 21:34 Yad (given the Perlin noise seed of the current world and all that) 21:34 Yad I'm thinking in terms of creating transitions between biome borders (e.g. tundra vs. desert, the snow melting near the edge of the tundra) 21:35 appguru There are ways, but you have to reimplement engine functionality AFAIK 21:35 Yad appguru: I imagine I'll be getting to that. >:D 22:01 MCL celeron55: What's in your YouTube profile picture? 22:01 MCL Like where is the picture from? 22:05 celeron55 i don't even know, it's just my google account 22:06 MTDiscord lets find out 22:06 celeron55 i don't know where the image is from, i don't have permission to use it, but it's easily recognizable and i like it 22:07 celeron55 the perks of not running a business is you don't always have to care 22:13 MTDiscord Its a frame of the character Marjane Satrapi from the 2007 film "Persepolis" 22:14 Yad appguru luatic: I found the problem with the B3D exporter -- it appears to only export the previously saved version of the Blender file. :D 22:14 MTDiscord appguru has an exporter? 22:15 appguru I have an experimental one as part of modlib hehe, but that's not released (or working) yet 22:15 appguru Yad is referring to your exporter I assume 22:15 MTDiscord sounds like it 22:15 MTDiscord but that issue sounds like user error unless youre running 3.0, which the exporter does not support 22:20 Yad appguru: You are correct https://github.com/GreenXenith/io_scene_b3d 22:20 Yad It's an honor to finally meet (in text) all these people who's work I've been admiring for over two years. ^^ 22:20 Yad *whose 22:29 MTDiscord erlehmann did u see my msg? 22:30 erlehmann j45 yes could you give me the link again? 22:30 MinetestBot erlehmann: Dec-30 17:14 UTC just wanted to let u know that i made the chat logger simpler to use and the code is now readable 22:31 MTDiscord https://github.com/Minetest-j45/mt_chat_logger 22:32 MTDiscord ^ himbeer helped me out a bunch btw 22:56 Yad Interesting...I have to use visual_size = {x = 10, y = 10} to get register_entity to use 1:1 vs. B3D models exported from Blender? 23:00 celeron55 yeah that's a... "feature" 23:04 Yad celeron55: So the default scale is 1 m in Blender = 0.1 m in Minetest? 23:05 v-rob That's how it goes. It's annoying BS to deal with. 23:05 * v-rob snickers at development joke 23:06 Yad v-rob: I don't mind. I just needed a definitive notion of what the scale is. :) 23:13 MTDiscord node meshs and entity meshs are different