Earlier quoted context omitted.
> to the point of being able to design his own toy CPU architecture Not sure what the CS curriculum is in other countries but back where I'm from they had basically taught us enough by the middle of the second year for one to be able to design something like DCPU16 using only that knowledge. In other words, it isn't that hard, especially when you're surrounded by examples. I would expect a second-year undergrad to be…
> Not sure what the CS curriculum is in other countries but back where I'm from they had basically taught us enough by the middle of the second year for one to be able to design something like DCPU16 using only that knowledge. Same with us. That doesn't mean that 90% of the graduates out there, that even have taken such as class, will be able to do it. Heck, a surprising majority of them (like 30% or more), even fail…
Notch, WebGL, Dart, and ramping up quickly
151–160 of 204 posts
Re: Notch, WebGL, Dart, and ramping up quickly
#152Earlier quoted context omitted.
I've also spent time examining Notch's coding habits. He is a terrible, terrible coder. Minecraft was (and still is) an unoptimized, poorly designed piece of crap when he handed it off to the rest of Mojang. The DCPU-16 he designed had many flaws and his assembler for it threw out assembly convention. He makes very basic mistakes very frequently and his core designs are flawed. I say this as someone who has spent a c…
If Notch was trying to write an API, then sure. If he's trying to write fun games (which he is) then you are dead wrong. Not all code is written for the same purposes.
Terraria is currently a good example to compare with the situation of Minecraft. I don't know how both is made (except some stuff that my friends told me about Minecraft) but all I know is that most Terraria player made fun of Minecraft in the last big updates because they had SO MUCH content added when Minecraft had nearly nothing more.
If he's trying to write fun games that won't be updated, yeah, it's fine. Except that it's not the goal of Minecraft (at least I hope it's not...).
Re: Notch, WebGL, Dart, and ramping up quickly
#153Earlier quoted context omitted.
> I guess someday when you're an old man, right before you close your eyes for the last time, you can imagine all that cool code that you wrote, and say what a great life you had. You were a hacker. I'm also a researcher, and I like to think that the ideas I discover will outlast me and will make a difference. Your implication is that those who think of software as a 'product' to be sold are making a difference, and…
>> I just wish there was a place for those of us who appreciate the craft to hang out. Hacker News, for a long time, was that place for me. I still don't get what you're talking about, you like to look at and admire code like it's art? Can you give an example of code that gives you satisfaction to just look at it regardless what it does?
Re: Notch, WebGL, Dart, and ramping up quickly
#154Earlier quoted context omitted.
There are lots of problems with it. Here are a couple: He uses poor OpenGL practices, and sees poor performance as a result. He also designed the entire product in a way that makes it cumbersome to mod, without a consistent interface or a logical way for mods to work together. Modding Minecraft as a whole is one big hack. I'm more familiar with the networking side of things. The Minecraft networking protocol is a mes…
You don't seem to understand or have experience with how game code is written. It's not written to be "modified". It's not written with a specific modular outcome in mind. It's more often than not a one-off messy code that gets the job done, because that's the requirements and the pace of the industry. And, especially for something like Minecraft, it has to be original and even explore the problem space and ideas in…
You can adopt some good coding practices that ensure that the code isn't a spaghetti mess that's hard to understand when you come back and look at it. That's different than designing a system to be pluggable from the start.
So, I haven't watched any of Notch's livecoding videos, but for those who have, what kind of bad is the code? Is it bad "this is a mess and I won't remember what these variables do in 3 months" or is it just simply designed to handle the most immediate case (coded well but not with plugins in mind)?
Re: Notch, WebGL, Dart, and ramping up quickly
#155>Don't build an engine that you will someday build a game on top of, because you will never get past step one. I have several still-unfinished Game Maker apps which more or less died because I got so bogged down on the "engine". So yeah.
(I've never really gotten far writing a 'from-scratch' engine here but I'm also thinking of things like integrating a scripting system into an existing engine, which is something I've done before).
With an engine, you don't start with such a nebulous spec. You know, for example, the various pieces that your engine will need and it's easy to get started. You can say "well I need an asset importer", "I need to integrate a scripting system for gameplay", "I need some kind of rendering pipeline", etc. These are generally well-defined things.
With a game, well, what is there? You start off with the question "what is a fun game idea?" but in comparison it's so free-range. The ideas of where to head next just don't come as easily. Not to mention a lot of the non-programmer things that need doing - drawing the graphics, writing the music, writing the dialog if appropriate, etc. These can be intimidating things to attempt to do.
Re: Notch, WebGL, Dart, and ramping up quickly
#156Earlier quoted context omitted.
Agreed. A programmer maintaining a new project is going to feel frustrated when the application cannot be easily extended in a way that they expect, but the original author should be forgiven for not predicting every possible future permutation of their existing code base. The best design decision might seem obvious from the maintainer's perspective, but given 100 different maintainers, you'll end up with 200 differe…
Though there are some good points here, my experience has been that this "just get it done" above all else principle has sunk just as many projects as it has launched. Getting it done is a bare necessity of a good programmer, but what separates the mediocre programmer from a good programmer is whether they get it done in a more maintainable fashion. It is completely ridiculous to say as long as one can get a product…
Re: Notch, WebGL, Dart, and ramping up quickly
#157Now, I haven't seen one line of Notch's code. I have no idea if it's well structured or spaghetti. I would make an educated guess and say that there's a lot of the basics in this project that have been ported over from the Minecraft or 0x10c code. This last point is rather unlikely I think. I spent more than one or two weeks worth of time watching the various screencasts you can find on twitch.tv of Notch coding (I f…
I've also spent time examining Notch's coding habits. He is a terrible, terrible coder. Minecraft was (and still is) an unoptimized, poorly designed piece of crap when he handed it off to the rest of Mojang. The DCPU-16 he designed had many flaws and his assembler for it threw out assembly convention. He makes very basic mistakes very frequently and his core designs are flawed. I say this as someone who has spent a c…
what you would consider 'good code' wasn't Notch's goal, doesn't mean he isn't capable of it
Re: Notch, WebGL, Dart, and ramping up quickly
#158Where would a noob to this kind of stuff start? I'd like to draw a rectangle to the screen. :)
Re: Notch, WebGL, Dart, and ramping up quickly
#159Earlier quoted context omitted.
I've also spent time examining Notch's coding habits. He is a terrible, terrible coder. Minecraft was (and still is) an unoptimized, poorly designed piece of crap when he handed it off to the rest of Mojang. The DCPU-16 he designed had many flaws and his assembler for it threw out assembly convention. He makes very basic mistakes very frequently and his core designs are flawed. I say this as someone who has spent a c…
Notch is a very bad programmer I despise this sort of single-dimension haughty evaluation of programming "goodness": It is garbage, and is the dismissive grenades that a particular type of maintenance programmer tosses to feel better about themselves as they try to feed the family with sloppy seconds. I single out maintenance programmers because there is a stark difference between creating something out of nothing, a…
There is a middle area here, where one doesn't worry about perfect code, but still takes a moment to consider design. However, you don't hear that often on HN, because it loves a good "Such coding, so productive!" circle-jerk. The reality is that a lot of "get it done fast" programmers could use a maintenance project or two, and develop the habit of actually thinking about what they write.
But no, lets hate on maintenance programmers and people who want some thoughtfulness in their development. They're just not agile enough. eye roll
Re: Notch, WebGL, Dart, and ramping up quickly
#160Earlier quoted context omitted.
Agreed. A programmer maintaining a new project is going to feel frustrated when the application cannot be easily extended in a way that they expect, but the original author should be forgiven for not predicting every possible future permutation of their existing code base. The best design decision might seem obvious from the maintainer's perspective, but given 100 different maintainers, you'll end up with 200 differe…
Though there are some good points here, my experience has been that this "just get it done" above all else principle has sunk just as many projects as it has launched. Getting it done is a bare necessity of a good programmer, but what separates the mediocre programmer from a good programmer is whether they get it done in a more maintainable fashion. It is completely ridiculous to say as long as one can get a product…