Java-Gaming.org Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (799)
Games in Android Showcase (237)
games submitted by our members
Games in WIP (865)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2
  ignore  |  Print  
  Why is Minecraft bad?  (Read 17498 times)
0 Members and 1 Guest are viewing this topic.
Offline FabulousFellini
« Posted 2016-08-10 06:52:38 »

I always hear about how Minecraft is not coded very well, but no one ever really explains why that is.  What did he do poorly from a coding perspective?   And did poor coding have an impact on the performance of the game that the average person would notice?  I've never really played the game before, maybe only about 20 minutes in my life, but since it's in java I have an interest in the development.

-FabulousFellini
www.fabulousfellini.com
Offline princec

« JGO Spiffy Duke »


Medals: 1128
Projects: 3
Exp: 20 years


Eh? Who? What? ... Me?


« Reply #1 - Posted 2016-08-10 09:30:02 »

Mostly jealous programmers trying to figure out why they, with their perfectly designed cathedrals of worship to the alter of OOP, have not themselves made $2.5bn. When of course what it looks like under the hood is neither here nor there, it's the end result that's the important bit.

Cas Smiley

Offline ags1

JGO Kernel


Medals: 367
Projects: 7


Make code not war!


« Reply #2 - Posted 2016-08-10 10:25:13 »

Isn't everything "coded badly"? OpenGL is bad, LibGDX is bad, LWGL is bad, jME is bad, Swing is bad, J2EE is bad, Java is bad...

Given a sufficiently large code base, you will be able to find a ridiculously large number of things that are either appallingly bad by any reasonable standard or are perfectly good but still unacceptable to a large number of people for various reasons.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline MinusKelvin

Senior Devvie


Medals: 20
Projects: 1
Exp: 4 years


Quantum WAT


« Reply #3 - Posted 2016-08-10 11:49:18 »

From a strictly coding perspective, I can't really think of anything. The game uses about as much memory as I'd expect, and runs about as well as I would imagine it would considering it's written on an OpenGL 1.X version. I think it's a technical feat if anything.

I think that end-users don't understand why Minecraft requires so much memory and is demanding on graphics hardware, and so say it was "coded badly."

You can click my images to look at a larger version most of the time.
Offline h.pernpeintner

JGO Ninja


Medals: 107



« Reply #4 - Posted 2016-08-10 12:10:35 »

@ags1: The compressed truth, well said Cheesy
Offline SwampChicken
« Reply #5 - Posted 2016-08-10 12:34:19 »

I agree with princec. I also think that because minecraft was developed by such a small group, I'm  pretty sure it's actually written better than most large projects because something I've seen many times is the "too many cooks" effect.... things become a giant ball of string pretty quickly when a project changes hands a lot ...(regardless of how many software architects you throw at the project)

Overall... Minecraft is still great imo, I still play it with my daughters. Its a fun game which I still enjoy playing over many AAA titles. I still remember when n0tch started posting WIP pictures of it here, I remember all the bricks were white and thinking to myself "what the hell am I looking at?!!?" haha

FabulousFellini:
Did the java-hate-machine, at least follow through with their all-time classic "...because java is slow" comment ?
Offline orange451

JGO Kernel


Medals: 548
Projects: 8
Exp: 8 years


Your face? Your ass? What's the difference?


« Reply #6 - Posted 2016-08-10 16:53:59 »

I think it's much better now.

I used to think it was bad because I barely got 60 fps on a very good computer. Though, the game has had a lot of rendering improvements over the years. Shit code or not, it runs well now!

First Recon. A java made online first person shooter!
Offline FabulousFellini
« Reply #7 - Posted 2016-08-10 16:54:40 »


FabulousFellini:
Did the java-hate-machine, at least follow through with their all-time classic "...because java is slow" comment ?

I dont think they said because "java is slow".  I think most just say that its not coded very well but give no explanation as to why.  Keep in mind these are just internet randoms that I dont trust and probably just trolls, which is why I brought the question here, and all your responses are pretty much what I was expecting.  Basically, its not bad, people are jealous, and it's a very large program so there are going to be some parts that are "badly coded".  I'm gonna have to go back and look at the WIP thread for it!

-FabulousFellini
www.fabulousfellini.com
Offline FabulousFellini
« Reply #8 - Posted 2016-08-10 16:55:33 »

I think it's much better now.

I used to think it was bad because I barely got 60 fps on a very good computer. Though, the game has had a lot of rendering improvements over the years. Shit code or not, it runs well now!

Yeah, I also forget that the game isn't that new, and lots of this talk might be coming from straight after it was released.

-FabulousFellini
www.fabulousfellini.com
Offline Ecumene

JGO Kernel


Medals: 200
Projects: 4
Exp: 8 years


I did not hit her! I did not!


« Reply #9 - Posted 2016-08-10 17:59:16 »

Isn't everything "coded badly"? OpenGL is bad, LibGDX is bad, LWGL is bad, jME is bad, Swing is bad, J2EE is bad, Java is bad...

You're missing one, jgo  persecutioncomplex

EDIT: I should add a bit. Think what you want about "modern art", but one of the fundamental analogies for automatic art is that if you spend too much time staring at a blank canvas planning where everything's supposed to go, you'll never make a single stroke. Although, to me automatic art looks like an arbitrary mess, it looks great on a wall. So can computer code! It still serves a function!

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline princec

« JGO Spiffy Duke »


Medals: 1128
Projects: 3
Exp: 20 years


Eh? Who? What? ... Me?


« Reply #10 - Posted 2016-08-10 18:10:04 »

The code was pretty hacky for a long time. Markus just bashed it together to make it work and then kept on kludging bits onto it. It all worked out nicely in the end for him though, no?

Cas Smiley

Offline ags1

JGO Kernel


Medals: 367
Projects: 7


Make code not war!


« Reply #11 - Posted 2016-08-10 18:17:52 »

Thats, like, proper coding Smiley

Offline Ecumene

JGO Kernel


Medals: 200
Projects: 4
Exp: 8 years


I did not hit her! I did not!


« Reply #12 - Posted 2016-08-10 18:19:15 »

The code was pretty hacky for a long time. Markus just bashed it together to make it work and then kept on kludging bits onto it. It all worked out nicely in the end for him though, no?

He did a lot of 48-hour style competitions, which probably contributed to his bashing ability. I guess that's the best way to get people out of the OOP-Shrine mindset.

I wouldn't blame him, I'd sell my own mother for $2bn.
Classic Wink

Offline FabulousFellini
« Reply #13 - Posted 2016-08-10 19:28:50 »

I cant wait to sell my game for 2 billion dollars.  If that ever happens I will give everyone who commented on this thread $50,000.  Fingers crossed lol.

-FabulousFellini
www.fabulousfellini.com
Offline Cero
« Reply #14 - Posted 2016-08-10 19:44:31 »

It all worked out nicely in the end for him though, no?
In the end? No... not really, you know that D:
http://venturebeat.com/2015/08/29/minecraft-creator-has-existential-meltdown-on-twitter-then-gets-stung-by-jellyfish/

You are probably more happy than he is and you have a family.
Success is not measured in money~
Which is not me bashing him, I love him.

Offline princec

« JGO Spiffy Duke »


Medals: 1128
Projects: 3
Exp: 20 years


Eh? Who? What? ... Me?


« Reply #15 - Posted 2016-08-10 19:53:09 »

Yeah, I think I am waaaay more happy than Markus, probably Smiley

Cas Smiley

Offline Archive
« Reply #16 - Posted 2016-08-10 20:17:01 »

Im commenting on this thread for two reasons:

1. To give my opinion: Markus had a great idea and some talent with programming. Not everyone who is a programming god has great ideas and not everyone who has a good idea is good at programming. It's a trade off and he had just enough of both sides.

2. To potentially get $50,000 from FabulousFellini

Offline princec

« JGO Spiffy Duke »


Medals: 1128
Projects: 3
Exp: 20 years


Eh? Who? What? ... Me?


« Reply #17 - Posted 2016-08-10 20:22:04 »

I'm holding @FabulousFellini to his promise too Wink

Cas Smiley

Offline Ecumene

JGO Kernel


Medals: 200
Projects: 4
Exp: 8 years


I did not hit her! I did not!


« Reply #18 - Posted 2016-08-10 21:15:07 »

I cant wait to sell my game for 2 billion dollars.  If that ever happens I will give everyone who commented on this thread $50,000.  Fingers crossed lol.

Should have asked for medals persecutioncomplex

Offline FabulousFellini
« Reply #19 - Posted 2016-08-10 21:54:39 »

All I have to do is make the next bigger than life game, then we're all set.  But I do have confidence that if anyone ever saw my code, they would definitely say it was bad, so at least there's that   Cool

-FabulousFellini
www.fabulousfellini.com
Offline ChrisM

JGO Knight


Medals: 28
Projects: 1
Exp: 16 years


Luke...END OF LINE


« Reply #20 - Posted 2016-08-10 23:52:22 »

Random internet people critiquing something? When did this happen!?!?

In all seriousness, sour grapes.

Those that know the work he has done over the years, from WURM initially, to crazy 4K games know the guy can code.

Also, what Archive said Smiley

Offline SwampChicken
« Reply #21 - Posted 2016-08-11 00:27:08 »

Does anyone know what pet projects n0tch has been working on lately? ..or whether he's still tinkering in the java space?
Offline DarkCart

JGO Kernel


Medals: 124
Projects: 9
Exp: 50 years


It's all in the mind, y'know.


« Reply #22 - Posted 2016-08-11 00:58:44 »

Does anyone know what pet projects n0tch has been working on lately? ..or whether he's still tinkering in the java space?

I've been reading his Twitter for the past year or so. Not making really anything and definitely not anything java related.
He's still coding though if this tweet has any truth to it.

The darkest of carts.
Offline Mac70
« Reply #23 - Posted 2016-08-11 05:40:41 »

To be honest, I wouldn't code anymore (or maybe only a little) in his situation as well. Roll Eyes While in many other fields he could still be able to accomplish a lot, in case of indie gamedev his second 'big' game would need to be at least partially as good as the original, and - while we all have different views on this game - I think we can all agree that it started a new era in gaming. Due to that all of his future games would be compared to Minecraft, and I doubt this is something any hobby gamedev would want.

When it comes to Notch coding, all I can say is that his games simply work and codewise are much better than what I often see both at my current job and other games I worked/work on. Smiley
Offline matt_p
« Reply #24 - Posted 2016-08-11 06:28:00 »

To the notch topic:
I would have liked to see where 0x10c was heading to, but apparently it was canceled completely...


To the minecraft logic:
Most of the hate is pure envy I think Wink
Offline ShadedVertex
« Reply #25 - Posted 2016-08-11 06:54:51 »

I played Minecraft for two whole years. One could even say I was addicted to it, though I never thought of it in that way. The lag was very occasional and it didn't ruin the fun (taking into consideration the fact that I was playing it on a computer with 4GB of RAM and an ancient Intel graphics card). Earlier versions of Minecraft, back when Notch was the only dude working on the project, must have had a lot more performance issues (for obvious reasons).

Look at it this way: Minecraft was Notch's toy project. He didn't know that it would be a huge success with thousands of copies sold every week. From this, we can infer that Notch probably didn't care much for performance and optimisation, especially since he was working with Java and he didn't have to worry too much about memory management; he had the garbage collector to deal with that. Imagine if someone goes back in time to tell Notch that he was gonna make billions from that one game. Do you think the game would be as awesome as it is today? Of course not! If that were to happen, Notch wouldn't have seen Minecraft as a toy project; he'd have seen it as his ticket to fame, wealth and success -- what more could anyone want?

Now that he's sold the company to Mojang and he's sitting in a humongous pile of cash (which, admittedly, is shrinking in size at an exponential rate as we speak), what does he have to worry about? Some people abhor him while others look up to him. He's one of the few people who can say, with full certainty, that they have achieved true success. Fedoras off to you, Notch!

Performance-wise, Minecraft is fine. Minecraft is one of the primary reasons for which budding game devs actually consider using Java for game dev. Alas, Minecraft and Runescape simply aren't enough to influence people to use Java for game dev, and we can't blame those people, what with all the recent AAA game engines being developed in C/C++. Java is just as capable as C/C++ in terms of graphics programming, but that's a fact most people refuse to believe, which just goes to show how insular we humans can be sometimes. I wish we could do something to change that, JGO being the biggest Java game dev community on the Internet. Maybe one day...
Offline mike_bike_kite
« Reply #26 - Posted 2016-08-11 07:50:22 »

I think producing a successful application and coding it well are a bit mutually exclusive. The main argument cited against mine craft's "bad code" is that it doesn't run well enough on some hardware. Sure they could spend a year improving the code (and introducing new bugs) but they could also just wait a year and CPU's and GPU's will just get faster anyway. You're far better getting the application out the door than endlessly rewriting working code.  

Most of the time you don't start off with the complete idea (or finished spec) for your application. You start writing with one idea in mind and the application slowly grows into something different. Do you completely stop and rewrite the code? I don't - if it's working then why change it? I do think you get better code with larger teams  as the code is seen by more folk but then you run into the problem that the application is designed by committee and it loses any originality. With larger teams you also get more managers and that tends to make aims more conservative as well.  In a team of one I honestly wouldn't ever look at code again once it was working.

Can't say I've ever played Minecraft though.

Arcade swarm
Board Chess - Checkers - Othello
Offline gouessej
« Reply #27 - Posted 2016-08-11 09:26:12 »

Hi

I find this question philosophically inconsistent because "bad" tends to be subjective and the rest of of the question tends to assume that it's about a fact, something objective. I would rephrase the question: "why do some developers find Minecraft bad?".

I think producing a successful application and coding it well are a bit mutually exclusive.
Coding it well requires much more time but you win on the long term because it's more maintainable.

The main argument cited against mine craft's "bad code" is that it doesn't run well enough on some hardware. Sure they could spend a year improving the code (and introducing new bugs) but they could also just wait a year and CPU's and GPU's will just get faster anyway. You're far better getting the application out the door than endlessly rewriting working code.  

Most of the time you don't start off with the complete idea (or finished spec) for your application. You start writing with one idea in mind and the application slowly grows into something different. Do you completely stop and rewrite the code? I don't - if it's working then why change it? I do think you get better code with larger teams  as the code is seen by more folk but then you run into the problem that the application is designed by committee and it loses any originality. With larger teams you also get more managers and that tends to make aims more conservative as well.  In a team of one I honestly wouldn't ever look at code again once it was working.

Can't say I've ever played Minecraft though.
As far as I know, Minecraft dropped the support of OpenGL < 2.1, it's intentional. I don't blame Notch. Maintaining a project benefiting on the programmable pipeline while still being able to run with the fixed pipeline isn't trivial and is time consuming. However, I understand the end users' frustration. Intel dropped the support of Intel HD 3000 silently by providing a broken driver under Windows 10 : sometimes it's simply not the game developers' fault.

Julien Gouesse | Personal blog | Website | Jogamp
Offline princec

« JGO Spiffy Duke »


Medals: 1128
Projects: 3
Exp: 20 years


Eh? Who? What? ... Me?


« Reply #28 - Posted 2016-08-11 09:47:33 »

I think producing a successful application and coding it well are a bit mutually exclusive.
Coding it well requires much more time but you win on the long term because it's more maintainable.
I'd normally agree but of course there is the caveat that if you don't intend to maintain it... don't waste your time making it maintainable!

Cas Smiley

Offline ags1

JGO Kernel


Medals: 367
Projects: 7


Make code not war!


« Reply #29 - Posted 2016-08-11 10:28:28 »

"Coding it well" is not a do once, done forever thing. Code might start out at a certain lower level of quality when you are just trying to get things running, but the longer you have with the code the more incremental improvements will go into it. I don't think the Minecraft devs ever made a decision to just go round randomly making the code better, they just ended up with a program that has millions of users on many different platforms and five years worth of maintenance behind it. That's going to make a substantial difference to code quality!

Pages: [1] 2
  ignore  |  Print  
 
 

 
Riven (208 views)
2019-09-04 15:33:17

hadezbladez (4948 views)
2018-11-16 13:46:03

hadezbladez (1824 views)
2018-11-16 13:41:33

hadezbladez (5225 views)
2018-11-16 13:35:35

hadezbladez (1032 views)
2018-11-16 13:32:03

EgonOlsen (4416 views)
2018-06-10 19:43:48

EgonOlsen (5249 views)
2018-06-10 19:43:44

EgonOlsen (2988 views)
2018-06-10 19:43:20

DesertCoockie (3882 views)
2018-05-13 18:23:11

nelsongames (4314 views)
2018-04-24 18:15:36
Java Gaming Resources
by philfrei
2019-05-14 16:15:13

Deployment and Packaging
by philfrei
2019-05-08 15:15:36

Deployment and Packaging
by philfrei
2019-05-08 15:13:34

Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!