Luanti logo

IRC log for #luanti, 2025-10-19

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

All times shown according to UTC.

Time Nick Message
00:37 Emerald2 joined #luanti
00:37 sofar joined #luanti
01:05 Eragon joined #luanti
01:15 SFENCE joined #luanti
01:29 ___nick___ joined #luanti
01:32 ___nick___ joined #luanti
01:58 SFENCE_arch joined #luanti
02:21 SFENCE joined #luanti
03:33 SFENCE joined #luanti
03:48 SFENCE joined #luanti
04:00 MTDiscord joined #luanti
04:50 SFENCE joined #luanti
04:58 tzenfore joined #luanti
04:58 SFENCE_ joined #luanti
05:01 SFENCE joined #luanti
05:07 SFENCE_ joined #luanti
05:13 SFENCE joined #luanti
05:18 SFENCE_ joined #luanti
05:23 SFENCE joined #luanti
05:26 SFENCE_ joined #luanti
05:43 SFENCE joined #luanti
05:47 repetitivestrain rubenwardy: and Xeno333, if you're listening, regarding: https://github.com/luanti-org/luanti/issues/16240
05:49 repetitivestrain "What to do if a game contains a mapgen mod? I guess it's required, or we need to have the ability to disable certain game mods?  Yes it would have to be required, all game mods are required."
05:49 repetitivestrain is not true in the least--mcl_levelgen, mineclonia's lua mapgen, is always enabled, but only when the current mapgen is singlenode, and can be disabled through a global setting, or an option in map_meta.txt.  the mod itself cannot be disabled as it also provides structure generation for the built-in mapgens
05:50 repetitivestrain what games would benefit from the most would be the ability to define their own create new world dialogs, but absent that, the next most ideal solution would be the ability to define custom mapgen settings for singlenode in particular
05:53 repetitivestrain btw, for the present, i think mapgen mods will all of them be completely game-specific, and it would be a profound misuse of time to attempt to support game-agnostic map generator mods in the create world dialog
05:54 SFENCE joined #luanti
05:54 repetitivestrain at the moment they tend only to support MTG and its derivatives
05:55 repetitivestrain and obviously there's not a snowball's chance in hell that my map generator, which was initially designed by mojang for minecraft, will function independently of mineclonia, but i digress
06:08 jaca122 joined #luanti
06:27 sparky4 joined #luanti
06:32 FeXoR joined #luanti
07:06 [MatrxMT] <birdlover32767> by meshes i meant drwatype="mesh" nodes
07:37 Talkless joined #luanti
08:22 Warr1024 joined #luanti
08:25 SwissalpS joined #luanti
08:41 YuGiOhJCJ joined #luanti
08:47 Warr1024 joined #luanti
09:20 mrkubax10 joined #luanti
10:43 SFENCE joined #luanti
11:15 mrkubax10 joined #luanti
11:38 turtleman joined #luanti
12:06 Meli joined #luanti
12:30 mrkubax10 joined #luanti
12:37 PoochInquisitor joined #luanti
13:04 wallabra joined #luanti
13:41 [MatrxMT] <Blockhead256> I hope someone ports it to MTG, for teh lulz
13:41 [MatrxMT] <birdlover32767> you can copy the lua file and alias the nodes and by then you just have 30 mins of debugging left
13:42 [MatrxMT] <Blockhead256> hahah, well, if it's so simple, I'm sure you can handle it
13:42 repetitivestrain it's far more involved than that
13:42 repetitivestrain the entire game must observe discipline wrt handling un-postprocessed mapblocks
13:42 [MatrxMT] <birdlover32767> so you're saying it would be easier to remake minetest game with the mapgen?
13:43 repetitivestrain which is to say, all features must be modified not to alter mapblocks till mcl_levelgen.is_protected_chunk returns false
13:43 repetitivestrain i don't understand what you're asking
13:43 repetitivestrain sorry
13:44 repetitivestrain but my point is that for this lua mapgen to work in other games, those games, and all of their mods, would also need to be modified not to register any on_generated callbacks of their own, or do anything whatever that might be disturbed by sudden asynchronous modifications to locked mapblocks
13:45 [MatrxMT] <birdlover32767> would entirely remaking all of minetest game's content be easier than awkwardly patching everything to not alter generating chunks
13:45 repetitivestrain i don't know
13:45 repetitivestrain i patched mineclonia in the span of a few weeks
13:45 [MatrxMT] <birdlover32767> i mean... there is only a handful of stuff that do that (trees, fire, and few abms)
13:46 repetitivestrain liquid transformations
13:46 repetitivestrain ...
13:46 repetitivestrain that one was the most difficult
13:46 [MatrxMT] <birdlover32767> just copy the mineclonia liquid lua file and awkwardly patch it again
13:47 repetitivestrain yeah, that won't suffice
13:48 repetitivestrain even the initialization code itself requires cooperation from mcl_init
13:48 repetitivestrain but what i wanted to illustrate was that mapgen mods are generally game-specific, in that everything now available only supports a single game (or family of games, such as MTG and its derivatives)
13:49 [MatrxMT] <birdlover32767> just co- oh wait this is just copying stuff from mineclonia until mtg becomes mineclonia
13:49 repetitivestrain yes
13:50 [MatrxMT] <birdlover32767> i mean the at least what you could do is change the textures and remove some stuff (copper, amethyst) and call it "lightly modded mtg"
13:50 repetitivestrain and consequently game-specific mods should be the focus of any proposal for a extensible map generation configuration dialog
13:50 repetitivestrain interesting trivia of the day: mineclonia is actually MTG-based
13:50 repetitivestrain i am told that it was forked from a very early 0.4.x release of minetest game, which was long before my time
13:50 [MatrxMT] <birdlover32767> mineclonia <- mineclone 2 <- mineclone <- mtg
13:51 repetitivestrain yes
13:51 repetitivestrain well Mineclone 2 is VoxeLibre now
13:52 [MatrxMT] <birdlover32767> voxelibre is technically just a branch off of mineclone 2
13:52 [MatrxMT] <birdlover32767> just like how luanti is technically a branch of mtg
13:52 Krock wat
13:53 Krock there is no Luanti game
13:53 repetitivestrain yeah, what lol
13:53 repetitivestrain for an extensible map generation configuration dialog*
13:53 [MatrxMT] <birdlover32767> luanti <- minetest <- minetest with mtg <- minetest with hardcoded mtg
13:53 Krock https://i.kym-cdn.com/entries/icons/facebook/000/026/618/ZEBxqIA.jpg
13:54 Krock hardcoded mtg? 0.3.x had hardcoded nodes and items, but that wasn't called MTG
13:55 [MatrxMT] <birdlover32767> well it would be weird to say minetest: the engine with minetest: the game hardcoded in
13:55 Krock minetest with hardcoded content
13:56 [MatrxMT] <birdlover32767> that's better
13:56 repetitivestrain anyway, would someone forward the response i posted to #16240 before the conversation segued onto the subject of porting mineclonia mods to MTG?
13:56 ShadowBot https://github.com/luanti-org/luanti/issues/16240 -- Add lua defined mapgens, as true mapgens in game.conf and world creation
13:58 repetitivestrain > depends = mcl_init, mcl_util, mcl_worlds, mcl_player, mcl_liquids, mcl_mapgen_models
13:58 repetitivestrain it'd be a tough cookie to port, that's for certain
13:58 repetitivestrain certainly not a matter of defining aliases and twenty minutes of hacking
13:59 qqe joined #luanti
14:01 Krock mapgen = true in mod.conf would make sense
14:02 repetitivestrain maybe, but what purpose would it serve?  game-provided mods are _always_ enabled, but clearly many games will provide options elsewhere to disable their custom map generators
14:03 repetitivestrain so what would be most immediately useful would be a facility enabling such mods to define additions to the mapgen options menu
14:03 repetitivestrain rather than an option designating a mod as a mapgen mod which is exclusive of all other mods of the same type and which takes effect whenever it is enabled
14:10 user333_ i don't see a point in 'mapgen mods' that are their own type of mod, however there should be ways to register a mapgen more easily without overriding singlenode
14:13 MTDiscord <wsor4035> https://github.com/luanti-org/luanti/issues/16240#issuecomment-3419700542
14:14 smk I have a question, is this error due to some misconfiguration/ engine generated ? it looks like someone is flooding the server ~ i am running 5.14.0 release
14:14 smk 2025-10-19 13:20:46: WARNING[ConnectionSend]: con(4/1) Packet quota used up for peer_id=45134, was 128 pkts
14:14 repetitivestrain wsor4035: thank you
14:14 smk there are over 50-60 entries per second
14:14 smk with different peer_id
14:14 MTDiscord <wsor4035> you probably have some mod sending a flood of hud instructions or something else that needs to be sent to the client
14:15 smk packets sizes is not constant, it started with 75, 128, 170 now
14:15 smk each different times of day
14:19 smk it could be a mod, i have recently added bunch of updated mesecons and digilines stuff
14:21 user333_ mesecons are very resource-intensive
14:52 smk yep true, especially technic pipes
14:59 MTDiscord <tx_miner> See my response on GitHub, but in addition about games and such, I think we would want to add a lua-mapgen = false To game conf to allow games to block them from appearing in the world creation menu.  Default to true, or we could do the inverse and only allow lua-mapgens in games that allow it.
15:02 mrkubax10 joined #luanti
15:04 repetitivestrain tx_miner: how is it possible to define a game-agnostic mapgen mod when there's no means of providing mapgen objects to games?
15:05 MTDiscord <tx_miner> There is though
15:05 repetitivestrain How?
15:06 MTDiscord <tx_miner> Some are shared by the Engine during load time
15:06 MTDiscord <tx_miner> And the rest are defined by the Engine in both environments
15:06 repetitivestrain the problem is that you cannot modify mapgen objects handed to you by the engine
15:06 repetitivestrain and modifications would never be transferred across environments
15:06 MTDiscord <tx_miner> I made V8 on my PR I had made to demonstrate it
15:07 MTDiscord <tx_miner> They are by the Engine
15:07 repetitivestrain but on a more apposite note, you appear to have misunderstood the heart of my objection, i.e., that there are instances where a game-supplied mapgen mod, which _MUST_ be enabled but are toggled by other game-provided means
15:07 repetitivestrain https://github.com/Xeno333/v8/blob/main/mapgen.lua?
15:07 repetitivestrain can you inform me where your mapgen provides a heightmap object
15:07 MTDiscord <tx_miner> Ok so where they are disabled ?
15:08 repetitivestrain are you speaking of mapgen objects or game-supplied mapgen mods?
15:08 MTDiscord <tx_miner> In which reply?
15:08 repetitivestrain "ok so where are they disabled?"
15:08 repetitivestrain ... provides a heightmap object ... which is to say, where it computes a heightmap in on_generated and provides it to on_generated callbacks in the main lua environment?
15:10 repetitivestrain IMNSHO, the issue facing all game-agnostic mapgen mods is that the engine is simply not there yet as regards enabling lua mapgens to communicate the same information to games, mods, and engine facilities by the same means as built-in mapgens
15:10 MTDiscord <tx_miner> Ok so, first data can be shared between environments during load time, we already do this a lot.   Second most of that is setting based which can be read from the mapgen environment.  Eg in 1042 I load the mapgen API into both environments so that I can use for both mapgen and for Spawning
15:11 repetitivestrain heightmaps are returned by core.get_mapgen_object
15:11 MTDiscord <tx_miner> Sure it's not perfect
15:11 repetitivestrain as far as i am aware, it is _not possible_ to alter values yielded by this function
15:11 MTDiscord <tx_miner> But the function isn't even needed and can be overriden anyway
15:11 repetitivestrain and, to give another example, you can't provide gennotifies other than those of `custom' type
15:12 repetitivestrain the function might not be required by minetest game, but it is by mineclonia
15:12 MTDiscord <tx_miner> That is the Biggest problem
15:12 repetitivestrain no it's not
15:12 MTDiscord <tx_miner> What changes would break mineclonia?
15:13 repetitivestrain there would be no heightmap object, and mineclonia would fail to generate certain types of structures or decorations
15:13 repetitivestrain you can't call a mapgen "game-agnostic" if it only functions with game X and game Z whose common characteristic is that they refrain from availing themselves of all the facilities provided by the engine
15:13 MTDiscord <tx_miner> There would still be a hightmap
15:13 kamdard__ joined #luanti
15:14 repetitivestrain core.get_mapgen_object ("heightmap") returns nil on singlenode, if i'm not mistaken
15:14 repetitivestrain and even if it didn't, its contents would be all zeros
15:14 MTDiscord <tx_miner> And?
15:14 MTDiscord <tx_miner> Don't use singlenode
15:14 repetitivestrain and?  generation failures or crashes would ensue
15:14 MTDiscord <tx_miner> Just mark it as disallowed
15:14 repetitivestrain then you'll get an incorrect heightmap from whatever mapgen was enabled before your lua map generator overwrote its terrain
15:15 MTDiscord <tx_miner> No I'm saying disallow lua mapgen if you can't support singlenode
15:16 repetitivestrain and how does that comport with your assertion of "game-agnostic map generators are already possible?"
15:16 MTDiscord <tx_miner> Some games areapgen specific
15:16 repetitivestrain which is not qualified with the condition, "only in cases of games that rely on a limited selection of engine facilities"
15:18 repetitivestrain tx_miner: no, these games are perfectly capable of supporting any mapgen the engine has to offer
15:18 MTDiscord <tx_miner> Some games are tied to mapgen in the engine, that's not my fault. Any game that would function with any of the Engine provided mapgen a would work
15:18 repetitivestrain then it's not truly "game-agnostic," in the sense that has been established by the engine generators
15:18 MTDiscord <tx_miner> If singlenode is allowed then a lua-mapgen would run fine
15:19 repetitivestrain no, games go out of their way to DISABLE critical functionality when singlenode is enabled
15:19 MTDiscord <tx_miner> The mapgen is but the games aren't all mapgen agnostic that's my point
15:19 MTDiscord <tx_miner> Not all, so.e just reimplement it
15:19 repetitivestrain in the expectation that this functionality will be pointless because the world will be nothing but air
15:20 MTDiscord <tx_miner> Ye again this would be why it's a NEW feature
15:20 repetitivestrain such a new feature would be totally pointless with the present condition of the engine
15:20 MTDiscord <tx_miner> And yes if you want to use it you would have to improve your code in games. But it doesn't break things on its own, we could even make it so games have to allow it
15:21 MTDiscord <tx_miner> The only way to change the present condition is to improve the engine
15:22 repetitivestrain then it should be improved first (by enabling mapgen mods to reuse the engine biome and decoration system, generate heightmaps, and non-custom gennotifies) before functionality is exposed to users in a condition that is impaired by these outstanding deficiencies
15:23 repetitivestrain when it is impossible to define a game-agnostic lua map generator that is capable of substituting for an engine map generator in its entirety, such map generators must not be represented as having the same precedence as the engine ones
15:24 repetitivestrain as i said, mineclonia's lua map generator will only support mineclonia, the islands mapgen mtg, LOTT's mapgen LOTT, and unter null is too rudimentary to be considered in this context at all, as it doesn't so much as support biomes
15:25 repetitivestrain but all of these extant mapgens stand to benefit greatly from the ability to interpose their own options into the map generator options menu
15:26 MTDiscord <tx_miner> V8 is mapgen agnostic
15:27 repetitivestrain and reading that thread from the beginning, i see that sfan5 has also made the same observations
15:27 repetitivestrain https://github.com/luanti-org/luanti/issues/16240#issuecomment-2972506052
15:27 repetitivestrain tx_miner: how can it be, when it does _not_ provide a heightmap, which every engine mapgen does and mods have every right to expect from a mapgen advertised as an equal of the built-in map generators?
15:28 MTDiscord <tx_miner> Yes, though noone else IS working on exposing mapgen mods more
15:28 repetitivestrain Hmm?
15:28 MTDiscord <redundantcc> repetitivestrain: how would you want the single node height map to be calculated? Single node by design does not add anything to the map, and height maps are contingent on the type of world generation being used to generate the world. To put it in a way that sounds more straightforward, a height map for a super flat is going to look different then height map for an extreme hills. As a result the height map for single note is literally 0
15:28 MTDiscord everywhere at best, which isn't even technically correct since there aren't blocks at that position either?
15:28 MTDiscord <tx_miner> Singlenode does. Provide one I think but it is fixed the thing is bc a mapgen mod loads in both environments partly it allows it to override the engine definition
15:29 MTDiscord <tx_miner> I think it just returns 0 for all coords
15:29 repetitivestrain redundantcc: i do not want singlenode to calculate a heightmap, but for lua mapgens executing after singlenode to compute one from their own terrain
15:29 MTDiscord <redundantcc> You want access to the perlin noise generator?
15:29 repetitivestrain and be allowed to provide this through the usual mapgen object facilities to mods
15:29 repetitivestrain ?
15:29 MTDiscord <tx_miner> But again it can be overriden by redefining it in the mapgen mod
15:29 repetitivestrain i have my own perlin noise generator
15:30 repetitivestrain it doesn't work, as mods cache core.get_mapgen_object
15:30 MTDiscord <redundantcc> Then why can't you generate your own height map?
15:30 MTDiscord <redundantcc> Just override the function
15:30 MTDiscord <redundantcc> If you want to provide support for it
15:30 repetitivestrain redundantcc: ^^^ for the reasons aforesaid
15:30 MTDiscord <tx_miner> Ilbut at load time mapgenwould be given priority and override before the calls are placed
15:30 repetitivestrain i cannot force mods to depend on mine
15:31 sfan5 you can with first_mod, in a game, tho
15:31 repetitivestrain Hmm
15:31 sfan5 but the bigger problem with this is that you need to override the function in both the mapgen envs and the normal env and then keep that in sync
15:31 MTDiscord <tx_miner> But in my PR I already gave mapgen mods priority
15:31 MTDiscord <redundantcc> Isn't the async environment unavailable for overriding?
15:31 sfan5 the engine should just provide this as a feature instead of inviting increasingly complicated workarounds
15:31 MTDiscord <tx_miner> But I defined them to load on both which was my point
15:32 MTDiscord <tx_miner> No
15:32 repetitivestrain but a game can only handle its own lua mapgen(s), which just drives my initial point home
15:32 MTDiscord <tx_miner> I agree
15:32 MTDiscord <tx_miner> No it doesn't
15:32 MTDiscord <tx_miner> Bc they can be agnostic how I impimented before
15:33 repetitivestrain namely that currently, game-agnostic map generators are a chimera, and so any effort towards defining custom mapgen options should proceed from the needs of games
15:33 MTDiscord <redundantcc> Wait when you spawn an async environment for map generation it copies whatever metadata is overwritten from the core.* API including changes? I thought it spawned a separate process or thread and reinstanced Lua?
15:33 MTDiscord <tx_miner> I can add the hight map  overridea to V8
15:33 repetitivestrain tx_miner: and i'm as i said, your approach is not yet capable of supporting as broad a selection of games as the engine map generators
15:33 repetitivestrain and therefore can't be properly called "mapgen-agnostic"
15:33 sfan5 no, nothing overridden from core.* is copied
15:34 MTDiscord <tx_miner> But bc of the overrides all I have to do is dofile(overrides.lua) in both environments
15:34 MTDiscord <redundantcc> Oh that's what I thought
15:34 MTDiscord <tx_miner> I'll do it later and show u what I mean
15:34 MTDiscord <redundantcc> You don't control other mods and can't force them to override the core environment if they provide async map generation separately from you. This just needs to be an engine feature.
15:35 repetitivestrain exactly
15:35 MTDiscord <tx_miner> No I'm saying the mapgen mod has to override them
15:35 MTDiscord <tx_miner> If it wants to be agnostic
15:35 repetitivestrain and before such a feature exists there's little purpose in giving custom mapgen mods equal status to engine ones
15:35 MTDiscord <tx_miner> Which is possible
15:35 MTDiscord <tx_miner> Engine mapgen don't even make sense though
15:36 repetitivestrain also, it's not, as there are numerous instances in the engine where heightmaps are directly accessed from Mapgen objects
15:36 MTDiscord <tx_miner> But they can be overrideen in lua
15:37 repetitivestrain not necessarily the heightmap i mean, but mapgen objects in general
15:37 MTDiscord <redundantcc> It would honestly be cool if map generators were implemented via something like a main menu mod, that way you could change the main menu and implement significant changes to the API before that API is copied to spin off new generator threads. But that requires an entire menu system and changes to cdb to support a new content type, and with how many releases get put out a year it's probably not going to happen for a while.
15:37 repetitivestrain which cannot be overridden
15:37 repetitivestrain as the accesses are performed in C++
15:38 MTDiscord <tx_miner> We do need main menu mods
15:38 repetitivestrain e.g., accesses to the biomemap in core.generate_decorations
15:38 MTDiscord <tx_miner> I meant the lua API calls for them
15:38 MTDiscord <redundantcc> Though if map generators were implemented in Lua in a way similar to how mods are, it would force the core developers to run into the same issues we would and it would get implemented pretty quickly since they would hit all the edge cases before releasing.
15:38 repetitivestrain tx_miner: how would you wrap core.generate_decorations so that a user-specified substitute biomemap is consulted in place of the mapgen object's?
15:38 MTDiscord <redundantcc> But that's a lot to expect, free implementing World Generation isn't something I would wish on a bully let alone people I actually like.
15:39 MTDiscord <tx_miner> By reimplementing a customer definition and using mapgen defined parameters in both mapgen and mod environments
15:39 MTDiscord <tx_miner> I've done it before
15:40 repetitivestrain the decoration system is implemented in C++
15:40 MTDiscord <tx_miner> Not with that function but in general
15:40 repetitivestrain but at that point it's no longer game-agnostic
15:40 repetitivestrain as games have every reason to assume core.generate_decorations to be mapgen-agnostic
15:40 MTDiscord <tx_miner> But the call can be overriden to use mapgen provided version
15:40 silverwolf73827 joined #luanti
15:40 MTDiscord <tx_miner> It is still game agnostic
15:40 repetitivestrain which is where, exactly
15:41 MTDiscord <tx_miner> What?
15:41 repetitivestrain when has anyone implemented and kept constantly up to date all of mg_decoration.cpp?
15:41 sfan5 can't you compile wasm to lua? :^)
15:41 repetitivestrain not even biomegen's implementation is a drop-in replacement, and its age is also showing
15:41 repetitivestrain possibly, i wouldn't know
15:42 MTDiscord <tx_miner> They don't have to match the engine bc it's a mapgen custume version
15:42 repetitivestrain then it's not game-agnostic...
15:42 MTDiscord <tx_miner> That doesn't even make sense
15:42 MTDiscord <tx_miner> All mapgen are different
15:43 repetitivestrain redundantcc: i am actually quite satisfied with the state of facilities involved in creating custom map generators in general, though #16429 would be nice to have in 5.15
15:43 ShadowBot https://github.com/luanti-org/luanti/issues/16429 -- Allow mapgen chunk size to be non-cubic by sfan5
15:43 MTDiscord <tx_miner> They are supposed to be. The idea of lua-mapgen is to make a custome type
15:43 sfan5 repetitivestrain is arguing for a mapgen that supports (optionally) reusing the engine's biome, decoration and similar facilities
15:43 repetitivestrain your custom implementation will still need to parse decoration definitions and suchlike
15:44 repetitivestrain as i said, the engine is not yet ready to support these use cases
15:44 repetitivestrain yes
15:44 MTDiscord <tx_miner> I agree, but they would have to be reimplemented I lua due to how singlenode works
15:44 MTDiscord <tx_miner> Yes it is, they are shared already
15:44 sfan5 no they don't?
15:44 MTDiscord <tx_miner> I do this in v8
15:44 MTDiscord <tx_miner> Yes they are
15:44 sfan5 I don't see what prevents singlenode from having biomes and decorations
15:45 MTDiscord <tx_miner> Guys, I did it all in v8 already
15:45 repetitivestrain and till they are, i don't think it's justified to represent lua mapgens as anything remotely akin to equals of the engine's map generators
15:45 MTDiscord <tx_miner> Decorating and all
15:45 MTDiscord <tx_miner> Bruh, I already did it
15:45 sfan5 what is this v8 thing
15:45 repetitivestrain v8's decorations won't respect the biomemap (which yours truly fixed in 5.14)
15:45 repetitivestrain https://github.com/Xeno333/v8/blob/main/mapgen.lua
15:45 repetitivestrain sfan: judge for yourself
15:46 repetitivestrain sfan5: judge for yourself*
15:46 repetitivestrain and the ores still won't
15:46 MTDiscord <tx_miner> But I can override biome map if I want in v8 and the. It will
15:46 MTDiscord <tx_miner> Or at least the game can't tell the difference
15:46 sfan5 a lua mapgen that does its own biome-respecting terrain gen?
15:46 repetitivestrain almost
15:47 MTDiscord <tx_miner> Yes
15:47 MTDiscord <tx_miner> Mostly
15:47 repetitivestrain v8's biomes are not reported as mapgen objects and cannot affect ore generation
15:47 sfan5 switching to a partial lua reimplementation isn't the solution to engine flexibility problems
15:47 MTDiscord <tx_miner> Ye but I can fix it, it was only there as a proof of concept anyway
15:48 MTDiscord <tx_miner> I agree but no one wants to fix the engine
15:48 repetitivestrain tx_miner: your ores will not respect the biome map, and you _cannot_ fix this without reimplementing all of core.generate_ores in lua, or modifying C++
15:48 MTDiscord <tx_miner> Ye i know, that's why I would reimplement it, that's what I said
15:48 repetitivestrain and that's really a fool's errand
15:48 MTDiscord <tx_miner> Lol
15:49 sfan5 if "no one" will fix the engine you are free to keep stacking more workarounds
15:49 repetitivestrain which no one will actually attempt
15:49 sfan5 but it's still not the right solution
15:49 MTDiscord <tx_miner> Luanti dev is in general
15:50 MTDiscord <tx_miner> I agree
15:50 repetitivestrain so, in the meantime, all i'm asking is, don't let's add a main menu feature that not only will not serve the requirements of the lua mapgens that actually exist and work correctly, but will also deceive users and developers alike as regards lua mapgen compatibility in general
15:50 MTDiscord <tx_miner> Fair enough
15:50 MTDiscord <tx_miner> We do need game defined menu mods tho
15:50 MTDiscord <tx_miner> And per world settings
15:51 repetitivestrain because, in mineclonia, i have an 83,000 loc Lua map generator, and i have been pulling my hair out since day one over its user interface aspects
15:52 MTDiscord <tx_miner> Lol
15:52 repetitivestrain while this proposal (#16240) doesn't address its concerns at all
15:52 ShadowBot https://github.com/luanti-org/luanti/issues/16240 -- Add lua defined mapgens, as true mapgens in game.conf and world creation
15:52 MTDiscord <tx_miner> 83k is crazy
15:52 MTDiscord <tx_miner> Fair we probably need per world settings first
15:52 repetitivestrain not very much, i think
15:52 repetitivestrain https://codeberg.org/mineclonia/mineclonia/pulls/3419
15:52 MTDiscord <tx_miner> Ig that's what I'll do for a while
15:52 repetitivestrain sure, thanks
15:53 MTDiscord <tx_miner> Aye aye
15:55 MTDiscord <tx_miner> 1042 is like < 1000 lines of mapgen  I think
15:55 MTDiscord <tx_miner> Maybe a bit more but around that
15:56 mrkubax101 joined #luanti
15:57 repetitivestrain tx_miner: i do envy you haha, your game is considerably simpler than minecraft
15:58 MTDiscord <tx_miner> Ye tho I think Minecraft tries to over complicate life
15:58 repetitivestrain the density functions alone, which are the fundamental units of a minecraft map generator definition, require >2000 lines of code to implement
16:00 MTDiscord <tx_miner> No way
16:00 MTDiscord <tx_miner> I bet I could get that down to 1800
16:00 MTDiscord <tx_miner> XD
16:01 MTDiscord <tx_miner> Ur lead dev of mineclonia?
16:01 MTDiscord <tx_miner> That's actually crazy how complex they try and make stuff
16:02 MTDiscord <tx_miner> And they still have no end update
16:03 MTDiscord <tx_miner> I am deeply sorry for you
16:22 [MatrxMT] <repetitivestrain> No, but I've been developing plenty of features for it lately
16:25 [MatrxMT] <repetitivestrain> https://codeberg.org/mineclonia/mineclonia/src/branch/main/mods/MAPGEN/mcl_levelgen/density_funcs.lua
16:25 [MatrxMT] <repetitivestrain> Go ahead, I'd be grateful of it
16:28 mrkubax10 joined #luanti
16:56 MTDiscord <redundantcc> Minecraft World Generation isn't that slow, it's just poorly optimized. If I remember correctly, someone got a decent server running on a cheap microcontroller.
16:56 MTDiscord <redundantcc> Found it: https://youtu.be/p-k5MPhBSjk
17:00 Krock can Luanti run on a toothbrush?
17:01 user333_ only one way to find out
17:02 user333_ "Can it run DOOM" -> "Can it run Luanti"
17:05 MTDiscord <redundantcc> Better question, can luanti run Doom? || Probably, if you used a hudspec Library you could get a decent approximation||
17:06 MTDiscord <redundantcc> Sad part is you could never post it on cdb due to licensing so it'll never get made.
17:07 user333_ can luanti run luanti
17:08 user333_ the closest thing i've found to that is someone who ported a web browser to luanti, you could go to the web MT client and play on that
17:10 fluxionary joined #luanti
17:20 MTDiscord <tx_miner> I think imma make a new mine is and try to port games ONTO it
17:21 MTDiscord <tx_miner> Ye sure I'll take a look
17:42 ___nick___ joined #luanti
17:46 kamdard_ joined #luanti
17:46 Trifton_ joined #luanti
17:51 MTDiscord <nathan4220776> It's important to mention that it's not real minecraft.
17:51 MTDiscord <nathan4220776> And the terrain generation is much worse because of the hardware constraints.
17:52 MTDiscord <nathan4220776> Never say never. A person could probably make a "xonotic" mod, and then someone could make a doom mod for the xonotic mod. ;)
17:54 MTDiscord <redundantcc> What's a xonot? I'm talking about the licensing of the original textures, the code itself is doable but you can't port something if from a legal perspective making it look the same isn't allowed?
17:56 cx384 joined #luanti
17:59 MTDiscord <nathan4220776> Xonotic is a Quake-like open-source fps game.
17:59 MTDiscord <nathan4220776> And there are quake-like and doom-like mod packs available for it.
18:00 MTDiscord <nathan4220776> So while the original doom textures may or may not be safely usable in a minetest mod, you could probably use stuff from Xonotic instead.
18:01 MTDiscord <nathan4220776> On some servers, you can do some silly things like using quake-style weapons on a minecraft-themed map while playing as Duke Nukem.
18:01 MTDiscord <redundantcc> Isn't using a separate engine cheating, I mean if you're going to circumvent the need for this specific engine why not just get Doom running on a pregnancy test?
18:02 MTDiscord <redundantcc> Oh come on I was joking! https://youtu.be/D5NTJSfUWDE
18:23 [MatrxMT] <birdlover32767> either make a toothbrush turing machine or fiddle with android
18:24 MTDiscord <et086> ||i don't think luanti can run doom well sadly||
18:42 [MatrxMT] <birdlover32767> mineos did it
18:52 MTDiscord <tx_miner> what happend to mineos?
18:52 MTDiscord <tx_miner> did it get taken of contentdb?
18:52 MTDiscord <wsor4035> its author removed it
18:52 MTDiscord <tx_miner> ah
18:52 MTDiscord <tx_miner> imma make a new one
18:53 [MatrxMT] <birdlover32767> i think there is a web version
18:53 MTDiscord <tx_miner> i prob have a copy somewhere
18:53 [MatrxMT] <birdlover32767> on minetest.dustlabs.io ?
18:53 MTDiscord <wsor4035> iirc mineos git repo still exists
18:53 MTDiscord <tx_miner> imma just make my own
18:53 MTDiscord <tx_miner> Doors 95
18:53 MTDiscord <wsor4035> will need to use a different name
18:54 MTDiscord <tx_miner> lol ye ik
18:56 MTDiscord <tx_miner> Doors 25  with Watery Solid Silicon
18:56 MTDiscord <tx_miner> https://tenor.com/view/bubble-buddy-spongebob-gif-6154100559256696215
18:57 MTDiscord <tx_miner> not the same
18:57 MTDiscord <tx_miner> oh sry i just realised that the gifs dont work on irc
18:57 MTDiscord <wsor4035> you have an erroneous gl in that gif
18:57 MTDiscord <wsor4035> they do, they just have to click on the link
18:58 MTDiscord <tx_miner> alr not to bad ig
19:20 simon816 joined #luanti
19:31 SFENCE joined #luanti
19:51 Pokey joined #luanti
19:53 wsor40351 joined #luanti
19:54 bgstack15 joined #luanti
19:56 sknebel joined #luanti
19:56 pgimeno joined #luanti
19:58 SFENCE joined #luanti
19:59 pgimeno joined #luanti
20:01 pgimeno joined #luanti
20:04 pgimeno_ joined #luanti
20:06 pgimeno_ joined #luanti
20:29 bgstack15 left #luanti
20:52 qqe joined #luanti
21:03 MTDiscord <tx_miner> why is local ipairs = ipairs the firsxt line??
21:05 wsor4035 joined #luanti
21:07 MTDiscord <tx_miner> THAT CODE IS CURSED
21:07 MTDiscord <tx_miner> ahh
21:07 MTDiscord <tx_miner> new project for me to work on tho XD
21:38 user333_ i've seen code worse than that in a MT mod.... `local s = function(S) return S end`
21:38 SwissalpS joined #luanti
21:39 MTDiscord <warr1024> That's a hack called localization.  It causes some Lua implementations to cache the location of that function instead of looking it up in _G each time, so can apparently make repeated use a tiny bit faster.
21:39 MTDiscord <warr1024> It's a microoptimization, but snce it doesn't really cause any semantic difference in the meaning of the code, people tend to do it even though the impact is small.
21:40 user333_ allright then... what about `local core = core or minetest`
21:40 MTDiscord <warr1024> yeah, same thing
21:40 cheapie user333_: I've seen things like that back in the days of intllib and whatever, they'd set up S() as a no-op and then if intllib is installed overwrite it with the actual localization code
21:42 MTDiscord <tx_miner> no thats not what was crazy, its the rest of the code that is cursed, but that first line threw me bc they dont need it localized in this case from what i can tell
21:44 MTDiscord <warr1024> Localization isn't a question of whether you need the thing localized in the file or not, it'a question of whether the file's localization need differs from the standard applied to all files.
21:44 user333_ `local p = q[qi]; qi = qi + 1`
21:44 user333_ why just 'q'... rip readability
21:44 MTDiscord <tx_miner> exactly, and it doesnt thats why i dont get it
21:45 MTDiscord <warr1024> What does "don't need it localized in this case" mean, and what does "doesn't differ from the other files" mean?
21:45 MTDiscord <tx_miner> https://tenor.com/view/words-trump-gif-10343307
21:46 MTDiscord <tx_miner> i mean ipairs is pretty universal and the uses are pretty standard
21:46 MTDiscord <warr1024> Are they not using ipairs in that file?
21:46 MTDiscord <tx_miner> they are
21:47 MTDiscord <tx_miner> but localizing it
21:47 MTDiscord <warr1024> Then what makes you think that they need it not to be localized?
21:47 MTDiscord <tx_miner> i dont see the need, but not rly a problem, i was just wondering why they did it
21:48 MTDiscord <warr1024> If you need it localized in that file then you localize it.  If you need it NOT to be localized then you don't localize it.  If you don't need it to be either localized or not, and either case would work, then you make the decision based on factors that are not local to the file.
21:48 MTDiscord <tx_miner> fair
21:48 MTDiscord <tx_miner> ive never had a need to locolize a standard call like ipairs tho
21:49 MTDiscord <warr1024> This is why you will see ipairs localized in every file in most of my projects: the tools that handle automatic localization just look for it present in the file and outside of a string literal.  That can lead to some unnecessary over-localization, but so far nobody has ever shown any evidence that I should care about that.
21:50 MTDiscord <tx_miner> alr
21:50 MTDiscord <warr1024> In practice stuff like localization only matters in hotspots, which will be like less than 1% of actual code.  When it come to microoptimizations though, you can save yourself the work of finding where they contribute to hotspots by just applying them everywhere.
21:51 MTDiscord <warr1024> IIRC LuaJIT actually does this to some degree.  The localization is only really a factor in PUC Lua.
21:51 MTDiscord <tx_miner> alr
21:52 MTDiscord <warr1024> local x = x is actually a real thing in other cases, even if x originally was a local in a higher scope.  In that case you're not actually changing the performance behavior, but creating a shadow identifier that holds a copy of the value, but changes independently from the original.
21:54 MTDiscord <warr1024> Shadowing is generally not nice behavior though as it makes the same name refer to different things in different but often adjacent places and can be confusing, so if you'd have done local x2 = x that would have been better.  Sometimes it's done though in the case where you used to have aliasing and had to break it, and didn't feel like rewriting a whole bunch of code (or where there's actually risk of renaming the wrong things and making
21:54 MTDiscord the bug even worse)
21:55 MTDiscord <tx_miner> i tend to do x2 or lx or something like that
21:56 MTDiscord <warr1024> Arguably if your scopes are complex enough that you're doing local x = x then neither x should have had that short of a name in the first place, but naming things is hard.
21:57 MTDiscord <warr1024> something like local origx = x might work though
21:57 MTDiscord <nathan4220776> ecks
21:58 MTDiscord <warr1024> X is ecks.  / and \ are just one eck each.
22:00 user333_ short variable names like n, i, _, x, y, and z are fine in certain cases; n, i, and _ are used in loops a lot, and x/y/z refer to coordinates most often
22:03 MTDiscord <tx_miner> hey i was just wondering, does it seem better to do an OS with a hud display or formspec?
22:03 MTDiscord <tx_miner> like i can compute "mouse" locations by using look direction with huds
22:04 user333_ i would assume a formspec if you wanted to make a CLI OS, but you could just use chat for that
22:04 user333_ for a full GUI.... probably HUD because you can have a mouse
22:05 MTDiscord <tx_miner> idk
22:05 MTDiscord <tx_miner> i think imma mix them, so like HUD for GUI and a sort of formspecs for allowing text input
22:06 user333_ port MS-DOS to luanti... it's partially open-source, you just have to translate the x86 assembly to lua :P
22:06 MTDiscord <tx_miner> honeslty it cant be to hard
22:06 cheapie I've considered making some kind of emulator for something in a Luacontroller, not for x86 though :P
22:07 MTDiscord <tx_miner> x86 isnt that complex on the older ones due to the limits
22:07 user333_ true, but most people don;t know x86 assembly (including me)
22:07 cheapie 8080 emulator in a Luacontroller would be fun, build a working Altair 8800 in-game
22:07 MTDiscord <tx_miner> i do
22:07 cheapie I know a bit
22:07 MTDiscord <tx_miner> but its been a while since ive done the old 16bit code
22:08 MTDiscord <tx_miner> the bios would be the pain
22:08 user333_ just steal code from an open-source 16-bit VM
22:09 cheapie You could probably use an off-the-shelf BIOS, GLaBIOS or whatever
22:09 MTDiscord <tx_miner> or just write it as a clone in lua and handel the biose as just a lua "API"
22:10 MTDiscord <tx_miner> but unless u emulate the hardwear u cant get the old dos viruses
22:14 cheapie FWIW if you want to play around with an emulated processor in-game, the various vm16-based mods (pdp13 and beduino) are fun
22:15 cheapie Over on C-Techage I have some Beduinos controlling some machines, running programs I wrote in vm16 assembly: https://gist.github.com/cheapie/61c62576890b4f384019fe0a60ddbd2f
22:33 panwolfram joined #luanti
22:39 Noisytoot can you emulate a CPU capable of running linux in luanti and then run luanti inside luanti?
22:41 cheapie In theory, yes. In practice, I'm not crazy enough to try that :P
22:42 * user333_ wonders if you can run an x86_64 VM on x86
22:43 cheapie user333_: Given enough memory and time, you can emulate any processor on any other processor
22:44 user333_ hmm..... /me installs QEMU x86_64 on his x86 PC
22:44 cheapie Linux supported running on amd64 before any amd64 processors were available for purchase, emulation would have been a big part of that
22:45 user333_ well tbf amd64 is backwards-compatible with x86_64 so any x86_64 programs/OSes will run on amd64 (iirc)
22:46 cheapie amd64 and x86_64 are the same thing
22:46 user333_ why cant they just call it x86_64... same with arm64 and aarch64
22:47 cheapie Because AMD made it and they (at least initially) called it AMD64
22:48 user333_ too many CPU types for me ;-;
22:50 kamdard joined #luanti
23:22 turtleman joined #luanti

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