As a geek and a fan of 80s-90s PC games (not just Sierra but also LucasArts adventure games and so on), this was a super entertaining read on its own; but I also enjoyed some of these insights about life in general from it:
> Living is mostly a series of repetitive and unrelated tasks. It makes sense that the most tedious things to code are the tedious things that just have to be done. There are no life lessons or gymnastic skills involved in doing dishes, there’s no underlying theory of housework that will reveal itself after a thousand vacuum cleanings. Making coffee is a boring sequence of steps people feel stupid for getting wrong, even though they’re statistically doomed to screw it up now and then. The hard parts of of life are driving to work, eating properly, flossing, ....
Perhaps I found it particular insightful because I just became a parent a year ago. Prior to this, I thought I had optimized my life so well that most tedious work were gone from my life; with the peak being having switched to remote work and not having to even commute anymore.
Then I became a parent, and had to come to terms again with having to do a long series of repetitive and routine work every day -- washing bottles, dishes, changing diapers, etc. It was a bit of a cultural shock to my system since over the past 10 years I had slowly gotten used to / gradually removed or optimized aspects that are frictions / repetitiveness / tedious routines from my life; and suddenly it's 10x of it all coming back. Over the past year, I've come to realize this is what life is, which is exactly as the author said.
At the risk of sounding hippie, "tedious" and "boring" are emotional reactions to the chores, and not attributable to the chores themselves. We don't have to do that.
"Everything in life is miraculous. It rests within the power of each of us to awaken from a dragging nightmare of life made up of unimportant tasks and tedious useless little habits to see life as it really is, and to rejoice in its exquisite wonderfulness." ― James Branch Cabell, The Cream of the Jest
Not that I've remotely mastered it, but I think there's a lot of wisdom in there.
Not to sound too much like a hippie, either, but I learned (actually after having a kid as well) that when people talked about enjoying the ride, that's what they were talking about - the tedious stuff.
I always assumed it meant travel more and look for adventure, but I have come to understand that 'enjoying the ride' in your life, not always just pursuing some next thing is about enjoying the tedium.
Some of my favorite memories of my young children is the time we spent washing dishes together or watching them vacuum up the rugs and chase the cat with the broom.
The parent post, and your reaction to it, reminds me of the two days after my wedding.
We were rushing to get everything ready for the wedding. Picking up supplies. Moving into a house near the venue for a couple of days. Doing the wedding itself, packing up, getting home the next day. Obviously it goes without saying that the weeks leading up to the wedding were busy, just a little bit more so than every week before it.
But when I pulled the van into our driveway, 36 hours before leaving for our honeymoon, I had a blissful amount of time to just do mundane tasks. Return the kegs. Break down dozens of cardboard boxes from gifts that had arrived in our absence. Return the van to my friend's house, retrieve my car from same friend. Pack for 12 days away.
It's hard to put into words, but I just realized that I was in absolutely no hurry, because, for what felt like the only time in recent memory, I had more time than I had stuff to do. I was not pressured, or rushed, or thinking about what comes next. I had vacation in front of me, stress behind me, and limited mundane tasks in the present.
And that's how I found myself breaking down cardboard boxes with a huge smile on my face. Slowly, methodically taking them apart. Not annoyed at how many boxes there were. Not thinking about how I had to finish this, so I could do the next thing, so I could get to bed, so I could wake up for work the next day.
I don't think I've ever been so 'present' than I was in that moment.
To riff a bit on this: I've noticed in my life that I subconsciously subdivide every activity into two categories: things to accomplish, and obstacles to the former. I have not in my life ever enjoyed the second category. The crux being that by consciously re-sorting the activity from obstacle to target I get much more enjoyment out of it.
If I can convince myself that clearing the table for a new project is in itself a project it'll be cleared and washed and clean with a smile on my face. If I can't I'll be much more likely to just shove everything to the side to "solve" the obstacle and keep going.
I'm not very good at recategorising stuff on purpose yet, but it's definitely something I'm actively practicing.
Anyways I figured that's more or less the same thing as the journey-vs-destination thing worded a bit differently.
Thanks for this. I've heard folks refer to "replacing 'shoulds' with 'coulds'". Don't say "I SHOULD do the dishes"; it's not an obligation, it's a choice. You can let the dishes stack up. That will have its own consequences, but don't treat things like obligations, treat them like choices you're making.
I read this as I watched my 2 year old daughter joyfully scrub the shower with a nylon brush. She's demanded the brush ever since she watched me use it months ago.
I think finding lovely things tedious is something most of us learn, then unlearn.
It's still new and exciting when you're 2. I don't think you're unlearning loving the tedious. Things are just not tedious at that point, but fun, novel, and optional. If she didn't want to scrub the shower, she wouldn't. But we have to do it.
Oh no, little kids absolutely love familiar, boring, repetitive things. They also like routine a lot and can get upset when given too much choice. Look at how often toddlers want to re-watch the same cartoon over and over.
Semi related but there was an article on here or slash about that re-watching thing. Part of it is because they "miss" so much when watching it that it is almost like "watching it again for the first time". I wish my Google fu was working because it was a neat article about young brain development and such.
The horrifying aspect of Sisyphus is that he is doomed to do it for all eternity. Whereas we have only a limited time to cherish or despise every carpet vacuumed until we die. I believe that we transcend the mundane every time we embrace it and truly live it instead of wishing desperately to be doing something else.
I leave Sisyphus at the foot of the mountain. One always finds one's burden again. But Sisyphus teaches the higher fidelity that negates the gods and raises rocks. He too concludes that all is well. This universe henceforth without a master seems to him neither sterile nor futile. Each atom of that stone, each mineral flake of that night-filled mountain, in itself, forms a world. The struggle itself toward the heights is enough to fill a man's heart. One must imagine Sisyphus happy.
Yup, every time I have some horrible/menial/stressful task to complete, I think "I appreciate the opportunity to even experience this moment and witness the dream of existence". I mean, maybe not with that wording, but that approximate sentiment of, I get to exist and experience all that entails, and I can appreciate it even if is "not enjoyable" at that moment. Of course that only really works for things that aren't truly terrible, but I think in general it's a good perspective to take!
If I was Sisyphus and got the boulder to the top, I would push it back down myself.
I'm going to die eventually, so is it futile to exercise everyday, to learn, to try and be a better person? I don't think so, but all of those things are journeys that never end and require many mundane tasks.
> I'm going to die eventually, so is it futile to exercise everyday, to learn, to try and be a better person?
Many repetitive activities end up having a practical purpose: as someone who does strength training I know about sets and reps and lifting heavy things. But that gives me strength for everyday things.
But the point of giving Sisyphus that task is precisely because it is pointless. Sisyphus isn't doing anything with his existence except that task.
The person talking in the video is Jocko Willink [1]. He's written quite a few books, one of which is entitled "Discipline Equals Freedom: Field Manual"[2]. His whole concept is that increasing your discipline leads to more freedom.
How can one be free when they are a slave to their discipline? A great example is time, everyone wants more of it. The way to get more time is to not waste time. Being discipline with ones time is how not to waste it.
I'm far from the most disciplined person (practicing discipline is pushing the rock), but in the ~2 years since I really put more discipline in place it has changed me as a person. Highly recommended.
[1] He has podcasts, and many books. I suggest listening to Tim Ferris when Jocko was on as an intro.
The double catch is that neither Zeus's nor Sisyphus's state of mind matter, skipping a day or two is detrimental to both the good and the bad interpretation. If Sisyphus is unhappy pushing a rock every day (the first level interpretation) taking it away gives false hope and fosters doubt. If Sisyphus becomes happy or fulfilled pushing the rock, taking it away temporarily removes that satisfaction and again leads to doubt.
In other words, arbitrary and random work, putting someone in an uncertain and unpredictable situation is worse than constant and well-defined work.
"The only advice I have is, is that give you have to do some things anyway, you might as well find the joy in them and do them with a smile"
Changing a nappy bleary eyed at 4 am with an inconsolable screaming infant I recalled this advice from my friend with three kids. I had a sort of epiphany realizing that I could control me reaction and find joy in pretty much anything if I accept that it just has to be done.
Finally, it comes down to a decision when I am not enjoying something:
i) Do I have to do this? (can I change the circumstances, or not do it)
ii) if yes, be creative and enjoy it.
Surprisingly, works a lot of the time. The times this reasoning fails is when the task imposed on me is by other people that to my judgement have done it out of laziness, incompetence or exploitation.
The point is you learn to appreciate the substance of everyday life and it ceases to feel tedious. Perhaps mundanity would have been a better word. This idea, by the way, is called "mindfulness" and is the essence of Buddhism.
I think English translation of Buddhism could use some more distinct words, because "mindfulness" is also a part of "insight meditation", and - as far as I understand - these concepts are rather different from each other.
The act itself is tedious, if that's all you focus on. Spending time together, enjoying the small little games we play, and the touches on the arm and dumb jokes that happen while we're doing something tedious, are some of the best memories. When you focus on the nothing that's happening, it's tedium. When you focus on everything around it and the break from the chaos of the rest of your day, it's still tedious, but it's also peaceful.
It's tangential to the discussion but I find it surprising and slightly upsetting the fact that people downvote someone who basically quotes the definition of a word as-it-is, verbatim. It happens quite often on hacker news.
Are the folks here denying definitions and they make up their world instead and get upset when they encounter reality, or why does this downvoting happen? I'd really like to know.
Not a downvoter of GP and have no opinion of this particular provision of a definition.
However, “quot[ing] the definition” in this case is citing a denotative facet of the word. There is also nuanced and idiomatic usage that is indicated in connotative meaning.
Pointing to denotative meanings when connotation is more contextually relevant is often considered combative and may garner downvotes.
It takes as long as it takes, how long you'd like it to take is a thought you can change. If you change your thought to want it to take as long as it actually takes, it stops being tedious?
"Oh this person rationalized happiness out of a miserable life, instead of just being miserable. Somehow, that's bad and nobody should bother doing that" .. ?
"tedious" and "enjoyable" are not inherent properties of things or events, they're states of the observer.
Things aren't tedious, you the observer put the label 'tedious' on them and then yearn to get away from them.
Since you are actually vacuuming and not putting it off or paying someone else to do it, this is unhelpful labelling which only serves to make you less happy. You may as well consider it a new instance of vacuuming never seen before and look for the differences and seek to enjoy it, as considering it the same vacuuming event as last time copy-pasted and look for the similarities and then call them boring. If you have to pass through it either way, why pick the interpretation which makes you feel worse?
Like "you never step in the same river twice" because the water changes, and you change, you never vacuum the same room twice.
"But most days, if you’re aware enough to give yourself a choice, you can choose to look differently at this fat, dead-eyed, over-made-up lady who just screamed at her kid in the checkout line. Maybe she’s not usually like this. Maybe she’s been up three straight nights holding the hand of a husband who is dying of bone cancer. Or maybe this very lady is the low-wage clerk at the motor vehicle department, who just yesterday helped your spouse resolve a horrific, infuriating, red-tape problem through some small act of bureaucratic kindness. Of course, none of this is likely, but it’s also not impossible. It just depends what you want to consider. If you’re automatically sure that you know what reality is, and you are operating on your default setting, then you, like me, probably won’t consider possibilities that aren’t annoying and miserable. But if you really learn how to pay attention, then you will know there are other options. It will actually be within your power to experience a crowded, hot, slow, consumer-hell type situation as not only meaningful, but sacred, on fire with the same force that made the stars: love, fellowship, the mystical oneness of all things deep down." -- David Foster Wallace, This is Water
She may also be a deranged and unrepentant child abuser who uses whatever societal approval is thrown her way to justify and escalate her abuse. There’s simply no way to know.
sure, but taking one assumption is to approach from a position of harsh condemnation and the other is to approach from a position of possible forgiveness.
Sufficiently deranged people take forgiveness as approval and encouragement. It may be good to forgive and may not (at least in your external behavior—going around internally upset all the time is surely not good for anyone regardless). It requires prudence to figure out one way or the other.
I'm a fan of meditation and mind body awareness. I think that digging a ditch can a quite interesting because, while somewhat repetitive, it also involves variation and the challenge putting your entire body into the activity. Even dish washing or sweeping involves quite a bit of integrating intention and the use of the body.
All that said, I don't think you can say this is just a question of attitude. Some activities just inherently suck - 19th factory jobs, manual data entry and things of this sort can't be redeemed by attitude. Indeed, it's probably better to hate jobs like that than to think of them as a reasonable place for a human being to end up.
> manual data entry and things of this sort can't be redeemed by attitude
Actually, this is false. I've been programming for 30 years straight, except for a brief 1 year stint as a data entry operator. I made it my goal to be the best data entry operator they had ever seen. This was for Robert Half/Accountemps, an employment agency that both acts as a headhunter firm for data entry operators and a contracting company that hires out data entry operators. I was able to continuously focus on getting better in such that I could accomplish as much in 4 hours as they're best high-end "professional" data entry operators could do in a day, with similar accuracy metrics. I did this by programming a series of macros to accelerate what I did, and other tricks such as pre-sorting similar items.
While I do agree with your general sentiment to some extent, the best way to deal with undesirable menial tasks is to dig in and push for excellence.
Seriously, if the dishes are clean, how much more excellence do I need? Same with most menial house-cleaning tasks. I don't mind a messy house, so why put more effort into doing these things than necessary?
You weren't doing what they were doing any more than a person with a dishwasher or robot vacuum are doing the chore of washing dishes or vacuuming, even if they are getting a similar result. You simply made the dishwasher, which is far more interesting than doing the manual stuff.
It wasn't redeemed by attitude, but by tools that made it better. Others might not have had the knowledge to so, which reflects better on what most folks are stuck with. Either no knowledge of ways to make it better or lack of permission to use that knowledge. Unlike you, they are stuck. The conveyor line only moves at x speed, you cannot tear the sale signs fast enough, federal laws say you have to fill out these forms, the company wants everyone to do it this way because compliance is better and standardised.
When I feel myself lapsing into grumpiness at the mundane nature of everyday life I sometimes manage to help myself by attempting to picture the theoretical ideal life I am not living, and then reflecting on the absurdity of wishing things were different. Should it involve: not having to do boring tasks? Being a bit taller, funnier and better looking? Being super rich? Being the most powerful person on earth? Being an omniscient, transcendental super-being, free of time and space, able to manipulate entire galaxies on a whim?
Everyone is missing out on something; everyone is a prisoner of circumstance.
I agree with your point that it's all about perspective, but you can easily spin it negatively.
"Life is suffering" -Buddha
"Tedium is the worst pain" -Grendel
I realize that first quote is meant to be encouraging, but you can take it at face value to mean what it is: most of life sucks.
Pessimism and optimism are choices we make on how to interpret reality based on our experiences. This might sound like some feel-good comment that you can easily just see things better if you try to frame it differently but it's not. I am profoundly cynical and genuinely believe the world would be a better place if more people would replace their unfounded optimism with skepticism. Sometimes there really isn't a reason to be optimistic other than a desire to feel better about the situation.
but you can take it at face value to mean what it is: most of life sucks.
Boy, howdy, have you misinterpreted the Buddha. I believe most would agree that in context, Buddha was saying, "Life is suffering because $REASONS. But it doesn't have to be, because $OTHER_REASONS." A vast oversimplification, yes, but I feel that it is a much more accurate representation of the quote.
If that's the case you're right and I'm completely wrong about that quote. I don't pretend to be a Buddhist so you're more likely to be right than me. I have not bothered to verify this as of this writing.
Another famous quote that everybody gets wrong because they cut it short:
"Distance makes the heart grow fonder"
That quote means separation is good for couples, but almost nobody knows the actual quote:
"Distance makes the heart grow fonder for those nearer"
This is saying distance destroys relationships and you will look for affection from someone who is available.
The fact that there was an original version of a quote doesn't make the original version any more "true," so I've never quite understood the instinct of people to use it as some kind of gotcha.
Indeed, if anything it seems like in general the opposite would be true, if common culture adapts a quote to more accurately fit their reality (irrespective of whether this particular quote is "true" or not).
I didn't mean it as a gotcha, just that people will mangle quotes to support whatever idea they're trying to argue. Ironically it seems I have accidentally done the same thing.
The actual quote from who?
That sounds like something that was retroactively added - like how people say the full version of "Great minds think alike" is actually "Great minds think alike, small minds rarely differ." It's an aphorism. There is no definitive source.
As a sidenote, I find that being overly tired or stressed makes it far more difficult for me to appreciate/enjoy the miracle of the everyday quotidian.
Part of not being bored is to ensure you are "present", which is a whole lot easier when you're well rested.
It's interesting how all the tedious tasks listed are a product of modernity. Vacuuming, driving to work, flossing, doing dishes, etc.
I wonder how repetitive life feels for humans who still have to hunt for their food.
Not to say that we should shift back to a hunter-gatherer society, but I wonder how much of the mundaneness of life is something we brought on ourselves and not actually an implicit part of existence.
That's a totally backwards take. Most of these things are modern labor-saving devices that replaced even worse drudgery. Sweeping takes longer than vacuuming. Washing dishes by hand takes longer than a dishwasher -- especially if you don't have unlimited running water, or dish detergent, or if you need to start a fire to get hot water. Ancient Romans didn't have to deal with rush hour traffic, but research says their commutes were just as long as ours.
To put it another way: we used to required half of all human beings to attend to household tasks. That setup wasn't put into place because of malice, it was there by necessity. Managing a household used to take as much effort and thought as running a small business does today. Modernity has saved us from that.
The most stressful thing about modern commutes is that you can easily die if you take your eyes off the road for one second. Romans on horseback certainly didn't have that problem.
Back then you probably couldn’t afford even a horse, plus if your feet got a little scratch while walking you might have just died of infection a week later. Come on, any claim that antiquity had better living standards is absurd on its face.
Clearly the living standards were better, but I imagine there definitely were less things considered to be chores. Gathering food hardly gets boring if you're hungry.
That said I highly doubt if that's a preferable state of affairs.
If anything, you're underplaying it. Beating a rug takes far longer than vacuuming or sweeping. Before the washing machine, doing the laundry could easily take a whole day (which is why people wore clothes far longer between washes)
Ancient Romans were not hunter-gatherers so you are not making the right comparisons here. In fact, it's estimated that hunter-gatherers only do/did about 15 hours of productive labour a week, so doesn't seem they need our "labour-saving devices" since they already have much more free time than us.
Well, OP was complaining about modernity, so I compared to what came right before modernity. Hunter-gatherers might have actually had it better, under some measures -- but the world can't support that many of them.
I think I've read several studies that indicate hunter gatherers worked less than agrarian societies. However, agrarian societies are better at producing predictable abundance of food, so they outpace hunters by far. I will admit that hunting is incredibly fun. I do think we lost something as a trade-off when we moved to agrarian/industrial societies.
I dunno, I suspect this is a cause and effect sort of thing. The grains and abundance probably came first, civilization came second, and with that came taxes and government.
I'd imagine, if it was really early hunter gatherers, it would go more like "hungry, caught prey, ate, happy!". Way more impulsive responses. Throw in some "starving, I wish food was more stable, even if tedious". Anything after agriculture would include tedious tasks like tending to the crops and cleaning.
If I'm going to clean, I might as well work towards being amazing at it.
Same tetris with the dishwasher too as well as trying to find the correct amount of detergent to use per load over a period of time with different loads and soil levels.
I think the trick here is that by trying to be ever better at a chore you stop filing it mentally as "obstacle in the way of a target I'm trying to reach" and instead as a target in its own right.
The distinction is fairly small but at least for me personally it makes a gigantic difference in how much I like doing a task. If I'm woodworking I generally loathe sanding, it's repetitive, tiring, and dusty. But if I see the sanding as its own mini project I can spend hours getting it perfect.
You jest, but it’s totally possible to screw up loading a dish washer. In the best case, you just wind up with dirty dishes. In the worst case, you end up with damage.
> a long series of repetitive and routine work every day...aspects that are frictions / repetitiveness / tedious routines...this is what life is
Thanks. Just reminded me of this:
"One always finds one's burden again... He too concludes that all is well... Each atom of that stone, each mineral flake of that night filled mountain, in itself forms a world. The struggle itself toward the heights is enough to fill a man's heart. One must imagine Sisyphus happy."
(Camus, http://dbanach.com/sisyphus.htm )
The French have a term for this - vie quotidienne.
Literal translation would be "everyday life", but the French term has an aspect of positivity in it that I don't think carries over to the English version.
There's a nice phrase in Chinese: 过日子, literally "passing the days". It also has that connotation of being content with a regular life, wanting nothing special. The phrase is also extended into several other usages (thriftiness, etc), but that's the heart of it.
> The hard parts of of life are driving to work, eating properly, flossing, ....
I disagree. Those are simple rituals that makes life enjoyable too. For instance, I know that after flossing, I'm good to go to bed. Or I know when I'm driving my car that I won't get interrupted and I can wander with my thoughts.
You say "makes life enjoyable", but I read "Stockholm syndrome". To me, it's a kind of mind hacking that I'm both unable to do and, deep inside, feel is somehow "wrong".
> I know that after flossing, I'm good to go to bed.
I know that when I'm tired and done for the day, I'm good to go to bed. Flossing is a maintenance chore that's needed only because our teeth aren't good enough (and can't be made good enough, yet) to not need it.
> I know when I'm driving my car that I won't get interrupted and I can wander with my thoughts.
If I were in that situation, I'd prefer to stop driving to work (by e.g. going remote, or relocating), but I'd also want to have an uninterrupted time for being with my thoughts anyway, perhaps explicitly scheduled and negotiated with my S.O.
Etc. Now, I'm not really criticizing you as much as I envy you - my life would be happier if I could hack my brain to see the tedium as something worthwhile, instead of doing my best to minimize its amount and impact on my life.
A dental technician once asked me what I did for my job, and upon hearing my reply said, "Well, as an engineer, you really should have a better concept of how to floss than you apparently do."
I've been working from home for the past year, after previously taking the bus to work downtown. It's mostly an improvement, but I do miss the commute—especially when I'd go early in the morning and get off the "wrong" stop to walk across the river, through a riverside park, back across the river, and still be the first one in the office. I really miss that.
The afternoon commute with the traffic jams, buses packed with students, noise... nope, never missed that.
Life is mostly moving bits of physical material from one location to another in an endless series of queues, and programming is mostly transforming data from one form into another.
It's the bits in between those things that are the juicy fun part, though, I guess
Kids do really throw a massive wrench into the system. There's a beauty in dealing with that. I usually get solace in the fact that there have been a few billion people before me who have had to deal with the situation!
On washing dishes: of course nobody loves doing dishes. But honestly it is zen for me. I have a method and a particular way to stack the dishwasher or dish rack. I don't really let anyone come between me and my process. Bluetooth headphones are a boon to the whole process as you can just plug in, listen to your favorite podcast, and putter around the kitchen getting dishes done!
In my house the chore division has me doing the kitchen after the kids are in bed. I love optimizing and getting everything in, but in the right configuration so it also all gets clean. I get annoyed when my wife starts loading the dishes early, because the space isn't managed perfectly, and I don't get my little zen-zing of 'I had a lot, and I wasn't sure it would work out, but it all fit'.
Plus, with Bluetooth, I no longer get my headphone cord caught on the dishwasher's rack! I listen to podcasts at 3x, and learn so much while getting a feeling of satisfaction for a job well done.
I’ve gone through pretty much exactly the same thing! I’ve found that I can tolerate and sometimes enjoy the mundane tasks if I focus on completion. That is, like completing milestones of a project - completing the dishes for the day, the washing, the kids naps etc... who would think having kids would have this effect...
Sometimes, the only thing that gets me through a week of stressful, complicated, brainy crap, is washing the dishes, washing, folding and putting away clothes. I learned a long time ago that, for me, this is life. The rest is just shots across my bow and terrors in the night.
Think of it this way- the years you spent optimizing your life and removing tedious unnecessary work was preparation for becoming a parent, freeing up time you can now invest in your kid.
Having money and spending it to make other people do your boring stuff is a pretty effective life optimization. Cleaning, laundry, cooking, lawn care, car maintenance—even driving—can all be bought, so you barely have to do any of it again, if you've got money. You can—and most with means do, I think—just make almost any of this "this is what life mostly is" boring crap go away, unless you actually enjoy it more than what you might be doing instead.
Making the tedious parts of raising a kid go away is a lot more expensive than making the normal adult boring stuff go away, though. Also if you're not fairly damn rich (i.e. rich enough not to need a real job) the boring parts will be most of the time you spend with your kids by a large margin, so you'll be reluctant to outsource that even if you can afford to. That's even more true if you're not paying to have the rest of your boring stuff done by someone else ("sorry honey, maybe we can play blocks later, I'm cooking dinner because if I don't we won't, you know, have any" but then later it's bath time then story and bed and maybe you squeeze in 10min of blocks if you're lucky)
This reminds me of Scribblenauts. There was an interview with one of the devs at the E3 before it was released and he discussed how much time went into the game simply to pad the internal "dictionary" and conjure up not just things, but also make sure that those things could interact with other things (e.g. "bread" should be able to interact with "toaster" to make "toast").
I don't remember if it was the dev talking about his own team, or if he was talking about players interacting with the demo, but he mentioned that some people were attempting to summon a list of ingredients (flour, eggs, sugar, milk, etc.) and throw them into a bowl and then into a heat source to see if they could make cookies within the game.
I always thought that game must have an incredible ontology underneath it that would be amazingly useful to other ventures...
I also recall playing it and, at a certain point, realizing that I was stubbornly uncreative in using the variety of options available to me.
In retrospect maybe that wasn’t true, and the game managed the massive potential for variance by condensing things into smaller buckets. Either way those were some brave developers agreeing to that project scope.
Oh wow, Scribblenauts takes me back! I love games like that. Half the fun is sitting there just figuring out what interacts with what. If I recall correctly, you can conjure up a Large Hadron Collider, which blows up and makes you lose a life. It sounds tedious to program for sure, but the result was amazingly fun.
If you enjoy devouring this guys writing, buy his book, “And Then I Thought I Was A Fish” (I think it’s the “novel” he references the game being based on?). I really really liked it. Link at the bottom of the original post.
The other book is just a collection of blog posts. It’s /okay/. But I really really liked ATITIWAF. The kind of book that makes you want to try your hand at writing.
Never read the book, but I'm a fan of his blog! I keep an excerpt of one of his posts pinned on my notes app:
"The only reason coders' computers work better than non-coders' computers is coders know computers are schizophrenic little children with auto-immune diseases and we don't beat them when they're bad."
Wow, that was a ride. I could think of worse things to do in a Friday night than read that for the past three hours. Thanks for linking. I'm now much more interested in reading the book and the rest of his blog.
That book is so crazy good! I started reading and read it all the way through in one setting and then passed it off to all of my friends. Remarkable writing and I also felt it to be quite wise.
Having enjoyed the article, it also reminded me why I never once finished making a game.
Instead of seeing the example code and thinking 'Ah, yes, that code gets something done in a straight-forward way.', I instead think, 'I'm pretty sure I could build a scripting engine and turn most of that code into ajax calls to json files. Of course, I'd then have to build an in-game editor which allowed you to modify the contents of the json files while playing the game with hot-swapping content. Huh, art? Plot? Fun? Oh, yeah, I guess I'll probably need those... eventually...'
Fortunately, trying (and failing) to make games led me to realize that I really love programming and building maintainable systems.
This speaks to me. I used to spend my childhood tweaking and retweaking my game engines. Never really got my games past the cool demo phase. I guess I also now stay with maintainable systems too.
I too, highly prefer building game engines above building games. Not that I ever finish a game engine either but at least it keeps me busy I suppose. And who knows, I could hit on the big new paradigm in game programming at any point ;-)
The Coffee part of this article resonates with me.
I have a stovetop espresso machine, and I'm constantly amazed at the new and ingenuous ways I come up with to mess it up. Making coffee before you've had your morning coffee is the great connundrum of our generation. Here's a short list of failure modes I've run up against:
- Machine on stove, no water
- Machine on stove, no coffee grounds
- Machine on stove, completely empty
- Coffee and water in machine, machine in refrigerator
- Coffee grounds in water reservoir
- Coffee grounds in brewed coffee reservoir
- Brewing correctly, brewed coffee reservoir still filled with water from washing
- Brewing correctly, head off to work
- Brewing correctly, coffee grounds returned to microwave
That's just a subset, and amazingly I still come up with a new one every few weeks.
The coffee part also resonated stongly with me, for a completely different reason :)
I spent last year thinking on how to implement a text-only simulation that could cope with just about any situation. Most of my models were mentally evaluated on this "simple" task of making coffee. The design I came up with (still to be implemented) is not code driven, but data driven. Instead of executing bunch of nested if-elses, I'd have a big list of tuples that contain <action, preconditions, reaction>. When action is performed upon object, this list is traversed. For each element, it's preconditions are compared to current world state. Based on this criteria the most suitable element is selected, and it's reaction is applied to modify world's state.
Your list could be used as preconditions for action of brewing coffee; each would produce different results ranging from nice coffee to yucky mud or broken machine. I'd like to include a nice built-in editor that could be utilized to quickly modify or add reactions, objects, or world state variables. I have most of it figured out but it's a lot of work to put together all the pieces.
One day the Master [Joshu] announced that a young monk had reached an advanced state of enlightment. The news caused some stir. Some of the monks went to see the young monk [Kyogen]. "We heard you are enlightened. Is that true?" they asked.
I really like this guy's writing and am grateful that he shared some of the coding challenges. I'd really like to be able to program games like this, and while I'm not a programmer, I'd like to learn how. In TFA he shares some of the code to check the coffee "state":
>'LOOK AT COFFEE MAKER': () => {
if( State.scene.state.coffeedrunk ) {
return "The coffee maker has done its job and mercifully drained the
last life out of the old and savaged grounds."
} else if( State.scene.state.brewed ) {
return "The coffee maker has a fresh pot of what is likely coffee in it."
} else if( State.scene.state.brewing ) {
return "The coffee maker is brewing."
} else if( State.scene.state.waterinmaker ) {
return "The coffee maker has fresh water in it, and is ready to brew
a terrible cup of coffee."
} else {
return "Makes coffee. Whodathunk? There's no water in it, and you don't
have any fresh coffee, but the grounds already in there have
only been used twice and can't be THAT moldy."
}
}
This is JavaScript right? Is that how these sorts of games are coded? Would learning this be the best way to go about creating games? Thanks.
If you want to create a game you could go with GameMaker or Construct 2 or Adventure Game Studio (if you want an adventure game like SQ1 that he's describing). These are applications that provide you with an interface you can interact with, along with an associated programming language in order to make things happen. So you can draw levels and place objects with your mouse, and then make them move with a script.
GameMaker has a non-programming method but I don't know how capable it really is. I wouldn't worry too much about what language you learn, at your stage it's more about the general knowledge of how to get things moving. Transitioning to another language at a later point won't be difficult.
When you think about game design you have two big buckets. Writing code to make mechanics work, and writing code to make new content. This kind of game is almost entirely the latter because it’s not much more than handling one off edge cases and is very simple.
I would recommend using https://love2d.org/ to get started. This is a simple language built around a 2D game engine with (I think) many examples to follow
I’d start without the animations, in something like Inform 7: http://inform7.com/
It’s easy to learn small things, reasonable to scale to harder things, and the award winning games regularly publish their sources—so you can copy and tweak and learn.
I lately got a buzz to play some detective adventures, which predictably had me combing through the lists of adventures on several sites. As a result, I now have a lament that there doesn't seem to be an engine for creating graphical adventures as easily as text ones: with lots of ready-made images that could be put in the proper order for the game. Not even with much interactivity, since something like HTML with hyperlink trees of choices would likely be more humane than point-and-click pixel hunting.
Though, maybe Adventure Game Studio and free images do the trick, dunno.
Specifically, I myself would play games that are set in the same city if the city was big and detailed enough. Just let the games be something more than the hyper-casual churn of ‘question the witnesses, look for evidence, name the perpetrator.’
Thimbleweed Park was such as joy to play. I originally played it on my desktop, but ended up buying it again later for the Swtich. I was delighted to see my daughter start playing it one day, and she was really enjoying the unique and now-rare gameplay. She liked it so much, she now has a ThimbleCon '87 poster on her wall. If you're around here, Ron, kudos for an excellent artistic contribution to humanity.
It looks like JavaScript to me. Yes, these games are usually coded in scripting languages like JS or Python, even back in the day they were programmed in custom scripting languages running on the engines of yore. Finally, yes, these kinds of games are a great way to learn programming because they map very well on to basic control flow constructs (if, else, while) and don't usually require additional computer science knowledge.
For python, check out pygame. It's outdated and only works with 2.7, but I think it can be installed with apt on Ubuntu and will teach the basics like rendering loops, frames, etc.
I can’t speak for the author, but one reason not to use data for logic is that you’ll end up building a (difficult to use, buggy) programming language in your schema. And if you’re going to do that, why not just use a programming language, which is a lovely way to encode logic?
I would turn the question around on you: why would you put this in data? If you have too much boilerplate, just refactor your code.
As an example of one of the more notorious puzzles in the Sierra games of yesteryear, in Space Quest, you have a sand skimmer (think Luke's sand speeder).
When you get to where you are going, you need to sell it for money. If you get out without removing your keys, it is stolen. Then someone offers you enough money to continue on in the game. If you say yes, then much later in the game you die because you don't have a jetpack. If you say no, they offer to throw in their old jetpack. There are literally no hints that a jetpack would be related to selling your skimmer. You just have to reload old saves and try random things until you get one. And hope you have enough saves that you didn't overwrite one from before you sold the skimmer, or you need to start the whole game over.
Having played most of the Sierra and LucasArts games when I was much younger, I feel, though cannot confirm, that there was a shift in these kinds of games such that you couldn't actually progress too far beyond a fail state.
That is, by about Space Quest II or III, you could still take an action that would lead to your death within a minute or so, but you could no longer take actions that would lead you to dying/being unable to finish many, many scenes later.
Can anyone confirm this?
And I feel like the later LucasArts games (Day of the Tentacle, etc) you could never actually be in a fail state.
LucasArts had a very strong bent towards not putting you in a fail state.
My understanding is that Sierra was intending to be more fair as time went on, but they had a bias against playtesting so there were still some big goofs that got through.
I think all of the first 5 KQ games had ways to lose items that would later be needed to win.
KQ VI had a branching path and if you picked the "easy" branch you were unlikely to end up in a very unwinnable state, but there was no indication at the time of the branch that you were doing so (IIRC you were about to be burned alive and you could either use some maid's clothes to put out the fire, destroying the clothes, or cast a spell that required boiling some water, using up some component). With a hint-book it took me several attempts to make it through the "hard" path.
I never got full points on that game. I think I wasted months on it before giving up.
Maybe my favorite KQ memory was KQ 3. Just getting out of the house took my family weeks. Every single misstep turned you into dust. And once you figured it all out, just walking down that stupid path you were 1 pixel away from death in some places.
Definitely by later (early Windows) games, this is true. Neverhood was a very fun one where it was advertised that there was only one way to die. And that was marked, "don't do this, you will die".
It was so well written that he made me want to play his purposefully frustrating game and I'm still disappointed he didn't provide a link to download it.
“You are the master of your universe, and yet you are dripping with rat blood and feces. Your enormous mind literally vegetating by your own hand. I have no doubt that you would be bored senseless by therapy, the same way I’m bored when I brush my teeth and wipe my ass. Because the thing about repairing, maintaining, and cleaning is it’s not an adventure. There’s no way to do it so wrong you might die. It’s just work. And the bottom line is, some people are okay going to work, and some people … well, some people would rather die. Each of us gets to choose.”
Always pining for more adventure games that remind me of the Sierra/LucasArts games of my youth. Can we start a thread here of great modern examples?
I recently played Machinarium, and enjoyed it a lot. My wife and I played it for many evenings on the couch, and computer games are not her thing at all.
I'm finishing up Infamous Machine on my Android phone. It's a fairly silly, small game, but a direct homage to LucasArts games like Day of the Tentacle.
Waiting for a Haskell programmer to explain why this is an artifact of procedural languages and that making coffee should be abstracted as the death of coffee caused by hot water.
I think you're confusing Haskell with the second law of thermodynamics and that the universe started in an extremely low entropy state resulting in the arrow of time which causes the coffee to do it's thing
I really recommend the author's book "And then I thought I was a fish". Not only is it incredibly funny, in my opinion this is one of the best descriptions of a drug-induced psychosis out there. It is really pretty rare that someone can remember that much from such an episode and also has the ability to put it to paper.
I still regret that I was never able to finish any of those games. Leisure Suit Larry, Police Quest, Space Quest and others. I poured hours into them and never got to the end. The worst was Kings Quest V. I really wanted to get that one, but I'm still left with not much more than regret, guilt and anger.
We played through Kings Quest (V? I can't remember) as a class when I was in grade school. My math/ science teacher had a copy and would let us play for a few minutes at the end of the day after assignments were done.
We did eventually beat it after much trial and error, but only with the help of a cheat sheet she had printed off :) I do remember it being brutally hard.
Oh, the dependency graph article is very interesting. Reminds me of this logic programming tutorial, writing a (tiny) adventure game (with Prolog specifically): http://www.amzi.com/AdventureInProlog/a1start.php
This seems like a high quality article and has many upvotes, but I found it hard to read, and unfortunately ads made it even harder, so I couldn't get through it. I wonder if I'm in the minority because I don't use an ad blocker?
"There are no life lessons or gymnastic skills involved in doing dishes, there’s no underlying theory of housework that will reveal itself after a thousand vacuum cleanings."
This is false.
Doing dishes can involve gymnastic skills at any moment and the deepest truths of life, the universe - and everything - can be found in the simplest of chores.
I'd be happy to articulate the hard way to make a really good cup of coffee, starting with ordering green coffee beans and proceeding thru barista tools few are familiar with. (Might take a while to write.) Plenty of ways for the process to go wrong, including lethally.
Take a look at rules engines and Expert Systems technology. Its a more declarative way to handle complex logic that allows you to state facts and let a inference engine handle the nested nature of dependent logical conditions. It will decrease the amount of work needed to code this part of your game. With your current approach you end up in the logic programming version of Node's call back hell before we had tools like async await. As an aside, I run into developers taking the same approach with business logic in enterprise apps all the time -- with the same consequences.
Callback hell is easily avoided by naming callbacks.
Async/await has its own footguns, except they’re so difficult to debug that you need static analysis tools (Typescript or ESLint) to use them safely.
It’s one of that most special class of APIs that let you add a bug in one part of the system (e.g. forgetting an await) that causes a totally different part of the system to fail inscrutably. (Although really it’s Promises that unlock this ability, but potato/potahto.)
Callbacks are easily debugged with just a normal JavaScript interpreter.
I like the core description of programming, but the framing - that programming is tougher than manual labor - is childish. Life is not a competition for whose job is hardest, and if it were, no one on Hacker News would win it.
I'm having flashbacks to late 90s–early 2000s, when oldschool adventures were on their last legs and I still thought that I could make one just by putting together a hundred random puzzles.
If coding coffee is hard, coding espresso is really hard. More steps, more precision required... just like making espresso in reality. I like the theme of the article.
Thinking about stuff like this is fascinating in the context of just how much massively more of a big deal its going to become very very soon.
Specifically, if you draw the trend line on the size and price of kuka/fanuc/abb robot arms, and you put UR's models in there for today, we are really only 3 - 5 years away from you having a robot arm sitting on your kitchen counter that you can script to make your coffee for you.
While UR robots are techincally collaborative robots (rated safe for operation without a cage around them), I am sure that putting them into people's homes is asking for trouble.
It's a really fun read, but it's far more satire and humorous interpretation of game design and development than it is a real treatise on those topics.
> Avoiding premature death is a process of not occupying the same space as fast-moving metal or motivated microbes. Living is mostly a series of repetitive and unrelated tasks.
I'm curious why people would have voted this person's comment down, simply for a mistake. Seems sort of harsh to do that to someone's reputation simply for a mistake.
Because almost everyone who comes to this thread has a better experience if that comment is buried down at the bottom in "don't bother reading territory".
> Living is mostly a series of repetitive and unrelated tasks. It makes sense that the most tedious things to code are the tedious things that just have to be done. There are no life lessons or gymnastic skills involved in doing dishes, there’s no underlying theory of housework that will reveal itself after a thousand vacuum cleanings. Making coffee is a boring sequence of steps people feel stupid for getting wrong, even though they’re statistically doomed to screw it up now and then. The hard parts of of life are driving to work, eating properly, flossing, ....
Perhaps I found it particular insightful because I just became a parent a year ago. Prior to this, I thought I had optimized my life so well that most tedious work were gone from my life; with the peak being having switched to remote work and not having to even commute anymore.
Then I became a parent, and had to come to terms again with having to do a long series of repetitive and routine work every day -- washing bottles, dishes, changing diapers, etc. It was a bit of a cultural shock to my system since over the past 10 years I had slowly gotten used to / gradually removed or optimized aspects that are frictions / repetitiveness / tedious routines from my life; and suddenly it's 10x of it all coming back. Over the past year, I've come to realize this is what life is, which is exactly as the author said.