But it will be able to run faster if it uses a different language like C++.
My opinion is that Notch/Mojang should work mostly on adding new features to the game, but should also work part-time on creating a c++/other programming language version of it. Then, when Notch/Mojang reaches a time when converting it to a c++/other programming language version of it, Notch/Mojang will have some of it done already and there won't be as much to convert to a new language(which would make it less time to convert).
Well, first off, Java is a "C" language, as is C++, C#, Objective C and I'm sure a bunch of others I'm not familiar with. What I assume you're asking is should he switch to a compiled language like C++ instead of an interpreted one like Java or C#. As someone who has been programming computers for forty years in more than 35 different languages, I would lean toward "No".
Yes, these languages aren't as efficient in terms of number of instructions used, but very few programs these days are CPU-bound. Your processor handles billions of instructions per second. One I/O will consume more elapsed time than all of your instruction processing put together. To give you a perspective (this will vary somewhat from computer to computer) if a CPU instruction took a second, an I/O would take 20 days.
C++ has a certain amount of cachet as a "hardcore" programming language. It's powerful in the hands of expert programmers, but full of pitfalls for the average programmer. Memory leaks are common, and even experts aren't immune to them. I used to think C++ was hot stuff back when I used it (Wow! it has pointers!!!), but in the ten years since I stopped using it, there has not been a single time, ever, when I caught myself thinking, "If only this language had such-and-such a feature from C++."
Rollback Post to RevisionRollBack
I don't practice what I preach because I'm not the kind of person I'm preaching to. - J. R. "Bob" Dobbs
I think that after notch adds updates he should try changing into a diffrent format, because i mean we know some people have FPS problems now. But if he changed it, we might not
Rollback Post to RevisionRollBack
Quote from BabyCreeper »
Quote from RexBox2 »
I make farms in the Nether.
Let me guess,you use lava as fertilizer?
Quote from mythcaptor »
Didn’t you ever wonder where inventory editors got all their blocks?
If he changes now, people on the forums will be screaming "AMG NOTZH U FAT SWEDIXH ***** *******, Y U TAEK SO LAWN 2 UPDAET?"
He could hire some code monkeys to convert it, as well as optimize the code. He continues to work on Minecraft, and other guys start rewriting the code. Everyone wins. (As long as Notch doesn't update faster than they can rewrite, but with Notch's vacation schedule, I don't think that's going to happen.)
Minecraft was only suppose to be like six months of work. A complete rewrite in another language would take much too long, And besides... It's not like minecraft is suppose to be some superfast Hidef game. I think the problem is people are pushing notch to do too many memory hogging things to minecraft like infinite maps and ****.
Switching to anoher language isn't the only way to make Minecraft run faster. Notch will get around to optimizing the game, and it will be much faster.
If he changes now, people on the forums will be screaming "AMG NOTZH U FAT SWEDIXH ***** *******, Y U TAEK SO LAWN 2 UPDAET?"
He could hire some code monkeys to convert it, as well as optimize the code. He continues to work on Minecraft, and other guys start rewriting the code. Everyone wins. (As long as Notch doesn't update faster than they can rewrite, but with Notch's vacation schedule, I don't think that's going to happen.)
Yeah, he does have some money to spare, i think getting some professional coders to rewrite it would be nice as he works on updating it, and when they catch up rewriting it, they could just write in C++, and keep a good coder for help or something
They just assume that the reason Minecraft is slow is because of Java
This is the main reason the game is so slow for many people.
Is it? You sure about that? Have you profiled the game to see where the bottlenecks are and determined that they are a direct result of the Java runtime environment or libraries? I'm guessing you haven't since you just made a blanket statement with no further proof or qualifications.
I say, convert it to C++. That'll give him all the room he needs to add in the things that could make a truly great game truly greater. Why stop with a heightmap of 128? Java. Without? Why not 256? 512? 1024? 2048? 4096?
MIght as well go nuts with it. Imagine the towering vistas we could create with miles of vertical space.
They just assume that the reason Minecraft is slow is because of Java
This is the main reason the game is so slow for many people.
Is it? You sure about that? Have you profiled the game to see where the bottlenecks are and determined that they are a direct result of the Java runtime environment or libraries? I'm guessing you haven't since you just made a blanket statement with no further proof or qualifications.
Seeing other people adept at different coding languages and saying that they wouldn't make the game any more beneficial than it is now, perhaps there should be another approach to it rather than just transferring it to another coding style. Minecraft has gotten to the point of near-impossible to play with the heavy influx of data being added with each update, and personally I think there's already plenty enough in Minecraft that they can at least devote the next few updates to simply stabilizing the game to actually make it more CPU-friendly, if that's possible. If that can be accomplished in Java, then it would save unnecessary time wasted recoding it in another language.
Minecraft NEEDS to be recoded with a different system! Java is making it way too slow! All of my computers only run it at 5-10 FPS and I relly hate it!!!
please reply to this thread many times until Notch sees it because he needs to! Java isn't made for 3D games... and for the other 3D games made with java, the graphics aren't as complex!
"Programs written in Java have a reputation for being slower and requiring more memory than those written in C.[26] However, Java programs' execution speed improved significantly with the introduction of Just-in-time compilation in 1997/1998 for Java 1.1,[27] the addition of language features supporting better code analysis (such as inner classes, StringBuffer class, optional assertions, etc.), and optimizations in the Java Virtual Machine itself, such as HotSpot becoming the default for Sun's JVM in 2000. Currently, Java code has approximately half the performance of C code.[28]"
Also, as far as anyone's individual machine's ability to run Minecraft it has a lot to with memory allocation. The JVM from Sun works with contiguous memory so that if your RAM is fragmented among many programs/processes it reduces the amount of memory that is usable by Java (one reason older machines can sometimes out-perform newer ones is the DLL bloat in the last couple versions of Windows). What this means is that you may have over 2GB of RAM available but if it is in a bunch a little chunks there will be very little that the program can actually use. This is a limitation of the Sun version of the JVM. Since Java was made open-source other JVMs have popped up and some of these address this memory problem.
However, all that being said I feel Java may be the best language for a project like Minecraft since as someone else said it can be easily unpacked, modded, then repacked as well as being cross-platform without any extra work. Another BIG upside is the effect on not just the Minecraft community but the gaming community as a whole. I have tried quite a few mods that were written by first timers and I can only assume that Java's ease of use contributed to their success at learning to code on their own. A big benefit of all these people modding a hugely successful indie game such as Minecraft is that they may be inspired by Notch's run-away hit to try their hand at it. Now, only a fraction of a percent may have any success but small independent games have some of the most unique and thought-provoking game-play and if we get just one game half as good as Minecraft from someone who started out modding Minecraft because of how relatively easy it is then that is more than enough reason to stick with Java.
It definitely needs another language and it's own engine. Notch should have done this the MOMENT he knew the game was going to be popular. The game is only being limited by Java, and it's slowing the game down. As far as modding becoming harder that's ridiculous.
If the game was to be recoded, then a modding engine could actually be programmed in with it.
Step 1: Code development "tools" to help make adding/creating easier...
Step 2: release said tools
Step3: mod problem solved.
Also adding content becomes easier if you take that step to develop your own development tools. Now I know this isn't a full team of 40 people working on the game so I don't expect all of this to be done, but it could make it easier down the stretch, and keep the ease of modding that Java offers.
Changing the language NOW instead of waiting til the game is finished... then... recoding the ENTIRE game? What? That doesn't make any sense at all.. Java itself isn't a bad engine, but some people have problems with it, it does have restraints and eats a LOT of memory/CPU for SOME users. Is it the cause of all problems? no. Is it a major contributor? Yes. I think the game could be opened up much more with another language.
REWRITING IT MEANS TAKING EVERYTHING APART AND PUTTING IT BACK TOGETHER That takes a loooooooooooooooooooooong time (Believe me, I'm a programmer myself)
A convert for Minecraft would be a huge job fraught with error and table thumping. It may look like a simple 'little' game that should run on a $2 watch but it's a bit more sophisticated than it looks. Leave it in Java.
I get 40-60 FPS on my old Pentium D 3.0GHz with 2GB RAM, a 8600GS and a 80GB hard disk and over 300 FPS on my newer i7 system. That's very playable IMO. If you have a system older than a Pentium D, you might want to consider an upgrade.
Another thing, I really do wish non-coders/programmers would stop with the "Java is too slow" rubbish. With JIT compilation and adaptive optimisation like Hotspot (amongst other optimsation tools), Java is a very viable game language. (See JMonkey Engine 2&3). With adaptive optimisation it's even possible for a Java programme to exceed the performance of, shock, horror, a C++ programme. Yes, you would very likely see performance gains with a rewrite in a language like C++, but given the scope of that task and the problems associated with it, it would take a fair amount of time to do and the ADHD kiddies will be screaming after only a month, "Where's our rebuild. We want it now now now!" Sure, Notch could spend a bunch of money hiring a crack team of analysts and coders to rebuild it, but Mojang is a corporation, not a charity. I can see no way for such an expense to be recuperated. So a rebuild in C++ would take Tiiime! Time not spent developing.
But it will be able to run faster if it uses a different language like C++.
My opinion is that Notch/Mojang should work mostly on adding new features to the game, but should also work part-time on creating a c++/other programming language version of it. Then, when Notch/Mojang reaches a time when converting it to a c++/other programming language version of it, Notch/Mojang will have some of it done already and there won't be as much to convert to a new language(which would make it less time to convert).
Yes, these languages aren't as efficient in terms of number of instructions used, but very few programs these days are CPU-bound. Your processor handles billions of instructions per second. One I/O will consume more elapsed time than all of your instruction processing put together. To give you a perspective (this will vary somewhat from computer to computer) if a CPU instruction took a second, an I/O would take 20 days.
C++ has a certain amount of cachet as a "hardcore" programming language. It's powerful in the hands of expert programmers, but full of pitfalls for the average programmer. Memory leaks are common, and even experts aren't immune to them. I used to think C++ was hot stuff back when I used it (Wow! it has pointers!!!), but in the ten years since I stopped using it, there has not been a single time, ever, when I caught myself thinking, "If only this language had such-and-such a feature from C++."
He could hire some code monkeys to convert it, as well as optimize the code. He continues to work on Minecraft, and other guys start rewriting the code. Everyone wins. (As long as Notch doesn't update faster than they can rewrite, but with Notch's vacation schedule, I don't think that's going to happen.)
Switching to anoher language isn't the only way to make Minecraft run faster. Notch will get around to optimizing the game, and it will be much faster.
Yeah, he does have some money to spare, i think getting some professional coders to rewrite it would be nice as he works on updating it, and when they catch up rewriting it, they could just write in C++, and keep a good coder for help or something
That was Notch's idea.
[simg]http://i.imgur.com/DgD9d.png[/simg]
it would make modding sooooo much harder if its in another language cuz it cant be decompiled
... and even if someone manages to do it, they would have to compile the mod for every OS and can only use ONE mod at a time Dx
Not a problem with the future moding API.
Is it? You sure about that? Have you profiled the game to see where the bottlenecks are and determined that they are a direct result of the Java runtime environment or libraries? I'm guessing you haven't since you just made a blanket statement with no further proof or qualifications.
MIght as well go nuts with it. Imagine the towering vistas we could create with miles of vertical space.
Sig'd
EDIT: **** you, 255 character limit.
please reply to this thread many times until Notch sees it because he needs to! Java isn't made for 3D games... and for the other 3D games made with java, the graphics aren't as complex!
Quoted from Wikipedia, http://en.wikipedia.org/wiki/Java_%28programming_language%29
Also, as far as anyone's individual machine's ability to run Minecraft it has a lot to with memory allocation. The JVM from Sun works with contiguous memory so that if your RAM is fragmented among many programs/processes it reduces the amount of memory that is usable by Java (one reason older machines can sometimes out-perform newer ones is the DLL bloat in the last couple versions of Windows). What this means is that you may have over 2GB of RAM available but if it is in a bunch a little chunks there will be very little that the program can actually use. This is a limitation of the Sun version of the JVM. Since Java was made open-source other JVMs have popped up and some of these address this memory problem.
However, all that being said I feel Java may be the best language for a project like Minecraft since as someone else said it can be easily unpacked, modded, then repacked as well as being cross-platform without any extra work. Another BIG upside is the effect on not just the Minecraft community but the gaming community as a whole. I have tried quite a few mods that were written by first timers and I can only assume that Java's ease of use contributed to their success at learning to code on their own. A big benefit of all these people modding a hugely successful indie game such as Minecraft is that they may be inspired by Notch's run-away hit to try their hand at it. Now, only a fraction of a percent may have any success but small independent games have some of the most unique and thought-provoking game-play and if we get just one game half as good as Minecraft from someone who started out modding Minecraft because of how relatively easy it is then that is more than enough reason to stick with Java.
If the game was to be recoded, then a modding engine could actually be programmed in with it.
Step 1: Code development "tools" to help make adding/creating easier...
Step 2: release said tools
Step3: mod problem solved.
Also adding content becomes easier if you take that step to develop your own development tools. Now I know this isn't a full team of 40 people working on the game so I don't expect all of this to be done, but it could make it easier down the stretch, and keep the ease of modding that Java offers.
Changing the language NOW instead of waiting til the game is finished... then... recoding the ENTIRE game? What? That doesn't make any sense at all.. Java itself isn't a bad engine, but some people have problems with it, it does have restraints and eats a LOT of memory/CPU for SOME users. Is it the cause of all problems? no. Is it a major contributor? Yes. I think the game could be opened up much more with another language.
That takes a loooooooooooooooooooooong time (Believe me, I'm a programmer myself)
So leave it.
I get 40-60 FPS on my old Pentium D 3.0GHz with 2GB RAM, a 8600GS and a 80GB hard disk and over 300 FPS on my newer i7 system. That's very playable IMO. If you have a system older than a Pentium D, you might want to consider an upgrade.
Another thing, I really do wish non-coders/programmers would stop with the "Java is too slow" rubbish. With JIT compilation and adaptive optimisation like Hotspot (amongst other optimsation tools), Java is a very viable game language. (See JMonkey Engine 2&3). With adaptive optimisation it's even possible for a Java programme to exceed the performance of, shock, horror, a C++ programme. Yes, you would very likely see performance gains with a rewrite in a language like C++, but given the scope of that task and the problems associated with it, it would take a fair amount of time to do and the ADHD kiddies will be screaming after only a month, "Where's our rebuild. We want it now now now!" Sure, Notch could spend a bunch of money hiring a crack team of analysts and coders to rebuild it, but Mojang is a corporation, not a charity. I can see no way for such an expense to be recuperated. So a rebuild in C++ would take Tiiime! Time not spent developing.