Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
FamDav
Mar 29, 2008
Live Coding Horror! http://www.twitch.tv/notch?0x10c

Adbot
ADBOT LOVES YOU

Look Around You
Jan 19, 2009

FamDav posted:

Live Coding Horror! http://www.twitch.tv/notch?0x10c

:lol: at the SICK DUBSTEP BEATZ in the background.

Freaksaus
Jun 13, 2007

Grimey Drawer
Wait, live streaming coding? I don't really see the appeal of watching someone else code/test their code.

pigdog
Apr 23, 2004

by Smythe
Seeing as he has 3700 viewers at the moment, I suppose plenty of people do.

Calipark
Feb 1, 2008

That's cool.
I would actually read an article on why exactly notch's code is bad, I'm not experienced enough to see it for myself and would benefit from seeing a bunch of mistakes.

evensevenone
May 12, 2001
Glass is a solid.
Because it's in Java, lots of people decompile it and it turns into a steaming pile of poo poo.

geonetix
Mar 6, 2011


It's also not just the code, it's the incredibly bad decisions that were made and often times fixed in mods or simply not all.

The thing that stood out most for me was the way the networking layer was implemented. Not just in TCP instead of UDP (which seems like a bad idea in the first place), but in a way that if one person suffered from a little lag, everybody on the server would lag instantly and just as badly.

Maybe he has learned and is doing it better now.

ToxicFrog
Apr 26, 2008


evensevenone posted:

Because it's in Java, lots of people decompile it and it turns into a steaming pile of poo poo.

Decompilation can't be blamed for poo poo like the text display code. Compiling and then decompiling won't magically replace good algorithms or designs with terrible ones; it'll just change the expression of the algorithms and designs that are already present.

For that matter, you can take a pretty good guess at what Minecraft looks like internally just by noting the number of times something Notch has declared will never be implemented because it is "technically impossible" has then been implemented by modders within a week.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
Basically Notch's code almost always looks as if he's hacked on it just enough to get it "working" and then just left it like that without ever cleaning it up in any way.

There is a poo poo ton of code out there like that, but people are much more vocal about it in Notch's code because he's actually been successful with it. That and his product is something that most nerds look at and think "I could have hacked out something like that, and done it better", which of course is a recipe for huge nerd jealousy.

fishbacon
Nov 4, 2009
wonderful yet strange smell

geonetix posted:

Maybe he has learned and is doing it better now.

Someone pointed out (on hacker news no less) that he is using a deprecated OpenGL API, so I don't think he has learned too much. But maybe he is handing the rest of the coding work over to someone else when the general idea is done?


Look Around You posted:

:lol: at the SICK DUBSTEP BEATZ in the background.

I do the same thing, put on di.fm in the background to avoid getting distracted by sounds and stuff, it's very relaxing when you learn not to hate electro music.

Toady
Jan 12, 2009

pigdog posted:

Seeing as he has 3700 viewers at the moment, I suppose plenty of people do.

Notch's fans are a little...different. I'd be willing to bet the majority of the viewers aren't programmers.

That Turkey Story
Mar 30, 2003

You know, I bet your code does increase in quality by a ton when you have that many people watching you code. You're both probably way more self-conscious and people will be catching your bugs all the time for you entirely for free as soon as you write them.

Jonnty
Aug 2, 2007

The enemy has become a flaming star!

That Turkey Story posted:

You know, I bet your code does increase in quality by a ton when you have that many people watching you code. You're both probably way more self-conscious and people will be catching your bugs all the time for you entirely for free as soon as you write them.

When I was watching, you couldn't actually make out the code. Probably for the best.

Toady
Jan 12, 2009

Jabor posted:

Basically Notch's code almost always looks as if he's hacked on it just enough to get it "working" and then just left it like that without ever cleaning it up in any way.

There is a poo poo ton of code out there like that, but people are much more vocal about it in Notch's code because he's actually been successful with it. That and his product is something that most nerds look at and think "I could have hacked out something like that, and done it better", which of course is a recipe for huge nerd jealousy.

I don't think it's accurate to pin negative opinions on nerd jealousy or increased scrutiny due to success. Minecraft's code is objectively bad. It doesn't even combine identical adjacent quads.

Toady fucked around with this message at 01:46 on Apr 8, 2012

That Turkey Story
Mar 30, 2003

Toady posted:

I don't think it's accurate to pin negative opinions on nerd jealousy or increased scrutiny due to success. Minecraft's code is objectively bad. It doesn't even combine identical adjacent quads.

So what, how often would that actually happen in a game like minecraft?

Oh yeah.

Edit: Although, to be honest, I highly doubt that would ever be a bottleneck anyway.

gibbed
Apr 10, 2006

Jonnty posted:

When I was watching, you couldn't actually make out the code. Probably for the best.
Should have switched the Stream to 720p or 1080p. :ssh:

Toady
Jan 12, 2009

That Turkey Story posted:

So what, how often would that actually happen in a game like minecraft?

Oh yeah.

Quite often since most buildings and other user creations, plains-like biomes, oceans/lava, etc. have flat surfaces.

quote:

Edit: Although, to be honest, I highly doubt that would ever be a bottleneck anyway.

Fear not, the engine does far dumber things.

That Turkey Story
Mar 30, 2003

Toady posted:

Quite often since most buildings and other user creations, plains-like biomes, oceans/lava, etc. have flat surfaces.

Yeah, that would be the joke.

PalmTreeFun
Apr 25, 2010

*toot*

geonetix posted:

It's also not just the code, it's the incredibly bad decisions that were made and often times fixed in mods or simply not all.

The thing that stood out most for me was the way the networking layer was implemented. Not just in TCP instead of UDP (which seems like a bad idea in the first place), but in a way that if one person suffered from a little lag, everybody on the server would lag instantly and just as badly.

Maybe he has learned and is doing it better now.

No, Minecraft's multiplayer still has terrible netcode. Also there's just about zero cheat protection, the only thing it checks is if you're going too fast (and therefore "flying"). The server pretty much lets the client do whatever it wants, like being able to reach several hundred blocks away and destroy blocks instantly, so you can single-handedly destroy an unmodded server's terrain with a hacked client, even the unbreakable blocks at the end of the world. You can also x-ray hack without problems, often just by changing the texture pack to a custom-made one with transparent textures.

Look Around You
Jan 19, 2009

PalmTreeFun posted:

No, Minecraft's multiplayer still has terrible netcode. Also there's just about zero cheat protection, the only thing it checks is if you're going too fast (and therefore "flying"). The server pretty much lets the client do whatever it wants, like being able to reach several hundred blocks away and destroy blocks instantly, so you can single-handedly destroy an unmodded server's terrain with a hacked client, even the unbreakable blocks at the end of the world. You can also x-ray hack without problems, often just by changing the texture pack to a custom-made one with transparent textures.

How do you cheat in minecraft multiplayer? I was under the impression that it's not competitive at all and that there wasn't any real goal other than "build poo poo" but maybe I'm wrong.

SavageMessiah
Jan 28, 2009

Emotionally drained and spookified

Toilet Rascal

Look Around You posted:

How do you cheat in minecraft multiplayer? I was under the impression that it's not competitive at all and that there wasn't any real goal other than "build poo poo" but maybe I'm wrong.

Griefing, naturally.

https://www.youtube.com/watch?v=t3IUONiBd5E

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

Toady posted:

I don't think it's accurate to pin negative opinions on nerd jealousy or increased scrutiny due to success. Minecraft's code is objectively bad. It doesn't even combine identical adjacent quads.

Well yeah, the Minecraft codebase is a steaming pile of crap.

The point is that Minecraft gets a uniquely large amount of people calling out the horribly lovely parts of the code, but that's because it's massively successful rather than because of it being somehow more lovely than other one-man game projects.

pseudorandom name
May 6, 2007

SavageMessiah posted:

Griefing, naturally.

To be fair, tree griefing was invented because normal griefing methods don't work when the server can just rollback the changes.

Of course, all the griefing protection is from mods, not Mojang.

Mesothelioma
Jan 6, 2009

Your favorite mineral related cancer!
I"m a pretty new programmer, but couldn't poor design be a reason why minecraft runs like garbage? I don't think notch ever expected to add this many features to his game in the first place.

Look Around You
Jan 19, 2009

Mesothelioma posted:

I"m a pretty new programmer, but couldn't poor design be a reason why minecraft runs like garbage? I don't think notch ever expected to add this many features to his game in the first place.

I hadn't followed Minecraft that much because it sounds pretty dumb, but if he used TCP instead of UDP for multiplayer initially, yeah that's a huge reason. I guess his graphics code is poo poo too apparently (which is :lol: considering how... not great it looks to begin with).

Captain Capacitor
Jan 21, 2008

The code you say?

Look Around You posted:

I hadn't followed Minecraft that much because it sounds pretty dumb, but if he used TCP instead of UDP for multiplayer initially, yeah that's a huge reason. I guess his graphics code is poo poo too apparently (which is :lol: considering how... not great it looks to begin with).

It's funny this topic came up, as I've been given permission to write my final project on just how poorly Minecraft was coded. (More specifically, I'm writing the paper about design antipatterns and how to fix them). I've got quite the list of points to cover in my paper.

Zhentar
Sep 28, 2003

Brilliant Master Genius

Mesothelioma posted:

I"m a pretty new programmer, but couldn't poor design be a reason why minecraft runs like garbage?

Someone posted an example in this very thread something around a year ago where one terrible, lovely function represented some significant portion of Minecraft's CPU usage. So yes, it is.

Strong Sauce
Jul 2, 2003

You know I am not really your father.





The fact that it chugs on a x120e while seemingly not doing anything processor/graphic intensive is pretty frustrating. Wish they would clean the code up rather than add new things you have to worry about like hunger.

Toady
Jan 12, 2009

That Turkey Story posted:

Yeah, that would be the joke.

Whoops.

Optimus Prime Ribs
Jul 25, 2007

Strong Sauce posted:

The fact that it chugs on a x120e while seemingly not doing anything processor/graphic intensive is pretty frustrating.

I always found it pretty funny that Minecraft runs worse on my computer than Skyrim does.
Not sure how Notch pulled that one off, but he found a way.

senrath
Nov 4, 2009

Look Professor, a destruct switch!


Captain Capacitor posted:

It's funny this topic came up, as I've been given permission to write my final project on just how poorly Minecraft was coded. (More specifically, I'm writing the paper about design antipatterns and how to fix them). I've got quite the list of points to cover in my paper.

Could you post the paper when you're done? I think it would probably be an interesting read.

Captain Capacitor
Jan 21, 2008

The code you say?

senrath posted:

Could you post the paper when you're done? I think it would probably be an interesting read.

Gladly. I know one of my favorite facts so far is the cubic lighting calculations (every block has to consider its neighbours and neighbours of neighbours).

Doc Hawkins
Jun 15, 2010

Dashing? But I'm not even moving!


senrath posted:

Could you post the paper when you're done? I think it would probably be an interesting read.

Then tweet it to Notch.

Look Around You
Jan 19, 2009

Captain Capacitor posted:

Gladly. I know one of my favorite facts so far is the cubic lighting calculations (every block has to consider its neighbours and neighbours of neighbours).

So one block then has to consider 27 other blocks for lighting, and they all have to consider 27 blocks and... :psyduck:

e: I've never coded anything along those lines... I know that's not a good way to go about it, but what would be a more sane approach?

Look Around You fucked around with this message at 18:27 on Apr 8, 2012

Keevon
Jun 11, 2002
You know maybe instead of being an angry nerd and writing your paper about how poorly notch wrote a multi million dollar game you could try being productive and write your own game but properly and show him whats what:qq:
You know maybe instead of being an angry nerd and writing your paper about how poorly notch wrote a multi million dollar game you could try being productive and write your own game but properly and show him whats what.

DaTroof
Nov 16, 2000

CC LIMERICK CONTEST GRAND CHAMPION
There once was a poster named Troof
Who was getting quite long in the toof

Keevon posted:

You know maybe instead of being an angry nerd and writing your paper about how poorly notch wrote a multi million dollar game you could try being productive and write your own game but properly and show him whats what.

Maybe he could, but then he would still have a final paper to write.

Toady
Jan 12, 2009

Keevon posted:

You know maybe instead of being an angry nerd and writing your paper about how poorly notch wrote a multi million dollar game you could try being productive and write your own game but properly and show him whats what.

What a weird comment. Nobody is angry, and making millions doesn't change the quality of the code.

Captain Capacitor
Jan 21, 2008

The code you say?
I'm not angry by any means. I'm not a game designer and find it fascinating to study the (admittedly decompiled) code and making observations about where it might be improved.

Keevon
Jun 11, 2002
You know maybe instead of being an angry nerd and writing your paper about how poorly notch wrote a multi million dollar game you could try being productive and write your own game but properly and show him whats what:qq:

Toady posted:

What a weird comment. Nobody is angry, and making millions doesn't change the quality of the code.

Perhaps you could excuse me for assuming people were angry by the fact that Notch is brought up a disproportionate amount in this thread. It really comes off as some sort of strange nerd jealousy to me.

Adbot
ADBOT LOVES YOU

senrath
Nov 4, 2009

Look Professor, a destruct switch!


He's brought up a lot because he's high profile and a rather easy target.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply