top | item 7652018

Will you drown?

428 points| jebblue | 12 years ago |game.notch.net

138 comments

order
[+] rdtsc|12 years ago|reply
From a personal revelation about his late father:

http://notch.tumblr.com/post/37823268132/i-love-you-dad

I remember that story and it kind of remained with me. As soon as I saw the title of the "game" I recalled this part of this story:

> ... turn around, see my dad being really close to the dog when all of the sudden a big chunk of ice around him breaks loose, tips over, and my dad falls in. I freak out. Then he stands up, the water only reaching about hip height.

I urge you to read the whole story.

[+] gpcz|12 years ago|reply
At the end of every episode in "Once Upon Atari," Rob Fulop (author or co-author of Demon Attack, Night Driver, Space Invaders, and Missile Command for the 2600) talks about how many children in the 80s played thousands of hours of Atari 2600 games and the effect that it had in their psychological development. Specifically, he believed it produced a nihilistic generation due to the overarching message that "you always lose" in the end. He contrasts it to the early television he watched as a child where the overarching message was "it will all work out" in the end. He says that he thinks about this a lot, and that him and everyone at Atari is responsible for that.
[+] wpietri|12 years ago|reply
That seems a little harsh. It was a nihilistic time. Missile Command was brutal, but no more so than The Day After[1]. You always lose pinball in the end, too, but nobody blames that for ruining the youth. Well, nobody in that generation. Previously, like everything else novel the youth do, it was Satan's handmaiden.

[1] http://en.wikipedia.org/wiki/The_Day_After

[+] IvyMike|12 years ago|reply
More on this subject: The Creation of Missile Command and the Haunting of its Creator, Dave Theurer

> Missile Command was a social commentary ahead of its time. One that resulted in the haunting of its creator through constant nightmares, punishing him with a reminder of the value of human life and just how quickly that can be taken from us.

http://www.polygon.com/features/2013/8/15/4528228/missile-co...

[+] CyberShadow|12 years ago|reply
Here's the full graph of the game logic (SVG) (spoilers):

https://cdn.rawgit.com/CyberShadow/11329584/raw/5d295c9557d3...

Code: https://gist.github.com/CyberShadow/11329584

Legend:

  - Round nodes are problems
  - Rectangular nodes are things you can have
  - Gray round nodes are problems that don't go away after solving them
  - Green lines are things solving problems gives you
  - Red lines are things needed to solve a problem
  - Dotted black lines are things you need to have for a problem to appear
  - Dotted red lines are problems that disappear when a problem is solved
[+] jebblue|12 years ago|reply
Thanks that is it a dot graph? OK I see, it is. I recall (not a CS grad here either) using that on something complex I did several years ago. Your graph really puts Notch's logic and my decisions while playing his game, into perspective.
[+] robertfw|12 years ago|reply
Wow. This really struck me - what an incredible piece of art. Thank you notch, for helping me to spend some time this morning reflecting on how I want to live my life.
[+] md224|12 years ago|reply
This is great... I love the way it lays out popular ways of narrativizing our lives and making sense of what we need to be content. This game captures a popular narrative and popular needs, but it's also a great starting point for ruminating on how we differ from each other. For example, some of us may have little ambition or no pressing need to create and yet may be perfectly content. We should recognize our own needs as important to us while also viewing them as deeply personal and not necessarily universal.

This isn't a knock on the game in any way. I love how it cleverly expresses one man's view on what matters in his life.

[+] xux|12 years ago|reply
For me, the game is more about the increasing complexity of life and the difficulty in managing it. As a toddler, all you had tow worry about was play and learn.

Pretty soon, you add in jobs, worries, lovers, heartbreaks, friendships, losing friends, money, self esteem, etc. And the more you try to optimize one area, the more you neglect the other areas, and the game becomes increasingly difficult to balance, just like life itself.

What a beautiful piece of art.

[+] jffry|12 years ago|reply
Play automatically:

  setInterval(function(){ $("a").click() }, 100)
(Edit: Yes, this leads you through a very fast, very bad life. Play manually and have a better life.)
[+] shawnz|12 years ago|reply
Hilariously, this gets stuck buying "Stuff" over and over and doesn't seem to ever complete the game
[+] parasight|12 years ago|reply
Drowning in problems? Automation is the solution ;)
[+] egeozcan|12 years ago|reply
The first thing I did after figuring out how the game works was typing this:

setInterval(function({[].slice.call(document.querySelectorAll("a")).forEach(function(a){a.click()})},100)

It feels great to know there are some more people who think of automating first, a better life second =)

[+] dennisgorelik|12 years ago|reply
This code:

  setInterval(function(){ $("a").click() }, 1000)
leads to a very long life.

Since "You need to learn." is at the bottom of task list, with 1s delay it never gets attention, so you don't learn, so you don't age.

Here's what I've got:

  You have:
  Hope
  Body
  Life
  Love
  309 Memory
  Integrity
  Job
  180 Experience
  53 Friend
  4 Respect
  216 Stuff
  102 Broken Heart
  6 Stress
  Knowledge
  Lover

  You are troubled. [Can't afford] -Integrity -Lost Ambition
[+] jaeh|12 years ago|reply
this version of the script gets you through the game: https://github.com/jaeh/willyoudrown/blob/master/willyoudrow...

i am also thinking about writing some ifs into it that allow you to focus on "friends", "happy buddha", "people person", "wisdom", "early death" and maybe some other criteria, but that needs user interface and more time, which i dont have today ;)

[+] caio1982|12 years ago|reply
I think you missed the point here, but nice trick :-)
[+] cturhan|12 years ago|reply
nope, that wont work at all. Even if you add jquery manually, this won't work at all. The correct one should be

  fireEvent = function(element){
   var event; // The custom event that will be created

    if (document.createEvent) {
    event = document.createEvent("HTMLEvents");
    event.initEvent("click", true, true);
    } else {
    event = document.createEventObject();
    event.eventType = "click";
    }

    event.eventName = "name-of-custom-event";

    if (document.createEvent) {
    element.dispatchEvent(event);
    } else {
    element.fireEvent("on" + event.eventType, event);
    }
  }

  setInterval(function(){
     Array.prototype.forEach.call(document.querySelectorAll('a'),function(d){
      fireEvent(d);
     })
  }, 1000);
[+] hmgibson23|12 years ago|reply
- Integrity for using jQuery? Lol
[+] sashasklar|12 years ago|reply
Seriously?

  window.setInterval(function(){ Array.prototype.forEach.call(document.querySelectorAll('a'),function(i) {i.dispatchEvent(event)})},1000);
[+] grannyg00se|12 years ago|reply
You just keep clicking on whatever links show up? I'm not catching the spark.

But it reminds me of A Dark Room, which was excellent. http://adarkroom.doublespeakgames.com/

[+] sp332|12 years ago|reply
It has potential, but I had a hard time relating to my character. I need a lover as a teenager? And 2 broken hearts to stop being a teenager? And the only way to get experience is by losing friends.
[+] moskie|12 years ago|reply
What a simple and profound game....

I hope Notch is feeling ok.

[+] pygy_|12 years ago|reply
> I hope Notch is feeling ok.

That was my first thought, and I suspect that's not the case at the moment :-\

[+] freyrs3|12 years ago|reply
Given the fairly nihilistic ending ( You are dead, you are forgotten, there is nothing. ), I sure hope he's OK.
[+] alcipir|12 years ago|reply
As long as you relax, make love and create, you will live forever.

Thats the message I got from it. Beautiful.

[+] tcpekin|12 years ago|reply
I absolutely loved this game. In the beginning, I took my time, thought about what each [Solve] would do, and really paid attention. As more and more options popped up, I ended up clicking faster and faster. This lead to a bitter life and then death. I don't think I've ever played anything as profound as that moment, when I realized I had just rushed through life. What a game.
[+] cvbncvbncgbc|12 years ago|reply
Is the game deeper as it seems on the first playthrough?

Are there any harder to reach options, like having children or reaching old age?

edit: I looked in source, there are no hidden options, you will get everything on the first playthrough.

[+] RollAHardSix|12 years ago|reply
End up going in circles at one point because I didn't realize I had any integrity. Similar to life indeed.
[+] hisham_hm|12 years ago|reply
Same here. I just replayed it and realized I didn't notice when exactly I got it. I had to play it for a third time to see the exact point. It made me go: "oh".

Brilliant.

[+] jweir|12 years ago|reply
Written in Dart.

Can anyone familiar with Dart to JS explain what is going on with:

  var B=new dart
  delete B.x
  var C=new dart
  delete C.x
  ...
[+] floitsch|12 years ago|reply
In JavaScript every object is basically a hashtable. In order to get acceptable performance JS engines build type descriptions ("hidden classes" or sometimes just "maps") behind your back. That is, if you create a JS object (hashtable) with fields `x` and `y` it will create a hidden class with those two fields. This way it can access the fields efficiently. See http://mrale.ph for much more information on JS engines.

These hidden classes are built on the fly: say you add `x` to a instance to get an object with a configuration that was never seen before. In that case, the engine creates a new description with that new field and remembers the transition (so that further objects with similar configurations can reuse the same hidden class).

Keeping track of these hidden classes takes time and space. If you actually use the JS object as a hashtable, then there will be lots of unnecessary hidden classes, that will never be used again. However, there is a trick to tell the engine that an object is actually a hashtable (and shouldn't be optimized as if it was an instance of a class): when deleting a field from an object v8 (and probably all other engines) assume that the object is used as a hashtable and don't create these hidden classes anymore.

Dart2js uses this trick to avoid this cost some important big hashtables (`B`, `C`, ...).

[+] jtheory|12 years ago|reply
The dark aspect of the flow is that this seems like a life that ends in suicide.

It's a question of interpretation, of course, but where does a retirement of any kind fit in? Not "stop work and focus on my gardening" type of retirement (which doesn't go so well for people who have defined themselves by their work!), but a switch back to more play and learning, a less rigorous schedule (and less "stuff") but more profound connections.

There's not a possible flow where "go to work" disappears, but "play" and "learn" remain.

Instead, Play/Learn drop out, as does the possibility to get a better job -- which implies that my capacity to grow fails while I'm still in my main working life; so my career will plateau while I go through "you are troubled", "you are bitter", and finally (as options disappear) "you are starting to accept".

"Accept" that I've lost the ability to learn/play and nothing but work (but with no hope of further self-improvement) and "get stuff" remains in my life? That's bleak. I can't even make new friends, apparently.

When I solve "You are starting to accept", that costs me "Life". I.e., accepting that there's nothing more I can expect from my life (in a game titled "Drowning in Problems", I end it.

Counterpoint: "Hope" is the last thing to go -- that doesn't fit with the narrative I'm describing here -- but that strikes me as a red herring, possibly intentional.

I have a bunch of interpretation to add to this -- is this a "too successful too young" anomie? Devaluation of the wisdom that comes with half a century of learning/playing because most people don't learn and play so long? Devaluation of what a relationship with another (friend or love) can be after decades of shared experience, because that doesn't seem to happen?

But yeah, I've spent enough time on HN already today.

[+] DalekBaldwin|12 years ago|reply
Another depression-oriented game. Well, thanks to parallelization, I got to make love during work hours, so I must say my life wasn't all bad.
[+] noobermin|12 years ago|reply
Depressing, but interesting. I find it interesting that even before you have a life, you start out with hope. What does that mean, I wonder? Hope of your parents? Society (for that "someone" who will make a difference)?
[+] jtheory|12 years ago|reply
I didn't try automation, but I noticed pretty quickly that the actions can run simultaneously -- e.g., I clicked on Play and Learn while I was reading & clicking other things, just to keep those two running as frequently as they could.

[-- until those 2 options disappeared, which I felt was too soon; why should play & learn disappear as possibilities when work and get stuff are still available? Ugh. That's not my plan!]

But a more interesting point -- I liked that while you can rapid-click to get a lot of plates spinning at once (and obviously "progress" faster in the game that way), you start missing things. E.g., I spent a minute just clicking every Solve I saw without reading carefully, and didn't notice how I gained/lost a few things.

To experience life deeply, you have to do things one at a time, in other words.

[+] Rzor|12 years ago|reply
At some point this became depressant for me, but interesting concept.