After some internal discussion and general anxiety, we’ve arrived at a
plan for supporting mods. It’s still a bit vague and the details might
change after we’ve run it by our lawyers, but here’s what we want to
do:
* Let players sign up as “mod developers”. This will cost money (edit: no longer costs money!), and
will require you agreeing to a license deal (you only need one per
mod team).
* Mod developers can download the source code from our SVN repository.
As soon as we commit a change, it will be available to all mod
developers, unobfuscated and uncensored.
* Mod developers get a unique certificate for signing their mods. This
means players can see who made what mod and choose to trust individual
developers. The cost of signing up makes sure only serious developers
have access to this certificate.
The rules of the license deal will contain:
* Mods must only be playable by people who have bought Minecraft
* You can’t sell your mods or make money off them unless you’ve got a
separate license deal with us
* The mods must not be malicious (obviously)
* We retain the right to use your mod idea and implement it ourselves
in Minecraft. This is to prevent the situation where we have to avoid
adding a feature just because there’s a mod out there that does
something similar. It’s also great for dealing with bug fixes provided
by the community.
In the long term, we hope this means people will do awesome new things
with the Minecraft engine and play around with it. We want to buy
and/or license good mods and/or total conversions and sell them
ourselves. It’s possible we might have a mod marketplace for selling
and buying mods that fans have written, or we might purchase and
integrate nice mods that fit the main theme of Minecraft.
[edit]
Just to clear up two things:
The access cost won’t be prohibitively expensive, and if you make a good mod or something else based on the source code, it’s highly likely we will want to license it"
Discuss Amongst yourselves, Does this satisfy you as Modders? Keep in mind that any mentions to cost are null now, As he's corrected that there will no longer be a fee for Mod developers. Although if the community were to help further I would say some means of ensuring quality should still be put in place, So any ideas?
I think it's a total cop out and I'm very disappointed.
The line of thinking seems to be if he can't please everyone he shouldn't try to please anyone, which is silly.
Considering that Notch has delayed the modding API since December, and said that he'd much rather be adding new features than bothering with it, now I just think he doesn't want to do it so he is coming up with this excuse.
What he needs to do is take a look at what kinds of things the community is changing in order to do what they want and figure out how this can be supported in mods. Based on what he is said I'm highly doubtful that he even tried.
As a starting point, I think the Elder Scrolls games have always been awesomely flexible as far as modding goes which has caused their modding communities to flourish. I think Notch could try taking some inspiration from how they do things. Blocks, items, entities, and game settings are all things that could be made to work with such a system and be compatible with other things.
I was just about to post this about an idea that I had, but since I happened to notice this, I will release this upon the new, small modding API discussion and maybe it'll bring in some light.
*AHEM*
Ok, so my idea is basicly this. The minecraft.exe takes information from the bin file, and the .jar file, which is what everyone modifies, and then the .jar executes whatever is in it. What is notch were to add some files into the .jar with check for other .jar's inside a "mods" folder. When a .jar is found it injects the code from inside the jar file into the game itself, and is read. So all the modders have to do is create a .jar file with executable .class's inside. Then whatever is in the contents is picked up from the minecraft.jar, and injected into the game, so that instead of modifying what is inside the minecraft.jar, it only adds to the current script.
How 'bout just some basic de-obfuscation? It's incredibly difficult to start with modding Minecraft simply because the code is absolutely all over the place. We need specific methods for specific tasks and PLEASE some more descriptive variable names besides just 'a', 'b', 'c', etc.
But adding hooks and options galore is supposed to be a simple task in an OO language like Java, so long as you do a least a modicum of planning ahead. Personally I haven't done any actually modding myself, but I've looked at the code for what it's worth, and changing move to fly would probably only takes a few lines of code (Then again it may be all over the place since simple methods like player[i].movePlayer(x, y, z) seem alien to Notch). But my point is - An efficient coder (Not necessarily an expedient one) would code with the thought that they may want to extend the functionality of a method in the future by including those hooks - Even if they don't use them right away.
The problem is that Notch never expected MC to be this popular. He never thought ahead about what may need adding in the future because he didn't expect for there to be a future.
And really, modding API aside, just de-obfuscating and adding hooks and options (Yay function overload) would probably go a long way toward helping Mojang find bugs and add official features more quickly.
So many games have modding API's, and none of them are perfect. That didn't stop them from making the API's, and I don't see any reason why it should.
What I'd really like to see is function replacement. The way we currently mod is that if two mods change any of the same files, they won't get along unless someone merges their changes. It would be nice if two mods could alter the same files, as long as they don't alter the same functions. For functions that many mods are going to want to touch, you then provide hooks into those functions.
I think that basically Notch doesn't know how to make an API and doesn't really want to figure it out. He has not yet realized that modding exponentially increases the replayability and value of games. Of course, he is already swimming in money from this game. So, maybe he just doesn't give a **** anymore about REALLY making the game better. He already has so much money he doesn't know what to do with. Why would he care to multiply that?
...Of course, he is already swimming in money from this game. So, maybe he just doesn't give a **** anymore about REALLY making the game better. He already has so much money he doesn't know what to do with. Why would he care to multiply that?
Nah, I don't think it's about the money - It never was. He's just bored with Minecraft, plain and simple. Hobbies are fun, but when they become work then it's just, well, work. And MC needs a lot of work - Practically a full overhaul - To make an API feasible. I dunno about you, but I HATE having to do the same work over again for anything.
...Of course, he is already swimming in money from this game. So, maybe he just doesn't give a **** anymore about REALLY making the game better. He already has so much money he doesn't know what to do with. Why would he care to multiply that?
Nah, I don't think it's about the money - It never was. He's just bored with Minecraft, plain and simple. Hobbies are fun, but when they become work then it's just, well, work. And MC needs a lot of work - Practically a full overhaul - To make an API feasible. I dunno about you, but I HATE having to do the same work over again for anything.
You're right. I think it's probably a mixture of both. Either way, it's a motivation issue, if it's either of these.
I really want to see this game grow and expand in a big way. I want Minecraft Survival to have a goal besides shutting the door so the zombies can't get in. I want so many complicated (And fun) factors in place that you'll always have new things to think about. Look at Dwarf Fortress, that's my vision. Except in 3D first person within Minecraft. And I'll say up front that the challenges of implimenting such an environment within Minecraft is a much larger task due to the graphical, technical, and network based concerns. But if Gurren Lagann has taught me anything, It's that nothing is impossible and Giant Mechs can solve problems.
We must remember that Notch is just one Coder, and making my dream (And others who share it) a reality can take a lot of time. But we have many coders at our disposal. We just need to create a way for everyone to work together and organize learning resources, ideas and implimentation. Then we have a team of thousands who can help build and optimize Minecraft from the ground up. Adding a slew of features in such a way that everyone will be satisfied with their play experience. We can build a game for us.
I'm new, but since I started playing with the game last week I've been able to add items and blocks. I followed the Jump Block tutorial, and after some changes, made it work. I implemented the grenades tutorial. Then I made secret doors that blend into the surroundings, and I'm playing around with spells.
I beat my head against the wall at first due to a couple of issues.
1.) The tutorials I found were outdated.
2.) MCP doesn't work for 1.5, which is what I got when I downloaded the game. To even use MCP, I had to get version 1.4_01 from a friend who had been playing longer.
3.) The MCP Mod System isn't updated for 1.4_01, so I can't use it yet.
Notch's solution addresses the second two issues, and will allow for a solution to the first as people write new tutorials. I would like to write some myself.
I also think that in this discussion, people are confusing API and editor. Most games have editors. They allow you to modify the game and make new things with it, providing tools to do so. An API is an Application Programming Interface. It provides hooks into existing code for programmers to extend and modify that code - and it's much more extensive, and requires much more programming knowledge to use.
I think there is a place for editors, so that people can easily add items, blocks, materials and recipes without coding knowledge. For example adding in a new metal that can be used to craft weapons, armor and tools. But that's different from an API that allows you to add in flying.
I'm concerned that the system Notch has in mind will not allow for everyone to get in to modding.
His solution at the moment is to give people who request a license the source code and let them play around with it any way they want, this is good for large mod teams and experienced modders. However he can't give the source code to everyone who requests it, which means first time modders and people who are looking to learn will not have any access to modding beyond decompiling and editing obfuscated class files, which is very limiting.
If he wants to keep the license plan he should at least make a decent API for people can't get the license, something that does a lot but not everything. Otherwise this will become a very closed off modding system, and I for one will be very upset with Notch.
I'm concerned that the system Notch has in mind will not allow for everyone to get in to modding.
His solution at the moment is to give people who request a license the source code and let them play around with it any way they want, this is good for large mod teams and experienced modders. However he can't give the source code to everyone who requests it, which means first time modders and people who are looking to learn will not have any access to modding beyond decompiling and editing obfuscated class files, which is very limiting.
If he wants to keep the license plan he should at least make a decent API for people can't get the license, something that does a lot but not everything. Otherwise this will become a very closed off modding system, and I for one will be very upset with Notch.
I wouldn't worry so much about that. I can guarantee that someone (Or several someones) with source access will write their own API that will allow those without access to write mods to that API. Heck we already have several systems like that currently. If the API is well enough written and nice and secure, it might even get adopted by Mojang officially.
Rollback Post to RevisionRollBack
Tis far better to be a witty fool than a foolish wit.
I'm concerned that the system Notch has in mind will not allow for everyone to get in to modding.
His solution at the moment is to give people who request a license the source code and let them play around with it any way they want, this is good for large mod teams and experienced modders. However he can't give the source code to everyone who requests it, which means first time modders and people who are looking to learn will not have any access to modding beyond decompiling and editing obfuscated class files, which is very limiting.
I have two minor issues with your concern.
First is the number of people interested in modding. The vast amount of the community may USE mods, but the actual percentage of people willing to create mods is much lower.
Secondly, there is no reason why he couldn't give the source to literally everyone who requests it, so long as they agree to the license deal. It's an SVN repository - that means they don't even need to re-up the entire jar every patch. Add to that the official cert required to formally release a mod, and you have a good system in place.
Is it as perfect as an API would be? Lord no. Is it better than "no api ever rarrr!"? Very much so.
The only real risk is that douchebags will download the source, share it, and then other people recompile it for free offline minecraft. Then again, it wouldn't be difficult to have the distributed source require online authentication. The bulk of the source can be open and not obfuscated, but there's no reason why we would need the login/auth section. And if that fails, Mojang has lawyers!
This solution, while not perfect, has a lot going for it:
- Instant access to code updates
- fully clear source code
- MUCH less time to implement than a full API (meaning we'll have it way sooner)
- Most of the work is non-programmatic, so Notch doesn't have to do it alone
- Doesn't require an update to the game or server, so no worries about feature creep delaying it
Given how hopeless I felt yesterday, I feel freaking fantastic today.
Anything but a proper mod API is a cop out, considering the game has generated the developer(s) on the order of $30 mil dollars. If Notch cares at all about his creation and the modding community it spawned, he'll do it right. Being bored with the game you developed is no reason not to treat it with the attention and care it deserves.
As it has been said before, "if it is worth doing, it is worth doing right".
What sort of advanced coding could we expect with Access to the source code? Like being able to allow for different types of models or change minecraft into a more graphically impressive game?
What sort of advanced coding could we expect with Access to the source code? Like being able to allow for different types of models or change minecraft into a more graphically impressive game?
How about adding a full RPG rule set complete with random equipment drops and a magic system? Or maybe you could make it into a flight combat game where you fight each other while piloting through a blocky randomly generated terrain? Perhaps you could make a God Sim out of it where you build Creeper houses and watch over them while you try to eliminate rival creeper tribes. Maybe you would just integrate IRC chat into your SMP server.
Bottom line is, with source you can do anything you want including making it into a game that is no longer Minecraft.
Rollback Post to RevisionRollBack
Tis far better to be a witty fool than a foolish wit.
Personally, I was overjoyed when I read that post.
1) Mod developers will be able to have their mods updated for each major patch *before* that patch goes live. (Hopefully release candidates will be tagged early and clearly, to avoid thrashing.)
2) Not having to deal with obfuscated code will be a huge boon to modders.
3) This will make it easier for people to create bugfixes for Mojang to integrate. Maybe someone will fix SMP boats. Maybe someone else will implement SMP Nether. *
4) It seems likely that ModLoader will be updated and expanded as a result of this -- resulting in a community-made modding API, that will likely have less issues along the lines of Notch's concern that "there’s no way we’d be able to make an API good and dynamic enough to support all of the awesome things people are making". **
* It's probably more work than I have time for right now, but I'm sorely tempted to take a stab at enabling SMP to have N planes loaded at once, to support not only SMP Nether but also the various projects like the Aether. My completely baseless speculation is that, if done right, it wouldn't be any more server load than having people in wildly disparate locations in the main world -- 17x17 chunks loaded per player.
** Last time I glanced at ModLoader, it didn't support the section of code I was poking around in, so I certainly see this being a reasonable concern.
Anything but a proper mod API is a cop out, considering the game has generated the developer(s) on the order of $30 mil dollars.
While I don't disagree that Notch is essentially copping out of more work, I do (and I've seen another post in a similar thread agreeing with this) take issue with the mentality that "Notch has made $X,XXX,XXX, so he should do Y." We really don't (and can't) know his profit margin unless he goes public with his company, and I know that last time I poked around in it, taxes are really, really high in his part of the world (on the order of 50-80%!). So unless his office, staff, and electricity bills are all $0 and he's somehow tax-exempt, he has not made anywhere near $30 mil.
I also don't disagree with the current decision, seeing the community reaction to it, since it seems that having full access to the source very soon with the possibility of being implemented is better than limited access someday in the future. I just hope that he starts getting real issues taken care of - like implementing the nether in SMP and figuring out how he'll actually do the developer API/source release - and stops messing around with distractions (wolves, maps, weather) until he has gotten the framework in place and functioning.[Rant] For crying out loud, beta wasn't supposed to come out until he got SMP up to the same level as SSP, and we're still playing with some unsolved bugs and no nether support in SMP, yet he went to beta anyway. I'm convinced he's just doing different releases to say he is at a different release and charge more. [/rant]
I haven't posted a lot before, but I've been tinkering with a couple of mods on my own since way back in Alpha. I have to say that the hardest part of it, for me at least, is weeding through the obfuscations. I've got 25-ish years of coding under my belt and trying to read obfuscated code can be really painful -- especially when the module you're looking at is complicated to begin with (read: terrain generation -- I'm trying to write a river generator). Removing the obfuscation would pretty much make the sky the limit -- which is a double-edged sword, of course...and as has been previously mentioned.
Over the years I've worked on mods (not a lot, but a decent cross-section) using both editor-based and API-based systems and have always run into one common problem: limitations of the tool/API itself. Tools and APIs are great, but they're necessarily limited by a) the resources provided to develop them (in the case of a company like Bethesda Softworks (for Morrowind, Oblivion, etc.), they can put multiple developers on just that!) and :cool.gif: the imagination of said developers ("oh, modders will never need access to that part of the engine!") -- not really being able predict the mod ideas the community will dream up.
Personally, I would much prefer to have the code opened up for the modding community (using Notch's licensing model, of course -- that makes a lot of sense). Any fear of less-experienced coders/modders being left out, I think, is overestimated. Even today, there are teams writing mods for the express purpose of making other modders lives easier (e.g., MCP and ML). I see no reason why that trend wouldn't continue. I can easily see a scenario where somebody creates a mod that allows "simplified" modding for a cherry-picked selection of features (e.g., custom blocks (ores, rocks, etc.) but perhaps with no new functionality, like pistons -- since that would require new code).
Essentially, what this all boils down to, is that opening up the code would both allow the extremely wide variety of mods that currently exist to both continue to flourish and even expand further, while also allowing (dare I say, encouraging) the building of an API and/or mod toolset by the modding community itself. Such a community-developed solution, I think, would ultimately be better anyway, since it would would directly address the needs/wants of those who are intended to use it.
"The plan for mods
After some internal discussion and general anxiety, we’ve arrived at a
plan for supporting mods. It’s still a bit vague and the details might
change after we’ve run it by our lawyers, but here’s what we want to
do:
* Let players sign up as “mod developers”. This will cost money (edit: no longer costs money!), and
will require you agreeing to a license deal (you only need one per
mod team).
* Mod developers can download the source code from our SVN repository.
As soon as we commit a change, it will be available to all mod
developers, unobfuscated and uncensored.
* Mod developers get a unique certificate for signing their mods. This
means players can see who made what mod and choose to trust individual
developers. The cost of signing up makes sure only serious developers
have access to this certificate.
The rules of the license deal will contain:
* Mods must only be playable by people who have bought Minecraft
* You can’t sell your mods or make money off them unless you’ve got a
separate license deal with us
* The mods must not be malicious (obviously)
* We retain the right to use your mod idea and implement it ourselves
in Minecraft. This is to prevent the situation where we have to avoid
adding a feature just because there’s a mod out there that does
something similar. It’s also great for dealing with bug fixes provided
by the community.
In the long term, we hope this means people will do awesome new things
with the Minecraft engine and play around with it. We want to buy
and/or license good mods and/or total conversions and sell them
ourselves. It’s possible we might have a mod marketplace for selling
and buying mods that fans have written, or we might purchase and
integrate nice mods that fit the main theme of Minecraft.
[edit]
Just to clear up two things:
The access cost won’t be prohibitively expensive, and if you make a good mod or something else based on the source code, it’s highly likely we will want to license it"
Discuss Amongst yourselves, Does this satisfy you as Modders? Keep in mind that any mentions to cost are null now, As he's corrected that there will no longer be a fee for Mod developers. Although if the community were to help further I would say some means of ensuring quality should still be put in place, So any ideas?
The line of thinking seems to be if he can't please everyone he shouldn't try to please anyone, which is silly.
Considering that Notch has delayed the modding API since December, and said that he'd much rather be adding new features than bothering with it, now I just think he doesn't want to do it so he is coming up with this excuse.
What he needs to do is take a look at what kinds of things the community is changing in order to do what they want and figure out how this can be supported in mods. Based on what he is said I'm highly doubtful that he even tried.
As a starting point, I think the Elder Scrolls games have always been awesomely flexible as far as modding goes which has caused their modding communities to flourish. I think Notch could try taking some inspiration from how they do things. Blocks, items, entities, and game settings are all things that could be made to work with such a system and be compatible with other things.
*AHEM*
Ok, so my idea is basicly this. The minecraft.exe takes information from the bin file, and the .jar file, which is what everyone modifies, and then the .jar executes whatever is in it. What is notch were to add some files into the .jar with check for other .jar's inside a "mods" folder. When a .jar is found it injects the code from inside the jar file into the game itself, and is read. So all the modders have to do is create a .jar file with executable .class's inside. Then whatever is in the contents is picked up from the minecraft.jar, and injected into the game, so that instead of modifying what is inside the minecraft.jar, it only adds to the current script.
[Long Time Minecrafter]
The problem is that Notch never expected MC to be this popular. He never thought ahead about what may need adding in the future because he didn't expect for there to be a future.
And really, modding API aside, just de-obfuscating and adding hooks and options (Yay function overload) would probably go a long way toward helping Mojang find bugs and add official features more quickly.
What I'd really like to see is function replacement. The way we currently mod is that if two mods change any of the same files, they won't get along unless someone merges their changes. It would be nice if two mods could alter the same files, as long as they don't alter the same functions. For functions that many mods are going to want to touch, you then provide hooks into those functions.
I think that basically Notch doesn't know how to make an API and doesn't really want to figure it out. He has not yet realized that modding exponentially increases the replayability and value of games. Of course, he is already swimming in money from this game. So, maybe he just doesn't give a **** anymore about REALLY making the game better. He already has so much money he doesn't know what to do with. Why would he care to multiply that?
Nah, I don't think it's about the money - It never was. He's just bored with Minecraft, plain and simple. Hobbies are fun, but when they become work then it's just, well, work. And MC needs a lot of work - Practically a full overhaul - To make an API feasible. I dunno about you, but I HATE having to do the same work over again for anything.
You're right. I think it's probably a mixture of both. Either way, it's a motivation issue, if it's either of these.
We must remember that Notch is just one Coder, and making my dream (And others who share it) a reality can take a lot of time. But we have many coders at our disposal. We just need to create a way for everyone to work together and organize learning resources, ideas and implimentation. Then we have a team of thousands who can help build and optimize Minecraft from the ground up. Adding a slew of features in such a way that everyone will be satisfied with their play experience. We can build a game for us.
I'm new, but since I started playing with the game last week I've been able to add items and blocks. I followed the Jump Block tutorial, and after some changes, made it work. I implemented the grenades tutorial. Then I made secret doors that blend into the surroundings, and I'm playing around with spells.
I beat my head against the wall at first due to a couple of issues.
1.) The tutorials I found were outdated.
2.) MCP doesn't work for 1.5, which is what I got when I downloaded the game. To even use MCP, I had to get version 1.4_01 from a friend who had been playing longer.
3.) The MCP Mod System isn't updated for 1.4_01, so I can't use it yet.
Notch's solution addresses the second two issues, and will allow for a solution to the first as people write new tutorials. I would like to write some myself.
I also think that in this discussion, people are confusing API and editor. Most games have editors. They allow you to modify the game and make new things with it, providing tools to do so. An API is an Application Programming Interface. It provides hooks into existing code for programmers to extend and modify that code - and it's much more extensive, and requires much more programming knowledge to use.
I think there is a place for editors, so that people can easily add items, blocks, materials and recipes without coding knowledge. For example adding in a new metal that can be used to craft weapons, armor and tools. But that's different from an API that allows you to add in flying.
His solution at the moment is to give people who request a license the source code and let them play around with it any way they want, this is good for large mod teams and experienced modders. However he can't give the source code to everyone who requests it, which means first time modders and people who are looking to learn will not have any access to modding beyond decompiling and editing obfuscated class files, which is very limiting.
If he wants to keep the license plan he should at least make a decent API for people can't get the license, something that does a lot but not everything. Otherwise this will become a very closed off modding system, and I for one will be very upset with Notch.
I wouldn't worry so much about that. I can guarantee that someone (Or several someones) with source access will write their own API that will allow those without access to write mods to that API. Heck we already have several systems like that currently. If the API is well enough written and nice and secure, it might even get adopted by Mojang officially.
I have two minor issues with your concern.
First is the number of people interested in modding. The vast amount of the community may USE mods, but the actual percentage of people willing to create mods is much lower.
Secondly, there is no reason why he couldn't give the source to literally everyone who requests it, so long as they agree to the license deal. It's an SVN repository - that means they don't even need to re-up the entire jar every patch. Add to that the official cert required to formally release a mod, and you have a good system in place.
Is it as perfect as an API would be? Lord no. Is it better than "no api ever rarrr!"? Very much so.
The only real risk is that douchebags will download the source, share it, and then other people recompile it for free offline minecraft. Then again, it wouldn't be difficult to have the distributed source require online authentication. The bulk of the source can be open and not obfuscated, but there's no reason why we would need the login/auth section. And if that fails, Mojang has lawyers!
This solution, while not perfect, has a lot going for it:
- Instant access to code updates
- fully clear source code
- MUCH less time to implement than a full API (meaning we'll have it way sooner)
- Most of the work is non-programmatic, so Notch doesn't have to do it alone
- Doesn't require an update to the game or server, so no worries about feature creep delaying it
Given how hopeless I felt yesterday, I feel freaking fantastic today.
As it has been said before, "if it is worth doing, it is worth doing right".
How about adding a full RPG rule set complete with random equipment drops and a magic system? Or maybe you could make it into a flight combat game where you fight each other while piloting through a blocky randomly generated terrain? Perhaps you could make a God Sim out of it where you build Creeper houses and watch over them while you try to eliminate rival creeper tribes. Maybe you would just integrate IRC chat into your SMP server.
Bottom line is, with source you can do anything you want including making it into a game that is no longer Minecraft.
1) Mod developers will be able to have their mods updated for each major patch *before* that patch goes live. (Hopefully release candidates will be tagged early and clearly, to avoid thrashing.)
2) Not having to deal with obfuscated code will be a huge boon to modders.
3) This will make it easier for people to create bugfixes for Mojang to integrate. Maybe someone will fix SMP boats. Maybe someone else will implement SMP Nether. *
4) It seems likely that ModLoader will be updated and expanded as a result of this -- resulting in a community-made modding API, that will likely have less issues along the lines of Notch's concern that "there’s no way we’d be able to make an API good and dynamic enough to support all of the awesome things people are making". **
* It's probably more work than I have time for right now, but I'm sorely tempted to take a stab at enabling SMP to have N planes loaded at once, to support not only SMP Nether but also the various projects like the Aether. My completely baseless speculation is that, if done right, it wouldn't be any more server load than having people in wildly disparate locations in the main world -- 17x17 chunks loaded per player.
** Last time I glanced at ModLoader, it didn't support the section of code I was poking around in, so I certainly see this being a reasonable concern.
While I don't disagree that Notch is essentially copping out of more work, I do (and I've seen another post in a similar thread agreeing with this) take issue with the mentality that "Notch has made $X,XXX,XXX, so he should do Y." We really don't (and can't) know his profit margin unless he goes public with his company, and I know that last time I poked around in it, taxes are really, really high in his part of the world (on the order of 50-80%!). So unless his office, staff, and electricity bills are all $0 and he's somehow tax-exempt, he has not made anywhere near $30 mil.
I also don't disagree with the current decision, seeing the community reaction to it, since it seems that having full access to the source very soon with the possibility of being implemented is better than limited access someday in the future. I just hope that he starts getting real issues taken care of - like implementing the nether in SMP and figuring out how he'll actually do the developer API/source release - and stops messing around with distractions (wolves, maps, weather) until he has gotten the framework in place and functioning.[Rant] For crying out loud, beta wasn't supposed to come out until he got SMP up to the same level as SSP, and we're still playing with some unsolved bugs and no nether support in SMP, yet he went to beta anyway. I'm convinced he's just doing different releases to say he is at a different release and charge more. [/rant]
See the post for a Texture pack tutorial!
Over the years I've worked on mods (not a lot, but a decent cross-section) using both editor-based and API-based systems and have always run into one common problem: limitations of the tool/API itself. Tools and APIs are great, but they're necessarily limited by a) the resources provided to develop them (in the case of a company like Bethesda Softworks (for Morrowind, Oblivion, etc.), they can put multiple developers on just that!) and :cool.gif: the imagination of said developers ("oh, modders will never need access to that part of the engine!") -- not really being able predict the mod ideas the community will dream up.
Personally, I would much prefer to have the code opened up for the modding community (using Notch's licensing model, of course -- that makes a lot of sense). Any fear of less-experienced coders/modders being left out, I think, is overestimated. Even today, there are teams writing mods for the express purpose of making other modders lives easier (e.g., MCP and ML). I see no reason why that trend wouldn't continue. I can easily see a scenario where somebody creates a mod that allows "simplified" modding for a cherry-picked selection of features (e.g., custom blocks (ores, rocks, etc.) but perhaps with no new functionality, like pistons -- since that would require new code).
Essentially, what this all boils down to, is that opening up the code would both allow the extremely wide variety of mods that currently exist to both continue to flourish and even expand further, while also allowing (dare I say, encouraging) the building of an API and/or mod toolset by the modding community itself. Such a community-developed solution, I think, would ultimately be better anyway, since it would would directly address the needs/wants of those who are intended to use it.