Galactic_Muffin, on 24 October 2012 - 10:46 PM, said:
I feel I may have left the wrong impression and I apologize. Again, I meant no disrespect, EnzerDeLeo. Honestly, I consider your insight on the situation as valuable information and I am willing to discuss it further with you. Nor was I calling you troll or suspecting your post specifically of "being out of spite" so there is no reason to expect that I will treat you like one or ignore you. I did see your link but I figured it was the same discussion I had copied into the op as I have had it reposted here multiple times. I was unaware of the new tweet and now that you have pointed that out, all the negative feedback makes sence.
Also I apologize about some of the updated content in the op. Being the only one taking care of this thread and running a game studio on the side of college, I have little time to dedicate to updating everything we get. A lot of the questions have been answered in the contents of this topic, as Nocte explained, so for those who follow it are quite aware of the suggestion's limitations.
I do find it interesting that Dinnerbone removed the comment where he stated that the 'implementation of colored glass is not a yes but not a no either'. He also mentions that the implementation of colored glass is "possible" and considering this topic's main focus is on colored glass, I see no reason that the privilege of supporting it should be taken away from the community.
As I stated in a few posts above yours, colored light is something I would like to see implemented in the future but it is not the main focus of this thread. Considering how the suggestions discussed here work, It is only logical to have colored glass before colored light anyway.
I appreciate your word of caution and your concerns and I intend to discuss it further with you but I will have to put it on hold for now as I have a lot of schoolwork to do. I apologize and I will get back to you soon. Feel free to continue your discussion, however.
No offense taken, I just like to throw out that I really have no opinion on what people want to label me (I like to deal in facts and rational thinking, this makes me come off as.. abrasive at times, I guess you would say, so people like to assume I am trolling).
I am totally for stained glass, there is a lot of interesting things you could do in builds that I would love to try out. I just realize there is a lot of problems in the way, namely the z buffer issue that Dorrax mentioned. Maybe with the rewrite of the rendering engine this will not be so much of an issue, but he is completely right in that it will either run fine and look like ass or will look decent, maybe even good, but run terrible.
The issue is that Minecraft has situations that a lot of games do not run into when it comes to colored lighting or transparencies and z buffer. Most games are very static in their environments, lighting is closely controlled during development and a lot of developers will tell you that having the lighting wrong in a room or area will cause massive frame rate drop and stutters. Now let us look at a game like Minecraft where the environments are built by players and are constantly changing, this brings up issues of how the developers are to keep the game stable. There is no way to predict players shifting light around quickly (this is already a current issue that the developers are trying to address and is one of the few major causes of lag in servers), now you add in transparencies that require z-buffering calculations, things start to strain even more. They have to decide if those calculations are done by the server (bad idea, I'll explain why in a moment) or the client.
If the client is forced to do these calculations (which they would be anyway in SSP play), you then force higher requirements on the player, they need a stronger PC in order to use these features, there is already a large amount of complaints aimed at Mojang about playability in Minecraft's current state.
The second option, which applies really only to server play, is having servers handle the lighting calculations. This seems like a decent idea on paper, I mean, servers are usually dedicated machines and for larger populations, are running on pretty beefy hardware. In practice though, there is a major issue. This has to deal how data packets transfer between the client and the server. Currently MC runs on a system where it will try and send players information and will constantly send that information until the player receives it, sounds OK, but really this is bad form. Most online games have the server try to send data to the player, if the player cannot get all the information, the server stops trying to send it and the client makes up the difference in calculations and using predictions. Now, because of how MC handles data packets, if you have a player with either a low end machine or a bad connection to the server, he ends up impacting the entire server population's performance as the server spends resources trying to make sure he is 100% caught up, instead of having his client figure stuff out resulting in bad lag and rubberbanding only for that player.
Ultimately what I am trying to get at here is that the developers have to look at adding content in several ways:
-They look at what they have planned to add, what they want the game to be.
-They look at what the players want added after they have done what they are happy with (this is what they have stated at PAX, when they have time to add additional features after current planed features are done, they search for ideas. They actually read reddit for ideas and don't often comb through the MC forums) and see if any of it matches what they are aiming for.
-They have to consider between those two items above on how this will impact the game. Does it make it too hard/easy? Does it reduce focus to only one aspect of MC's gameplay? And most importantly, does this hurt performance, require massive time invested in rewrites or cause a higher hardware requirement?
Ultimately Mojang is a company, they say they are Indie, but they still have to make money, still have to pay employees. Features are no longer just added on a whim (which is a good thing actually, means that features are thought out, fleshed out and are balanced against the rest of the game), they have to be approved. If Dinnerbone were to rewrite large parts of code to allow for colored glass or colored lighting, he has to give reason for the amount of time needed to get what is more or less two small features in.
They are going to look at colored glass and colored lighting and go:
-Does this fix any current problems? No.
-Does this open up the code for major issues and new bugs? Yes, since it will require new code that they haven't tested and is freshly developed.
-Will this affect performance and hardware requirements (leaving MC open to a smaller market, meaning less sales): Yes.
-Does this add many new features? No, just colored lighting and new glass blocks.
-Will this take a long time to implement? Yes, it would require drastic rewrites to the current systems (which are still buggy as is) and new bits to the lighting and rendering engine that do not currently exist.
-Does this take away time from fixing long standing issues? Yes, would require more or less dedicated work since this is a major change to the engine.
-Can many new features that do not negatively impact performance and could draw in more users(customers) be made in the time it would take to add these two features? Yes.
So there is a lot of issues going on, it isn't just that it is a major technical hurdle Dinnerbone has to go through, but he isn't in charge, he has a boss (whose interest is in keeping the company running) he has to answer to. And remember, yes MC has made an absurd amount of money for a game that is still technically under development, but they have a lot of employees now and Mojang hasn't even launched another game yet, they helped published Cobalt, but they do not make much off of that. They have to pay the developers of the PC version, pay the Pocket edition developers, have to pay the large number of people developing Scrolls (which is a major business risk as trading card games are not as popular as they used to be and most digital format TCGs are based on long standing products with strong fan backing, Scrolls does not have this going for them), and then there is Notch's new game which already has a new modeler and texture artist hired on for it. That is a lot of employees and games being developed using the money that MC brings in each month, so Jeb and Dinnerbone and the rest of the MC team has to look at what time and money they have and have to prioritize to keep sales up. Remember, most game studios rely on business capital provided by Publishers, Mojang doesn't have that, all they have to work with is capital from a single game and until they publish a new game and that game earns enough to recoup the costs to develop it, they are going to be technically running in the red, so they need quick new exciting features and content that require minimum work to pull off and are not likely going to need down time patching in the future, in order to get more people interested in purchasing each time a new patch comes out.
To them, the reason why they have been so against this is probably because they see it is something the modding community could take care of, people who really want this feature will figure it out and get it done and Mojang will not have to worry about if this mod can be used by all users or not, so that doesn't affect their product income. This is why at PAX they really stated that they need to get the API done right and get it out soon and why they said that major content in the future is going to be dependent on the community, that they are going to give a good and (eventually) polished base game and give users the tools to easily make, maintain and install mods, because the development team acknowledges that they cannot make everyone happy.
Personally, I would stop trying to get the developers' attention (not saying it was you, but people see this thread and get excited and it ends up getting retweeted to the devs), they know about it, they've consider it, they've given their answer, even if they don't want to go into the politics of why. I say the better option would be to find a team, after the lighting and rendering changes come out, and see if any of this could be done. I am not hopeful for it, as nice as it would be, but I really think that would be the better solution, then a thread of wishful thinking the developers have already looked at and then moved on for.