
Notch's 48-hour game: Prelude of the Chambered - Raphael
http://s3.amazonaws.com/ld48/index.html
======
Breefield
Notch's game appears to be a reinterpretation of "Chip's Challenge".

<http://en.wikipedia.org/wiki/Chips_Challenge>

~~~
PerryCox
Easily the best game to ever be included with Windows.

------
dave84
Here's my entry: 'Harvest' - On g+ as ludumdare.com seems to be down.
[https://plus.google.com/117952639955495935037/posts/DyEXjhmF...](https://plus.google.com/117952639955495935037/posts/DyEXjhmF43U)

Edit: Notch's entry keeps saying "Click to focus" for me. Even when I click to
focus... hmmm.

~~~
ugh
Reloading helped for me.

— edit: That’s a great little game you made there. A lot of fun!

------
pygy_
For those who didn't watch the stream:

The game is a Zelda-inspired, first person, 2.5D dungeon crawler written in
Java.

__Modus operandi:__

1) He first built a robust engine, very powerful from a game developing
standpoint. Building the various types of blocks (walls/grounds/objects) and
entities (player/ennemies/bullets/boulders) needed remarkably little code
afterwards.

2) He used Paint.NET as a level editor, and color-coded the blocks and
entities. He used the alpha channel to identify the switches, the doors, the
ladders and the ennemies (from 255 downwards). Doors and switches are
automatically linked by id. This allows to put all the level design logic on
the map.

3) The most important: short iterations. He spent more time play testing the
game than writing it, systematically retesting the old stuff when he
introduced a new feature, or even after changing a detail.

4) He's sharp, knows his tools, edits the code very fast and makes few
mistakes. He also has a lot of experience, which allowed him to make good
initial decisions that facilitated the development process.

__The platform:__

Java+Eclipse turns out to be an excellent platform for writing games.

While it doesn't have a REPL, its debugger allows to patch the code while it
is running, offering a very dynamic environment, especially to tweak the
gameplay. It felt very lightweight. I wonder if the other JVM languages have
similar debugging facilities.

The simplicity of the language makes the code easy to read and modify
(provided you have a sound initial code base). Once you get used to it, the
boilerplate becomes transparent (like the parentheses in Lisp).

The refactoring abilities of Eclipse are excellent.

The speed of the JVM allows to write fast low level code, and its object
system make it straightforward to organise the high level logic.

__Some tricks/hacks:__

All textures are drawn in 4 shades of gray, then colored when they are loaded.
It allows to reuse the wall textures for all levels, and to differentiate the
bosses from the normal ennemies, at no cost, etc.

His playsound function creates a new thread every time it is run.

If I counted properly, there is at most one level of inheritance, even where
more would have made sense from an orthodox OO design standpoint. There's some
code duplication, but he only duplicated robust, well tested code.

The low resolution and limited palette allows the rudimentary graphics to look
good (old school). The animations have only two frames.

.

.

On a side note: Did someone save fist few hours of the stream, when he wrote
the 3D engine? I couldn't watch the process, and his Livestream account has
been deleted.

~~~
tydok
(I can't access YouTube at the moment to verify the link)

Notch coding "Escape" - 20.8.2011 livestream

www.youtube.com/watch?v=QYBUCYUNn3Q

~~~
jannes

      Unfortunately, this video is not available in Germany
      because it may contain music for which GEMA has
      not granted the respective music rights.
    

I hate these music industry pricks. Why did they block this? Because he's
listening to some web radio in the background? That's ridiculous.

~~~
pygy_
What about this?

[http://v4.cache2.c.youtube.com/videoplayback?sparams=id%2Cex...](http://v4.cache2.c.youtube.com/videoplayback?sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0hQSVBQUl9FSkNOMF9ISlZB&fexp=914033%2C907605&itag=45&ip=0.0.0.0&signature=9AC92F7005004BF5805F0B033014FEA84A062E42.A1A24CFA769B5E197538875C96D00FFDAD98282B&sver=3&ratebypass=yes&expire=1314054000&key=yt1&ipbits=0&id=41805409850d9f74&redirect_counter=2)

It works in Firefox here (HTML5 video)

Edit: you may have to be signed in and enable the HTML5 beta. I'm saving it
and will upload it later.

Edit2: It's uploading right now. It is a 720P screen capture of the live
coding being played fullscreen at a higher resolution. The text is blurry but
readable.

Edit3: Here you are!

<http://www.megaupload.com/?d=X9H8XYZB>

~~~
tydok
Worth its bytes in gold :) Thanks.

------
angrycoder
Source code is here:

<https://s3.amazonaws.com/ld48/PoC_source.zip>

------
Raphael
Hint: At the beginning punch through the wall with the space bar.

------
johnfn
May as well plug my game too:

Escape Artist: [http://www.ludumdare.com/compo/ludum-
dare-21/?action=preview...](http://www.ludumdare.com/compo/ludum-
dare-21/?action=preview&uid=3187)

Right now the only way to run it is to run main.py through python. I'm working
on standalones.

------
crowbar
I ran out of time to do my game this weekend (Other insanities were going on,
unfortunately. I managed to only spend about 5-6 hours on it all in all), but
I might as well show what I did make for those curious. It's more of a concept
than anything else, but I did make a couple of things that I can carry on to
my other FlashPunk project, so it's all good in the end! It was a lot of fun
and I wish I could have done something more, or at least relinquish myself to
a simpler idea.

<http://crowbar.ripsystem.com/projects/ld21/> \- Arrows Move, A shoots.

~~~
seclorum
Chromium 13.0.782.107 (Developer Build 94237 Linux) Ubuntu 11.04 user here..
just want to report that Arrows don't move, A doesn't shoot. Looks interesting
though!

~~~
crowbar
Noted! I'll have to check that out. I didn't do a whole lot of testing outside
of the flash player/in firefox, so it may be a bug inside Flashpunk for all I
know. If so, gives me a chance to do a little bug fixing for the community. :D
Thanks!

~~~
citricsquid
FYI Chrome and Flash have a bug with Action script 2. So if you're using AS2
for that game that's why his controls don't work.
<http://www.newgrounds.com/bbs/topic/1265535> second paragraph.

------
aeontech
It was definitely fascinating to watch for a while. I would actually love to
watch live coding with commentary of some good programmers, I imagine you
could learn a lot from it.

~~~
JustAGeek
On peepcode.com you can find several screencasts where you can watch
experienced developers working on a mini-project while thinking out loud The
series is called "Play by play". Here's the one with Zed Shaw:
<http://peepcode.com/products/play-by-play-zed-shaw>

The others can be found here: <http://peepcode.com/screencasts>

Furthermore, there's <http://www.cleancoders.com/> by Bob Martin. For several
of the available episodes there are screencasts available in which he TDDs on
some task, e.g. here: [http://www.cleancoders.com/codecast/clean-code-
episode-3/sho...](http://www.cleancoders.com/codecast/clean-code-
episode-3/show) Those screencasts are bonus material, so to speak, the actual
episodes are well worth the watch, too.

All those screencasts cost money - but imho they're very well worth it!

~~~
aeontech
Thanks for the links, I'll definitely check them out.

------
uvTwitch
Trust Notch to make a low-fi 3D game about punching bricks. Pretty awesome
though!

------
terhechte
I know one could watch the complete livestream, but I wonder if the source is
also available somewhere. I'd love to dive in and understand some of the
complexities without time constraints. Great game.

~~~
davecardwell
So you don’t miss it, <http://news.ycombinator.com/item?id=2911794>

------
Androsynth
I wish more people would have joined the competiton than just watch Notch, but
I guess thats just how things go. This was my first Ludum Dare competition and
I had a lot of fun.

~~~
newobj
eh? there's usually several hundred _completed_ entries in any LD48.

~~~
Androsynth
And there was tens of thousands of people who watched notch at some point.

~~~
jakelear
Tens of thousands of non-programmers. A few minutes spent in the livestream
chat feed was enough to drive a sane man to madness. 50% of comments were
asking if the stream was minecraft 1.8, the other 50% were rude comments about
Notch's marriage/weight/work ethic/etc.

~~~
walrus
Many of the people asking if it was Minecraft 1.8 were just doing it to bother
others.

~~~
runevault
The MC 1.8 people were, but a LOT of people were also "what compiler is he
using?" and other similar questions that showed the one asking had little to
no knowledge of programming. I'd bet at LEAST 60% and probably more like 80
had minimal to no knowledge of how to write real code.

------
exit
can anyone actually get their browser to give the applet focus?

~~~
walrus
Yes. Firefox on Linux with OpenJDK works for me. You could try downloading
<https://s3.amazonaws.com/ld48/index.html> and
<https://s3.amazonaws.com/ld48/PoC.jar?v=9>, then running it with
`appletviewer index.html` from a terminal.

The controls are WASD+QE (or arrow keys), space, and the number keys to switch
items.

