[Coders needed] Colored light sources

For people working on the C++ code.
User avatar
PilzAdam
Member
Posts: 4026
Joined: Fri Jul 20, 2012 16:19
GitHub: PilzAdam
IRC: PilzAdam
Location: Germany

by PilzAdam » Post

Well, I admit that hmmmm tends to overreact when telling people that their features wont be merged / coded.
Maybe thats due to the massive flood of suggestions / pull requests the core dev team has to deal with.
Last edited by PilzAdam on Sat Apr 20, 2013 22:19, edited 1 time in total.

Jordach
Member
Posts: 4534
Joined: Mon Oct 03, 2011 17:58
GitHub: Jordach
IRC: Jordach
In-game: Jordach
Location: Blender Scene

by Jordach » Post

There's a reason why I haven't gone into development.

It's these random bullshit rules you have to follow. And for once, I agree with RealBadAngel:

<PilzAdam> see? you break compatibility
<RealBadAngel> see? we are DEVELOPING the game
<RealBadAngel> not maintainin national museum of minetest :P

PilzAdam and the like dislike new coders as they won't follow the code guidelines; but WHO GIVES a SINGLE FLYING FUCK about the code; provided it works, it works, why bitch and moan when in the future it becomes a major feature. Also: if the code is not to your liking: clean the code yourself.

BlockPlanet intergrated nodeboxes, nodemeta and Formspecs WAY BEFORE Minetest went 0.4.x, yet, nothing got merged. It even had physics. Just because the devs were lazy cunts about it.

And this comes to a problem: the devs half ass everything.

mauvebic
Member
Posts: 1550
Joined: Fri Jan 27, 2012 11:32

by mauvebic » Post

PilzAdam wrote:Well, I admit that hmmmm tends to overreact when telling people that their features wont be merged / coded.
Maybe thats due to the massive flood of suggestions / pull requests the core dev team has to deal with.
So it's our fault good ideas get tossed out with the bad? I can't accept that. If that truly is the problem, then we need some sort of setup/guidelines for the triage of suggestions.

mauvebic
Member
Posts: 1550
Joined: Fri Jan 27, 2012 11:32

by mauvebic » Post

Jordach wrote:WHO GIVES a SINGLE FLYING FUCK about the code; provided it works, it works, why bitch and moan when in the future it becomes a major feature.
That is one of the points, I can't rely on what I find on the irrlicht forums since our lighting system isn't at all how those guys intended their lighting to be used. But now, colored lighting breaks some sort of self-imposed convention.

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

by Inocudom » Post

It is a sad truth, but I have seen in my life time and time again the destruction of ideas and improvements that were beautiful. That is why I am never optimistic about anything at all. Ever. The coders and supporters of hardware lighting and colored light-rays must keep trying if they want their goal to see the light of day. To everyone that reads this, consider the possibilities before concluding that such features are not worthwhile. People always need to consider possibilities, possibilities, possibilities.

I recently made a post in a topic on PureZC about the implementation of hardware lighting and colored light-rays. The link to that topic is below.
http://www.purezc.com/forums/index.php?showtopic=57000
I need at least one member of this community to post a reply in that topic. If you are already registered with PureZC, that should be a simple task. Simply post about how hardware lighting and colored light-rays would be beneficial to the game Minetest and see if anyone there can help the cause. Consider my posting at PureZC an attempt at calling in aid from the outside world. I believe that there are a few skilled programmers there.

User avatar
12Me21
Member
Posts: 873
Joined: Tue Mar 05, 2013 00:36
GitHub: 12Me21
Location: (Ignore all of my posts before 2018)

by 12Me21 » Post

12Me21 wrote:It seems like torch light is yellow and sunlight is blue in default minetest, is that actually true or is it just an optical illusion?
The way I figured that out was when I was mining deep underground and I had a strait mineshaft down to the cave I was in, so the sunlight would shine down into the area I was mining, and the way I got back to the mineshaft after exploring the cave was I looked for a blue-ish area.
One thing that should be fixed is the fact that sunlight can travel an infinite distance through a hole in the ground, which is not realistic.
Shoutouts to Simpleflips

User avatar
12Me21
Member
Posts: 873
Joined: Tue Mar 05, 2013 00:36
GitHub: 12Me21
Location: (Ignore all of my posts before 2018)

by 12Me21 » Post

Inocudom wrote:It is a sad truth, but I have seen in my life time and time again the destruction of ideas and improvements that were beautiful. That is why I am never optimistic about anything at all. Ever. The coders and supporters of hardware lighting and colored light-rays must keep trying if they want their goal to see the light of day. To everyone that reads this, consider the possibilities before concluding that such features are not worthwhile. People always need to consider possibilities, possibilities, possibilities...
What about having lightstones in mesecons emit colored light?
Shoutouts to Simpleflips

mauvebic
Member
Posts: 1550
Joined: Fri Jan 27, 2012 11:32

by mauvebic » Post

I caved, installed windows and bought blockscape, so i'm done here.

Image
Last edited by mauvebic on Mon Apr 22, 2013 01:59, edited 1 time in total.

User avatar
Neuromancer
Member
Posts: 964
Joined: Tue Jun 12, 2012 22:28
GitHub: Neuromancer56

by Neuromancer » Post

mauvebic wrote:I caved, installed windows and bought blockscape, so i'm done here.
I like both Blockscape and Minetest. Blockscape lets you create really realistic things, and the new snapshot brings insane realism to the terrain, but I like the gameplay and performance of Minetest better. What's your username on Blockscape forums? I'd like to keep my eye out for some of the stuff you create there.
Last edited by Neuromancer on Mon Apr 22, 2013 02:51, edited 1 time in total.

mauvebic
Member
Posts: 1550
Joined: Fri Jan 27, 2012 11:32

by mauvebic » Post

Neuromancer wrote:
mauvebic wrote:I caved, installed windows and bought blockscape, so i'm done here.
I like both Blockscape and Minetest. Blockscape lets you create really realistic things, and the new snapshot brings insane realism to the terrain, but I like the gameplay and performance of Minetest better. What's your username on Blockscape forums? I'd like to keep my eye out for some of the stuff you create there.
I wasn't able to run the latest snapshot - though the stable version seems to perform better on win7 than MT on arch, as for gameplay, i'm still getting used to the much smaller blocks and different shapes :p Though what i like most is the positive attitude there. I use the same handle on those forums though i haven't posted anything yet - the link in my sig has a gallery of all the stuff i created in both games - tho with zimg down, and my linux partition temporarily cut-off, i haven't had a chance to re-upload pics of my last mt projects (ships and ocean liners).
Last edited by mauvebic on Mon Apr 22, 2013 16:46, edited 1 time in total.

prestidigitator
Member
Posts: 647
Joined: Thu Feb 21, 2013 23:54

by prestidigitator » Post

This is really great stuff. I think it would be amazing to have it in the engine. Don't know what to say about approaching the devs though. Wishing you better luck than I had, I guess. Stroke hmmm the right way and maybe you'll have a chance. If he's already taken a dislike, on the other hand....

prestidigitator
Member
Posts: 647
Joined: Thu Feb 21, 2013 23:54

by prestidigitator » Post

PilzAdam wrote:
mauvebic wrote:And i dont wanna waste time putting together a pull just to get the prestidigitator treatment.
The problem with prestidigitator was that he had coded everything on his own without talking to us.
If he had talked to hmmmm earlier, then he problably wouldnt have wasted so much work.
Actually that's the funny bit. I did bring it up early. Hmmm shot down some ideas the instant I asked about them in IRC (so I left them out of what I was doing), and then celeron55 and I had a conversation which he seems to have forgotten about in which he told me that if I implemented noise in the way I described I shouldn't worry and he wouldn't let hmmm get in the way of my contributing. Impressed by celeron55's encouragement when I was otherwise ready to let it go, I continued. Occasionally I even tried to bring up what I was doing in a context where I might get some actual constructive criticism, but the feedback tended to be along the lines of, "Cool. It'd be nice if you did THIS too. Now how about them abandoned mods/software licenses/whatever!"

Interesting story, eh?
Last edited by prestidigitator on Wed Apr 24, 2013 02:59, edited 1 time in total.

User avatar
MirceaKitsune
Member
Posts: 941
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

by MirceaKitsune » Post

prestidigitator wrote:Actually that's the funny bit. I did bring it up early. Hmmm shot down some ideas the instant I asked about them in IRC (so I left them out of what I was doing), and then celeron55 and I had a conversation which he seems to have forgotten about in which he told me that if I implemented noise in the way I described I shouldn't worry and he wouldn't let hmmm get in the way of my contributing. Impressed by celeron55's encouragement when I was otherwise ready to let it go, I continued. Occasionally I even tried to bring up what I was doing in a context where I might get some actual constructive criticism, but the feedback tended to be along the lines of, "Cool. It'd be nice if you did THIS too. Now how about them abandoned mods/software licenses/whatever!"

Interesting story, eh?
It's getting harder for me to understand some of the core developers as well, and I'm slowly starting to lose that feeling of positivity from the administration for many reasons. I am grateful for c55 and the others making this project possible, but also saddened that the main developers choose to be in certain ways at certain times. That's mostly unrelated to the color lighting subject, but a general thing.

I maintain my opinion that adding two extra bits to param1 wouldn't harm anything. hmmm maintains his that the feature would be done in the bad way, and because of that 90% of the community as well as some devs wanting it should be discarded if another way can't be found. I do however agree that this would be best to do with the implementation of hardware lighting... but who's going to help do THAT one properly?

hmmmm
Member
Posts: 47
Joined: Tue Apr 02, 2013 04:04

by hmmmm » Post

prestidigitator wrote:Actually that's the funny bit. I did bring it up early. Hmmm shot down some ideas the instant I asked about them in IRC (so I left them out of what I was doing), and then celeron55 and I had a conversation which he seems to have forgotten about in which he told me that if I implemented noise in the way I described I shouldn't worry and he wouldn't let hmmm get in the way of my contributing. Impressed by celeron55's encouragement when I was otherwise ready to let it go, I continued. Occasionally I even tried to bring up what I was doing in a context where I might get some actual constructive criticism, but the feedback tended to be along the lines of, "Cool. It'd be nice if you did THIS too. Now how about them abandoned mods/software licenses/whatever!"

Interesting story, eh?
I don't mean to be offensive here, but your contribution wasn't that great anyway.
All you really did was shit up the entire existing noise.cpp with your own style of code and conventions that had necessarily broken every use of perlin noise already existing in the codebase.
Simplex noise and improved perlin noise, if we wanted, could've been had by grabbing the first free implementation off of google and modifiying a bit. Modulated perlin noise, I had implemented as part of Mapgen V7 in a much simpler and effective manner than what you had done.
I suppose celeron saw this and decided that the rest of what you've screwed up wasn't worth the minor additions either.
MirceaKitsune wrote: It's getting harder for me to understand some of the core developers as well, and I'm slowly starting to lose that feeling of positivity from the administration for many reasons. I am grateful for c55 and the others making this project possible, but also saddened that the main developers choose to be in certain ways at certain times. That's mostly unrelated to the color lighting subject, but a general thing.

I maintain my opinion that adding two extra bits to param1 wouldn't harm anything. hmmm maintains his that the feature would be done in the bad way, and because of that 90% of the community as well as some devs wanting it should be discarded if another way can't be found. I do however agree that this would be best to do with the implementation of hardware lighting... but who's going to help do THAT one properly?
It's not 2 extra bits. It's 32 extra bits. The extra color channels are 4 bits each, and then double that for the night lightbank. But then, you can't have a 6 byte MapNode structure, and it'll be padded to 8 bytes.
So you're sort of off there, by more than an order of magnitude.

Yes, it would harm things. Everything related to bulk MapNode data in-memory become twice as large, everything that deals with bulk MapNode takes twice as long, which is even worse since you're greatly increasing the chances of cache misses. And all code related to lighting (there's a lot) would need to be modified, so if this does get implemented the right way later on, we're left with the crapped up version of the software lighting system.
I am not denying this because of some "self-imposed restriction", but rather because there are technical problems with the code that would be necessary to do this particular, bad approach, that we are not willing to swallow. You know this.
I'm glad that 90% of the community wants this feature, but I'm simply not willing to have Minetest shitted up to this extent to get it. Remember, this was proposed once before and rejected by celeron55 himself. Why don't you have the same negative sentiment against him too?

As for hardware lighting, it seems that mauvebic is sufficiently pleased with BlockScape, which does have the same "sunlight shining through caves" problem as discussed. Blockscape does nothing about it but hope that the top loads quickly enough for the player not to notice, and some guessing of whether or not the player is underground.

Your move.
Last edited by hmmmm on Thu Apr 25, 2013 01:33, edited 1 time in total.

mauvebic
Member
Posts: 1550
Joined: Fri Jan 27, 2012 11:32

by mauvebic » Post

hmmmm wrote:
As for hardware lighting, it seems that mauvebic is sufficiently pleased with BlockScape, which does have the same "sunlight shining through caves" problem as discussed. Blockscape does nothing about it but hope that the top loads quickly enough for the player not to notice, and some guessing of whether or not the player is underground.

Your move.
I can't find any kind of lighting/shadow bugs:

Image


And actually there's a whole list of features that i'm satisfied with - colored lights, real tinted glass, smaller nodes, different node shapes, vegetation that looks real, is animated and grows, realistic fires (and fireflies), animated and reflective water, to name a few. It basically boils down to how much my time is worth, 13$ to get all those features at once, or hours and days lost trying to convince you. So, feel free to find all the faults you want with it, I doubt you could beat this level of detail and ambiance.

Image
Image
Image
Image
Last edited by mauvebic on Thu Apr 25, 2013 02:10, edited 1 time in total.

prestidigitator
Member
Posts: 647
Joined: Thu Feb 21, 2013 23:54

by prestidigitator » Post

hmmmm wrote: I don't mean to be offensive here, but your contribution wasn't that great anyway.
All you really did was shit up the entire existing noise.cpp with your own style of code and conventions that had necessarily broken every use of perlin noise already existing in the codebase.
Simplex noise and improved perlin noise, if we wanted, could've been had by grabbing the first free implementation off of google and modifiying a bit. Modulated perlin noise, I had implemented as part of Mapgen V7 in a much simpler and effective manner than what you had done.
I suppose celeron saw this and decided that the rest of what you've screwed up wasn't worth the minor additions either.
Oh, I updated all the places in the code base the API was used. Even fixed a few compiler warnings while I was at it. Anyway, I totally understand. Eventually you'll have enough coding and design experience to be able to understand the kind of simple interface-based design and object composition I used, and what it truly adds in terms of design potential and functionality. I can recommend some good books for you if you like, or we can sit down in IRC and do a code review so I can walk you through the code if you like. Totally my fault I neglected to offer that in the first place.

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

by Inocudom » Post

For the time being, this should be put to rest until mapgen v7 is complete. All great efforts and undertakings require time and patience to pull off. Nobody here is a mighty god. Everybody here is a mortal being. While the developers strive to improve Minetest, we must learn to have gratitude for what we already have. Those that have no gratitude for the little things have no gratitude for the big things, for the big things are made up of the little things.

I too love colored light-rays and dynamic lighting, but not if they cause my CPU to burn up (and if they do require 32 extra bits, that will happen very quickly.) There are people who play Minetest that have computers less powerful than mine, so if improper coding of colored light-rays and dynamic lighting causes my CPU to burn up, you can bet that their CPUs will burn up as well. I myself do not code, but I understand quite well that coding is not a joke. It is not a game. In order to ensure that new features for Minetest do not have negative effects on computers, time and care must be taken when those features are developed.

I am never optimistic about anything, due to all of the disappointments I had in the past (and still have.) That is one of the hardest lessons I learned in my lifetime. I wish to be a person that has gratitude, not a person that is never satisfied and always wants more.

prestidigitator
Member
Posts: 647
Joined: Thu Feb 21, 2013 23:54

by prestidigitator » Post

mauvebic wrote:I can't find any kind of lighting/shadow bugs....
Wow! Those scenes are amazing!

User avatar
MirceaKitsune
Member
Posts: 941
Joined: Sat May 21, 2011 22:31
GitHub: MirceaKitsune
IRC: Taoki
In-game: MirceaKitsune
Location: Romania, Bucharest

by MirceaKitsune » Post

mauvebic wrote: I can't find any kind of lighting/shadow bugs:


And actually there's a whole list of features that i'm satisfied with - colored lights, real tinted glass, smaller nodes, different node shapes, vegetation that looks real, is animated and grows, realistic fires (and fireflies), animated and reflective water, to name a few. It basically boils down to how much my time is worth, 13$ to get all those features at once, or hours and days lost trying to convince you. So, feel free to find all the faults you want with it, I doubt you could beat this level of detail and ambiance.
That looks so beautiful. And it is what I'm hoping Minetest can look like once the lighting problems are solved (and we'll have better shaders). I can understand some of the problems pointed out by the devs though... but I think we need to find ways to get this sort of thing done (the most correct way possible).

User avatar
Neuromancer
Member
Posts: 964
Joined: Tue Jun 12, 2012 22:28
GitHub: Neuromancer56

by Neuromancer » Post

Blockscape is jaw droppingly beautiful, but the modding interface stinks, and so there aren't any really fun mods for it. Also, I don't like wandering around in it, because the terrain is too difficult to navigate and my computer renders too slow compared to Minetest. I have more fun with Minetest, but I like how Blockscape looks. I just feel more immersed in the world wandering around Minetest. It feels more real to me.

As far as swearing at each other, insulting each other, and just being generally rude to each other... that isn't going to help the community. And the core devs are no more guilty of this than the new devs and modders. I guess I don't understand why folks can't show a little class and learn to work together. Sure sometimes a point needs to be made forcefully, and it is hard to collaborate, but this is one disfunctional bunch. Imagine what could be accomplished with a little respect.
Last edited by Neuromancer on Sat Apr 27, 2013 02:59, edited 1 time in total.

User avatar
Traxie21
Member
Posts: 753
Joined: Mon Dec 31, 2012 10:48
Location: McKinney, Texas U.S.A.
Contact:

by Traxie21 » Post

^+100000

User avatar
Neuromancer
Member
Posts: 964
Joined: Tue Jun 12, 2012 22:28
GitHub: Neuromancer56

by Neuromancer » Post

There are a lot of bright upstart developers who have been driven away by the battles with the core developers. I think we need to look at more successful development communities and find out how they bring these new developers into the fold without creating too much chaos. Unfortunately the only way to do this is to add a little rigor to the process. That means developing a set of policies and proceedures that clearly outline what is expected from new developers like:

In order to start being a core developer you need to:
  • read our list of coding standards.
  • Suggest a small project that you would like to work on
  • get it approved by 3 core team members
  • If not approved, pick one from a list of small projects that the core team has pre-approved for work on for new developers
  • have it code reviewed for meeting the standards
We just need a roadmap. New developers need to know that they need to prove that they will work well with the core team, and put up with these standards, even if they aren't industry best practice. Once they have proven then they can follow the rules, they can start suggesting new rules.

But coming in with an unapproved massive overhaul with no clear guidelines in place is just too disruptive, even if it is brilliant and would improve Minetest.

Smoothly bringing new developers into the fold initially takes time away from actually coding, but building a strong cohesive team is worth it.
Last edited by Neuromancer on Sat Apr 27, 2013 15:21, edited 1 time in total.

User avatar
Calinou
Moderator
Posts: 3169
Joined: Mon Aug 01, 2011 14:26
GitHub: Calinou
IRC: Calinou
In-game: Calinou
Location: Troyes, France
Contact:

by Calinou » Post

There's a TODO here.

mauvebic
Member
Posts: 1550
Joined: Fri Jan 27, 2012 11:32

by mauvebic » Post

Neuromancer wrote:Blockscape is jaw droppingly beautiful, but the modding interface stinks, and so there aren't any really fun mods for it. Also, I don't like wandering around in it, because the terrain is too difficult to navigate and my computer renders too slow compared to Minetest. I have more fun with Minetest, but I like how Blockscape looks. I just feel more immersed in the world wandering around Minetest. It feels more real to me.
I have to totally disagree with those last two lines :p Maybe it has to do with processor power, but i like the improved graphics in BS, the mapgen too, not being made entirely of cubic blocks, and the view range "mid-range" stands at 136 meters, whereas in MT i had to keep it pretty low to maintain a suitable FPS. I immerse myself alot more in a world I can see :p While BS could use a basic modding API, a lot of the stuff you would have to install separately here (growing plants, mesecons, etc.) are already part of the game. Though I do look forward to being able to add textures, i'd like to reproduce Riven as faithfully as possible :p
Neuromancer wrote: As far as swearing at each other, insulting each other, and just being generally rude to each other... that isn't going to help the community. And the core devs are no more guilty of this than the new devs and modders. I guess I don't understand why folks can't show a little class and learn to work together. Sure sometimes a point needs to be made forcefully, and it is hard to collaborate, but this is one disfunctional bunch. Imagine what could be accomplished with a little respect.
People who propose changes don't come at it with a negative attitude, and in this case we were all amenable to discussing how to best accomplish it, what I wasn't ready to hear was why we can never have it. How do you negotiate with someone who's position is not to be a 'yes man'?
Neuromancer wrote: There are a lot of bright upstart developers who have been driven away by the battles with the core developers. I think we need to look at more successful development communities and find out how they bring these new developers into the fold without creating too much chaos. Unfortunately the only way to do this is to add a little rigor to the process. That means developing a set of policies and proceedures that clearly outline what is expected from new developers like:
In order to start being a core developer you need to:
read our list of coding standards.
Suggest a small project that you would like to work on
get it approved by 3 core team members
If not approved, pick one from a list of small projects that the core team has pre-approved for work on for new developers
have it code reviewed for meeting the standards
We just need a roadmap. New developers need to know that they need to prove that they will work well with the core team, and put up with these standards, even if they aren't industry best practice. Once they have proven then they can follow the rules, they can start suggesting new rules.
But coming in with an unapproved massive overhaul with no clear guidelines in place is just too disruptive, even if it is brilliant and would improve Minetest.
Developers old and new work on what they want to work on, and the things they don't want to fix they try to assign to the new guy/gal. Those devs that do both engine stuff and write mods tend to add things to the engine that expands the modding API or makes the existing mods better (ltrees, 6d, entity attach, etc). Though if you want to shoot down the new guy's idea(s) and insult them for trying, then i have a pretty good idea what they'll say you can do with the roadmap :p

As for colored lights, I can name two similar games that have it (BS, MC). But if all people want to do is copy MC without ever matching or beating it, then yes this is a waste of time.
Last edited by mauvebic on Sat Apr 27, 2013 16:55, edited 1 time in total.

User avatar
Calinou
Moderator
Posts: 3169
Joined: Mon Aug 01, 2011 14:26
GitHub: Calinou
IRC: Calinou
In-game: Calinou
Location: Troyes, France
Contact:

by Calinou » Post

mauvebic wrote:As for colored lights, I can name two similar games that have it (BS, MC).
By colored light, we're talking about three-channel (RGB) lights, not just coloring light based on sky light and block light levels (Minetest does that since March 2012). Minecraft does not have RGB lights.

Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests