top | item 3811332

Notch live coding 0x10c

222 points| xuki | 14 years ago |twitch.tv | reply

147 comments

order
[+] rauljara|14 years ago|reply
I'm actually being really productive having the stream on in the background. I'm not looking at him code, but hearing his techno going is reminding me that someone somewhere is getting a ton of shit done, and it's shaming me into working hard.

And I don't even like techno.

[+] MiguelHudnandez|14 years ago|reply
The music reminds me of a small group of coders I was inspired by at my first startup. Back then I was only doing tech support and light front-end work, but every day it was three programmers and I getting stuff done to music like this. Ever since then, this kind of music is a great booster for me, even though I get embarrassed if someone comes into my office while it's playing...

The only thing I try for nowadays is to find an energetic, repetitive mix with no vocals.

[+] martingordon|14 years ago|reply
I shut it off after a few minutes (not a huge techno fan), but it did shame me into going back to work on an iPhone app I've been putting off for far too long (which is great because I built it for myself and there have been numerous times when I've had occasion to use it since I thought of it).
[+] mbrzuzy|14 years ago|reply
Looks like he is listening to di.fm electro house channel.

I just happened to turn that on and noticed it's the same songs.

[+] Cushman|14 years ago|reply
This is what a rock-star developer looks like. Just a dude programming, nothing special... while thousands of people watch.

No judgement, it's pretty neat for him-- but it's definitely weirding me out.

[+] jiggy2011|14 years ago|reply
It's a shame there is no random commentary like there was on his LD.
[+] kayoone|14 years ago|reply
in a world where you only seem to get respected by using osx, vim, nodejs, python, ruby etc. its refreshing to see someone with so much influence working with Java and Eclipse on Windows!
[+] TazeTSchnitzel|14 years ago|reply
And using deprecated OpenGL APIs, no less o_0
[+] sliverstorm|14 years ago|reply
Although, while it is certainly not be the only way to write, vim is always a solid choice.
[+] v-yadli|14 years ago|reply
Remember the last time when the language poll unveiled a whole large group of C# people? :-D
[+] zxcvb|14 years ago|reply
HN News makes it look like everyone uses apple and javascript or some fairly new and obscure functional language.

A hell of a lot of people are doing really good work with Java. I use Linux, Eclipse and Java at work and I know a lot of other people that do too.

[+] Mizza|14 years ago|reply
Oh, man, I love watching Notch code! I wrote about it when he was live coding Ludum Dare: http://gun.io/blog/what-i-learned-from-watching-notch-code/
[+] phillmv|14 years ago|reply
One,

>When building the engine, Notch wrote a function which would continuously pan the camera around and clip through the walls and keep the view on top, so he could make changes to the code and see the effects they made in real time. I’m used to testing by writing a function, building it, installing it on the device I’m testing on, and then seeing the result, which can take up to a minute at a time, so it’s easy to see how HotSwapping could save a lot of development time.

and two,

https://vimeo.com/36579366

[+] drtse4|14 years ago|reply
Just one note related to hotswapping, he's likely using JRebel.
[+] makmanalp|14 years ago|reply
Wow, maybe it's because he's done it a million times before, but it looks like he's super efficient, mainly because he's using the IDE's features to the max. He's also rapidly iterating at about 3-4 builds per minute.
[+] sbarre|14 years ago|reply
I switched to 720p and did the popout window to watch, and now 3 times I've caught myself trying to move his 3D window out of the way to look at the code in Eclipse..

And I'm on a Mac. :-(

[+] junkbit|14 years ago|reply
Whenever I look at screenshots I always try and click the close button in the picture. Every time.
[+] andrewingram|14 years ago|reply
Interesting to see him work, he's pretty fast.

Less interesting to see the quality of chatroom discussion, glad I could hide it.

[+] andrewingram|14 years ago|reply
I'm actually enjoying trying to work out what he's doing at any given time. I'm not used to seeing code happen from this perspective.
[+] Maven911|14 years ago|reply
Idea: start a new business model where people agree to being video-taped and then somebody else trims the content to make it more enjoyable to view (remove the non-programming related web searches, work breaks, etc.) - and add some extra voice commentary on what is going on, play by play...
[+] edwinnathaniel|14 years ago|reply
It's interesting to see that he uses Sonar (or at least have it installed but maybe disabled for now)

http://docs.codehaus.org/display/SONAR/Sonar+Eclipse

[+] chromejs10|14 years ago|reply
If you follow him on Twitter, he was looking for a code quality analyzer months ago. After trying some he found there were a lot of things he should change in the way he writes code. He settled on Sonar for some reason, don't remember why.
[+] bochi|14 years ago|reply
What about unit testing? He constantly tests the changes manually, but I don't see any automated tests.
[+] learc83|14 years ago|reply
There is so much that is subjective about gamedev that automated tests don't really work the same way.

How do you define a test for something as subjective as the "look and feel" of an interactive experience?

How do you automate this process?

1 Move the bounding box on the tree a few pixels.

2 Load the game

3 Move towards the tree until collision.

4 GOTO 1 UNLESS it "feels right"

Maybe regression testing, once you get things working, to prevent new bugs from popping up, or unit tests for game logic, but I don't know of many gamedevs doing full TDD.

[+] demian|14 years ago|reply
His approach seems to be one of "crafting" an experience, by mostly testing it by playing the game himself after every change, instead of trying to "engineer" a piece of software.

A great aproach for designing an interactive piece.

[+] DanielRibeiro|14 years ago|reply
He is testing: testing that people want this. In the beginning your biggest risk is making something poeple don't want, not code that breaks.
[+] ehsanu1|14 years ago|reply
That works less well for games than other applications. Unit testing isn't always appropriate.
[+] petercooper|14 years ago|reply
I'm an advocate of testing, and even TDD, but realistically, automated testing takes place in so, so few places compared to the entire world of software development and especially gamedev. People writing automated tests are, sadly, in a tiny minority. As an advocate for it, though, it makes me happy there are plenty of people left to convince and tools left to develop! :)
[+] Zaak|14 years ago|reply
Maybe that's why his code is buggy?

I love the games Notch makes, but he's not perfect.

[+] newobj|14 years ago|reply
Game developers don't write tests :^P
[+] justjimmy|14 years ago|reply
For those wondering about the music, it's at

-> di dot fm -> Listen Now -> Electro House

[+] adir1|14 years ago|reply
Anyone noted which software stack he is using? Is it plain Java 3D API or any libraries on top of it?

Also, I'd expect things would be more dynamic in whatever new game he's making, but that seems to be pretty static room he's playing with. Of course he could just be testing out various engine features, before setting out on the "content" part of the game.

[+] cdawzrd|14 years ago|reply
LWJGL, and I think he's working on a level editor rather than actual gameplay.
[+] terhechte|14 years ago|reply
Darn, exactly today I'm on a mega slow Internet connection. Is this going to be saved somewhere?
[+] newobj|14 years ago|reply
Always shocked how Notch doesn't seem to know a single keystroke shortcut in Eclipse. Watching him hit "Debug" with his mouse, or pick quick fixes, etc, is nuts.

What's even stranger is how fast he is without knowing any of these shortcuts. :)

[+] Alexandervn|14 years ago|reply
Does anyone have a clue of what he is building right now? What are the pyramids?
[+] cdawzrd|14 years ago|reply
I assume he's building a level editor. The "pyramids" are building-blocks to create stuff with.
[+] aurelianito|14 years ago|reply
What is the music in the stream?
[+] aforty|14 years ago|reply
Why do people care about this? I mean, the guy is coding, cool... but what's the big deal? I don't even think anything he has done is particularly great.
[+] jiggy2011|14 years ago|reply
I think for the same reason people like watching "making of" documentaries or seeing the work processes of famous artists / musicians etc.

Either that or we are just voyeuristic.

Plus this is live, I can't think of anywhere else you can watch somebody actually work on a serious commercial game in realtime.

[+] mikeash|14 years ago|reply
A lot of other people think he has done great things. Opinions can and do differ.