Java-Gaming.org Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (798)
Games in Android Showcase (234)
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 17062 times)
0 Members and 1 Guest are viewing this topic.
Offline Longor1996

JGO Wizard


Medals: 116
Projects: 2
Exp: 8 years


The cake is probably a lie.


« Reply #30 - Posted 2016-08-11 12:08:56 »

I'm currently working/helping on a mod for Minecraft, and so I get to see a lot of decompiled(!) Minecraft code.
Its actually pretty nice. The worst bits are the ones where the various game systems/modules meet ech other.
And then there's the command system...

I think I can say with 100% certainty that the command parsing system is the worst part of the entire game.
While the thing is already extremely (needlessly) complicated, it is still entirely based on String.split(" ") and a bunch of regexes.
It is, by far, one of the most outdated parts of the game.

Just my two cents...

The cake is probably a lie... but it's a delicious lie!
Offline mike_bike_kite
« Reply #31 - Posted 2016-08-11 14:15:52 »

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.
Unfortunately time isn't something many of us have. You just don't know whether your app will be a success that might justify spending all those extra hours. If you have a great new application/game then personally I'd say get it out the moment it's mostly bug free. And what if someone else releases an app that's similar to your's? all of a sudden your great app is now just a copy of someone else's great app and people will just ignore it.

I can't remember whether it was Visicalc or Lotus-1-2-3L At the time they dominated the spreadsheet market but they decided to spend a year totally rewriting the code with the aim of improving the design and making the whole app run perfectly on a 2MB PC. During that year, Excel was released with a bunch of new features. Everyone got tired of waiting for the rewrite and instead bought Excel. At the end of the year everyone was using 8MB computers anyway. Now no-one even remembers the original spreadsheet program.

"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.
In my experience the longer code lives for then the worse it gets though I'll admit my view is tainted from working in large corporations. When an application is new, it's maintained by the guys that originally wrote it and who fully understand it. As the original development team move to other projects the maintenance is done by contractors who have a limited understanding of the system. Also over time new features are added that don't fit the original design of the system and these tend to be kludged into the existing framework. After 10 years it's advisable to make some sacrificial offering  before making any changes.

Arcade swarm
Board Chess - Checkers - Othello
Offline PaulCunningham

Junior Devvie


Medals: 2



« Reply #32 - Posted 2016-08-11 15:29:49 »

Coding it well requires much more time but you win on the long term because it's more maintainable.

YAGNI

Don't try and predict the future.
Make the code as simple as possible.
Assume the thing your working on now is the last thing you'll ever work on.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline TheMeatMan
« Reply #33 - Posted 2016-08-11 16:06:58 »

Quote from: Longor1996
I think I can say with 100% certainty that the command parsing system is the worst part of the entire game.
While the thing is already extremely (needlessly) complicated, it is still entirely based on String.split(" ") and a bunch of regexes.
It is, by far, one of the most outdated parts of the game.

What's wrong with String.split(...)?
Offline 65K
« Reply #34 - Posted 2016-08-11 16:12:12 »

Coding well...
... does not mean to require much more time
... does explicitly include simple solutions
... does not mean to predict the future
... does not mean to love or hate oop, functional programming or whatever methods there are
... is quite difficult to achieve

Lethal Running - a RPG about a deadly game show held in a futuristic dystopian society.
Offline ziozio
« Reply #35 - Posted 2016-08-11 18:19:46 »

The philosophy of coding is that you can always refactor, you just need to know when its good enough to stop!
Offline Mac70
« Reply #36 - Posted 2016-08-11 18:27:48 »

Coding well...
... does not mean to require much more time
... does explicitly include simple solutions
... does not mean to predict the future
... does not mean to love or hate oop, functional programming or whatever methods there are
... is quite difficult to achieve

I would also add the next one:
... takes lots of time
Time you could spend, for example, on actually making a game instead of beautiful code. As long as the code is not completely hopeless, "write once, refactor (maybe) later" is a way to go. Smiley
Offline FabulousFellini
« Reply #37 - Posted 2016-08-11 18:28:31 »


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?".


You are absolutely right.  If I looked at the code I would no doubt think it was good.  Others might not.  Regardless of the code quality however, it's pretty cool to go back and look at the thread for the game when it was in WIP, and now you can buy Minecraft toys at Target.

-FabulousFellini
www.fabulousfellini.com
Offline EgonOlsen
« Reply #38 - Posted 2016-08-11 21:03:12 »

Code written by others ALWAYS sucks. There's no exception! Simply because it's text written in a language. It's the same thing with natural language. Write a non-trivial text and give it to 10 people. You will get 11 different opinions back on why it sucks and how it can be improved. And not two of those will be alike.

Offline CptSpike
« Reply #39 - Posted 2016-08-11 23:38:36 »

I'm currently working/helping on a mod for Minecraft, and so I get to see a lot of decompiled(!) Minecraft code.
Its actually pretty nice. The worst bits are the ones where the various game systems/modules meet ech other.
And then there's the command system...

I think I can say with 100% certainty that the command parsing system is the worst part of the entire game.
While the thing is already extremely (needlessly) complicated, it is still entirely based on String.split(" ") and a bunch of regexes.
It is, by far, one of the most outdated parts of the game.

Just my two cents...

Out of curiosity, how could it be done better? I imagine having the only input as a string limits your options somewhat
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Longor1996

JGO Wizard


Medals: 116
Projects: 2
Exp: 8 years


The cake is probably a lie.


« Reply #40 - Posted 2016-08-12 01:09:31 »

-snip-

Out of curiosity, how could it be done better? I imagine having the only input as a string limits your options somewhat

Most interpreters/compilers for various languages only need a string (or a file... which is a string) to generate executable code/to interpret the code.

So... a better way would be to use a tokenizer for taking apart the command string, just like actual programming languages do. After that one could convert the resulting tokens (strings, numbers and operators) into an Abstract-Syntax-Tree for further processing, or directly execute the tokens. The latter option is actually easier here, because many commands have different parameters, in different orders and amounts, which makes building an AST pretty complicated if not impossible (its also easier to extend).

Does that answer your question? Smiley

The cake is probably a lie... but it's a delicious lie!
Offline Christien425

Junior Newbie


Exp: 1 year



« Reply #41 - Posted 2016-08-14 20:54:43 »

Usually people say the game is coded poorly as an excuse for why they don't like it, from what I've seen. It seems like they mean 1 of 3 things: 1) It's too laggy, 2) It has horrible graphics, or 3) It's coded in Java, so this means it automatically sucks. (I don't agree with any of those 3 statements).

PS: I'm high key commenting because of the $50k if you get that $2B
Pages: 1 [2]
  ignore  |  Print  
 
 

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

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

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

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

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

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

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

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

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

nelsongames (3867 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!