Hacker News new | ask | show | jobs
by pdbrito 2346 days ago
I had a similar conversation with myself recently. In the spirit of sharing coping mechanisms...

What I found helpful was to dig deeper into why I enjoyed playing the genres of games that I do.

My favourites are MOBA/ARPG/MMORPG and there was quite some overlap in what I was enjoying.

Stuff like:

    - MOBA
        - Skill based gameplay
            - You get better over time
            - You get to play with/against people better than you and learn from them
            - There exists an optimal strategy for each encounter you can discover
        - Team based gameplay
            - Work with others to secure objectives
            - Win/lose as a team
            - Sense of camaraderie
            - Ability to be altruistic
        - Winning/Losing streaks
            - Easy to track
            - Easy to turn into a short-term goal "Win the next game"
        - Short turnaround time
            - Games last between 15-30 minutes
        - Little downtime between games
            - Very easy to get back "into the action"
Now I'm trying to organise my programming activities to give me the same sort of satisfaction:

    - Programming
        - Skill based gameplay => Skill based progression
            - You get better over time
            - Join a slack/discord and ask questions to learn from others
            - There exists an optimal strategy for each task you can discover
        - Team based gameplay => Community
            - Join a slack/discord
                - Sense of camaraderie (E.g. "We're all gophers!")
                - Ability to be altruistic (Help newbies)
            - Start something//Contribute to open source projects to work with others
        - Winning/Losing streaks => Commit streaks
            - Easy to track on github
            - Easy to turn into a short-term goal "Commit once today"
        - Short turnaround time => Short coding sessions
            - Setting a timer for 5/10/15 minutes and following a tutorial
        - Little downtime between games => Try to minimize distractions
            - Move straight from one tutorial from another
It's been working well for me.
3 comments

I actually reached the same conclusion as you after playing a lot of League of Legends. Why do I play that game instead of working on my projects? Because of all the reasons you mentioned, but most importantly because I am good at it and feel like I progress by getting better with each match. There's also the satisfaction of winning, especially when the odds seems against you.

I am also trying to find the same feelings while working, but getting the same rewards takes a lot more time than while gaming. Also, it's a lot easier to feel that you are bad at it or that you are not learning as much, or that maybe you are working on the wrong thing when programming than when gaming.

Also, I am really missing a real-life leaderboard. I am pretty competitive and seeing others that are way better than me motivates myself to work hard in order to get to their level. I am always looking for success stories and seeing actual numbers from great projects. I found that IndieHackers is a good place to find motivation from others' work.

This is known as the "gameification" of goals, and its been known to work quite well. People gain more satisfaction when they can quantify progress.
Hmm...

What if you'd create like a software "game". Aka, a data structure and algorithm Hacker Rank thingy and then pair up with one other person over voice chat to solve the problem.

I like how you're gamifying coding by putting it in the context of what motivates you about games in the first place.

I'll look up some JS communities.