Minetest logo

IRC log for #minetest-dev, 2018-05-25

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

All times shown according to UTC.

Time Nick Message
00:01 zistack Hi.
00:05 zistack I'm from the Linux User Group at UCI, and we were thinking about making some changes to minetest.  We wanted to touch base before we got started.
00:08 paramat hi, not many devs are around currently (most are in Europe) but feel free to discuss
00:09 paramat well, 3 of us are around :)
00:10 paramat university of califonia, irvine?
00:10 zistack Yes.
00:10 kurennon Yeah
00:10 zistack There's a few of us in here right now.
00:10 nickolas360 Yeah, kurennon and I are also part of the group.
00:11 paramat nice, always good to have interest
00:12 zistack Long-term, we'd like to see the game engine have some proper concurrency, but the codebase isn't currently ready for such a change.
00:12 zistack In the short term, we were thinking of performing some architectural cleanup in preparation for that.
00:12 paramat see https://github.com/minetest/minetest/blob/master/CONTRIBUTING.md essentially fork, branch, pull request in git
00:12 paramat ok
00:13 zistack We've already read through the available resources on contributing to the project.
00:13 paramat best thing to do is to open an issue to discuss your ideas at https://github.com/minetest/minetest/issues
00:13 zistack We're here because the changes we're thinking of would touch large parts of the codebase.
00:14 paramat and/or discuss here during european daytime to catch more devs
00:14 nickolas360 Yeah, discussing here for a bit sounds like a good idea.
00:14 nickolas360 When's the best time to do so?
00:15 paramat personally i'm not good with MT architecture stuff, you would want to discuss with nerzhul rubenwardy sfan5
00:16 nickolas360 When would they be online?
00:17 paramat erm, best is late afternoon or evening EU time
00:17 paramat it varies when they are around
00:19 `z Are they active over the weekends?
00:20 paramat oh and discuss with celeron55 too, the original creator of MT, although he is not active as a dev currently
00:20 paramat yes weekends too
00:22 zistack How much does the codebase churn right now?
00:23 paramat not a lot since we're short on dev time =)
00:25 zistack Cool.  We might not have to worry about stepping on too many people's toes then.
00:25 Andrej1 LOL im screencapping that for future reference if you dont mind
00:27 zistack I don't mind, but would you mind explaining why that's funny?
00:27 paramat but we are certainly very active, github will have more stats for you
00:28 nickolas360 Yeah, there appears to be a pretty good stream of commits.
00:28 paramat .. a small number of active core devs
00:30 nickolas360 Right. If all goes well, Minetest should be seeing some more active development in the near future.
00:34 paramat we're also keen to attract new dev talent and work on any part of the code. we have plenty of issues, 777
00:35 paramat i hope the silly name doesn't put people off too much, it's actually a very good FOSS voxel engine
00:35 paramat the name just 'stuck' early on and was never changed
00:36 Andrej1 paramat why are you doing this? https://pastebin.com/Mpx11XBp  first you owe noone anything - and should be grateful for doing  'much more than obliged', then you are very keen to attract new devs and work on any part of the code
00:37 Andrej1 please do not waste developer time on purpose?
00:37 nickolas360 paramat: I don't mind the name, really. Once you hear a name a few times, you don't really notice it anymore.
00:40 Andrej1 nickolas360 you are being baited in like a mouse into a mousetrap, the first time you dont 100% agree on something it will be https://pastebin.com/jQ8ig6Ps
00:42 paramat Andrej1 you've taken that the wrong way, and i don't waste people's time on purpose
00:43 paramat hm? that 2nd paste doesn't mean what you suggest, we were discussing how to name a thread label
00:45 Andrej1 you were discussing how the people submitting you code are 2nd class citizens, and how these ''contributor, not developer'' do not count as developer interest for a feature
00:46 paramat the 'owe you nothing' actually page makes a lot of good sense, it's just the title that seems harsh
00:46 Andrej1 if the gentlemen here are attempting to develop features, they would fall under the not-developer-interest, which must be disconcerting
00:46 paramat "you were discussing how the people submitting you code are 2nd class citizens" no, you have taken that the wrong way
00:47 paramat Andrej1  what's your github username out of interest?
00:49 Andrej1 i am not looking to be bullied right now, please apply at a later date
00:50 paramat i was discussing what name to use for 'core devs', for me 'devs' means 'core devs', but some others use 'devs' to mean contributors too, we were discussing some confusion that arose due to that
00:52 Andrej1 Okay then, but how am I to interpret this?: https://github.com/minetest/minetest/pull/7058 followed by https://pastebin.com/aaa5bk7U
00:53 paramat you seem to have bookmarked stuff you have somehow strangely interpreted as unpleasant. seems you are trying too hard to bash core devs
00:54 paramat 'bullied' heh
00:55 paramat yes some contributors have bad attitude, and i did say 'almost' and we didn't ignore. it was half-joking
00:56 Andrej1 sure laugh while you are able to do whatever you want. laughing is healthy
01:22 proller__ joined #minetest-dev
01:28 kurennon joined #minetest-dev
01:43 ANAND joined #minetest-dev
01:48 Tmanyo joined #minetest-dev
02:06 paramat left #minetest-dev
02:45 YuGiOhJCJ joined #minetest-dev
02:53 AndroBuilder_ joined #minetest-dev
02:57 Xio joined #minetest-dev
03:25 kurennon joined #minetest-dev
03:54 Andrej1 was kicked by VanessaE: Andrej1
03:55 VanessaE ^^ had to read the discussion first.  sorry I wasn't around, grocery store.
03:56 VanessaE as for some alternate to "core dev", I see no need for one.
04:12 Cornelia joined #minetest-dev
04:14 Andrej1 joined #minetest-dev
04:41 kurennon joined #minetest-dev
06:23 nerzhul i tend to see what do they want, because another breakage is not needed currently, but the ideas are interesting if the modifications are incremental
06:30 zistack Initially, we're not interested in breaking mod compatibility.
06:30 zistack Actually, we'd like to avoid that for as long as possible.
06:32 nickolas360 Yes, and that includes client-server compatibility too. Initially, everything should be backward-compatible.
06:35 nerzhul what do you want to do exactly ?
06:35 nerzhul and what is your interest in minetest ?
06:35 longerstaff13 whoa, a lot went down in here overnight
06:36 nerzhul currently we are releasing a bugfix release and we should release our next feature release ASAP, i tend to say your changes are welcome after the 0.5.0 release, but discussion can happen before and some changes can be intergrated into it
06:37 nerzhul and i want more TDD on MT to ensure we have a good code quality base
06:39 zistack We want to clean up Minetest's domain model so that adding concurrency is possible without breaking everything to hell.
06:40 nerzhul it's an interesting idea, i started thi scleanup years ago but it's not easy
06:40 nerzhul the first part i want to see in this model is the client
06:40 nerzhul if you want to work on it, the rendered and the client part should be splited in two threads communicating with events
06:40 zistack We want to start by pulling out the graphics stack into something clean.
06:40 nerzhul this permits to have independent renderer
06:40 zistack That is actually not the best way.
06:41 nerzhul what do you want to do ? and what is your experience in development ? :)
06:41 zistack But it will be a while before we start adding actual concurrency.
06:41 zistack I have a B.S. in CS, and am working on a PhD in Computer Engineering.
06:41 nerzhul yeah, we have such spaghettis in the historical code
06:42 nerzhul you are two friends who wants to contribute on MT because you like voxel games ? or it's a technical defi ?
06:42 zistack My field of expertise is concurrency, but I've also dabbled in graphics and other things.
06:42 nerzhul nice :)
06:42 nickolas360 We have about four people planning to work on this. We're part of the Linux User Group at the University of California, Irvine.
06:43 zistack Initially, we wanted to write our own game for minetest, but we realized that some of the things that we wanted to do weren't really possible as things currently stand.
06:43 nerzhul nice, and MT is a base for some reasearch or something ? :)
06:44 zistack We also noticed some major architecural issues, and figured we would start by fixing some of those.
06:44 nerzhul yeah the codebase is quite old in some parts, what do you want to add in your game which are limited by the engine ?
06:44 zistack This is really just a fun project for our group.
06:44 nickolas360 Yeah, I think it's mainly that we enjoy Minetest as a game, we find its technical side interesting, and we like the fact that it's free and open source and runs on Linux, of course.
06:44 nerzhul great, i will be happy to review your PRs keep them tested with unittests as more as possible :)
06:44 zistack Well, it's currently hard to do anything with the world generator, and it's gross to see mods having to do things like loop over every player in the game every game tick.
06:45 zistack Plus the obvious performance bottleneck of having one thread for the server's update loop.
06:45 nerzhul oh it should not be difficult to do there, you need a tick + player loop in lua, but yes the 1 thread model is quite problematic but it's not easy to have another thread for the server as lua can run only in one code and needs access to all resources :p
06:46 reductum joined #minetest-dev
06:46 zistack There's also substantial improvement that could be made to the way different render types are handled.
06:46 nerzhul yeah :)
06:47 zistack I am more than familiar with the technical limitations involving Lua and threads.  I've considered using it in my own projects before.  There are things that can be done.
06:49 nerzhul nice :)
06:49 nerzhul good luck then :)
06:51 ANAND I'm glad to see the increased interest in Minetest :D
06:51 zistack How do you guys feel about loading the world generators as plugins (not Lua)?
06:53 ANAND pre-compiled?
06:53 zistack Yes.
06:53 ANAND Sure to see a decent performance boost there...
06:55 zistack Well, they're currently compiled into the game, right?  I don't see that the performance would be different, unless you're referring to how mods try to do their own thing anyways at times.
07:09 zistack Anyhow, it's midnight for some of us.  We're planning on being here sometime this weekend to discuss further.
07:14 nerzhul zistack they are compiled in the engine
07:14 nerzhul the plugin only permit to have dynamic mapgen loading unloading, permitting to extend the game keeping the engine as is
07:21 nickolas360 Yes, the plugins would handle only mapgen. Allowing mapgen to be brought outside the engine would make Minetest more extensible and open up a number of possibilities.
07:21 nickolas360 Ideally, these would be written as mods in Lua just like everything else, but for mapgen, the necessary performance simply isn't feasible.
07:21 nickolas360 So compiled plugins loaded as shared libraries would be a good alternative.
07:23 Amaz joined #minetest-dev
07:51 nerzhul exact, it's why we have both worlds but only core is good
07:59 sfan5 Andrej1: do you intend to continue disrupting development chat in here?
08:03 sfan5 nickolas360: since you guys plan to make some significant changes, it'd be helpful to have an overview of all the things you intend to change
08:03 sfan5 out of interest, what are the "things that we wanted to do [that] weren't really possible as things currently stand"?
08:12 proller joined #minetest-dev
08:17 * celeron55 pops in
08:18 celeron55 the suggested changes indeed seem very vague and we've seen them before, generally these ideas don't result in much in the way of actual PRs
08:22 celeron55 any compatible performance improvements are always welcome, be it architectural or not, that one is certain
08:33 ANAND joined #minetest-dev
08:34 proller__ joined #minetest-dev
08:40 Gael-de-Sailly joined #minetest-dev
09:20 nickolas360 celeron55: zistack can provide more details, but it's currently 2 AM here so I think he's sleeping.
09:20 nickolas360 I know that some goals of ours are to allow the server's update loop (and associated mods) to run concurrently, add concurrency to the world generator(s), and provide more control over world generation to mods/plugins.
09:20 nickolas360 There are also some deficiencies in the modding API that cause mod authors to resort to looping over all players every game tick to monitor state changes -- we're also looking to add improvements in this area.
09:20 nickolas360 I don't believe a lack of actual PRs is a worry -- we have a team committed to putting in actual development time.
09:20 nickolas360 Again, though, if you'd like to discuss this in more detail, zistack's the person to talk to. I'll be in touch with him soon.
09:30 nerzhul mapgen already has concurrency
09:32 proller joined #minetest-dev
09:40 proller__ joined #minetest-dev
09:59 ANAND joined #minetest-dev
10:00 ANAND joined #minetest-dev
10:03 Wuzzy joined #minetest-dev
10:06 ANAND joined #minetest-dev
10:55 Krock joined #minetest-dev
10:57 proller joined #minetest-dev
11:23 celeron55 nickolas360: modding api improvements is another thing that tends to be well received
11:25 Krock 00:23 paramat not a lot since we're short on dev time =)
11:25 Krock 00:25 zistack Cool.  We might not have to worry about stepping on too many people's toes then.
11:25 Krock Well this is not always the case
11:25 Krock Sometimes PRs also stall for other reasons than merge conflicts - mainly performance or concept issues
11:26 Krock but it's great to see interest in this project and people who are willing to contribute a bit
11:26 celeron55 nickolas360: i would enjoy looking at a proposed design for more concurrency in the server, it doesn't seem like exactly a trivial thing to code
11:28 celeron55 or a proof of concept
11:28 celeron55 whichever seems less work
11:28 lumberJ joined #minetest-dev
11:29 celeron55 given the documentation available, making that is bound to be a tad... exploratory, i'd say
11:32 Fixer joined #minetest-dev
11:33 Krock Indeed an example or overview page would be very helpful. Especially because I wonder how pre-compiled plugins should be made which are portable - or at least require minimal effort and/or dependencies to compile
11:35 nerzhul Krock look at scriptdev2 and mangos
11:35 nerzhul it's a more wide example of a such usage
11:35 nerzhul the core engine mangos provide the generic API to manage NPCs and other objects, the scriptdev2 library has all World of Warcraft NPCs intelligence, and mangos provide  the default example library
11:36 nerzhul and it compiles on UNIX + Windows
11:37 Krock hmm interesting
11:40 nerzhul the main design in scriptdev2 is each AI is a child class of NPCAI which is the generic class in core engine
11:40 nerzhul and all those class register at the library loading into core, and each NPCID can have one NPCAI reference and uses it
11:41 nerzhul for our usage, imagine Mapgen in core, and we move mapgens in one library (at the beginning)
11:41 nerzhul it was one of my ideas, but don't forget this can have a little performance penalty
11:44 twoelk joined #minetest-dev
11:45 Beton joined #minetest-dev
11:59 Beton_ joined #minetest-dev
13:00 proller__ joined #minetest-dev
13:38 Gael-de-Sailly joined #minetest-dev
13:43 Taoki joined #minetest-dev
13:54 Krock joined #minetest-dev
13:57 ANAND joined #minetest-dev
15:42 proller__ joined #minetest-dev
16:19 Player-2 joined #minetest-dev
16:19 antims joined #minetest-dev
16:37 Cornelia joined #minetest-dev
16:58 YuGiOhJCJ joined #minetest-dev
17:12 indiana joined #minetest-dev
18:12 entuland joined #minetest-dev
18:40 Krock joined #minetest-dev
19:47 proller__ joined #minetest-dev
20:03 paramat joined #minetest-dev
20:20 proller__ joined #minetest-dev
20:52 proller__ joined #minetest-dev
20:52 entuland joined #minetest-dev
21:08 paramat game #2131 +1
21:08 ShadowBot https://github.com/minetest/minetest/issues/2131 -- Small tweaking (alignment - client tab) by kilbith
21:09 paramat ugh
21:09 paramat game#2131
21:09 ShadowBot https://github.com/minetest/minetest_game/issues/2131 -- Place hidden instead of visible fireflies on mapgen by Ezhh
21:10 Shara It's simple tiny change.
21:10 paramat merge whenever
21:10 Shara Sure, will in a bit
21:11 Shara I skipped labels because it's hard to resist just adding bug related ones when it's for fireflies :D
21:11 paramat heh
21:45 Wuzzy joined #minetest-dev
21:52 Fixer joined #minetest-dev
22:16 AndroBuilder joined #minetest-dev
22:22 AndroBuilder_ joined #minetest-dev
22:28 fwhcat joined #minetest-dev
22:35 proller__ joined #minetest-dev
23:20 paramat joined #minetest-dev
23:28 paramat #7355 code is simple
23:28 ShadowBot https://github.com/minetest/minetest/issues/7355 -- Mapgen flags: Add 'biomes' global mapgen flag by paramat
23:50 proller__ joined #minetest-dev
23:58 zorman2000 joined #minetest-dev

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