DEV Community

Daniel
Daniel

Posted on

How can I gamify programming?Any ideas?

Hi everyone,
I'm writing to ask the community for some advice on whether there are ways to gamify programming, especially programming projects.

I'm thinking of something that evaluates, assigns scores, or tracks progress on personal projects — whether they're assigned by the site itself or self-assigned.

I’m referring to a system similar to Exercism.net or Codewars, where there’s a sense of progression driven by rewards.

I know what I’m asking might not exist, but I’m open to any ideas that come to mind.

My problem? Waking up and saying "Okay, today I'll code a Wikipedia web scraper" isn't very motivating for me. I do it — barely — but I don’t really feel like improving or polishing it, as many recommend. So I just move on to another idea, which I also don’t fully complete.

I hope this is the right place to ask these kinds of questions, Thanks for the future replies.

Top comments (4)

Collapse
 
csm18 profile image
csm

Just a suggestion:
Keep a check list for everyday, like this

  1. one git commit (even the smallest change)
  2. working on one project (small or big, even if it never finishes)
  3. knowing about one concept (like what is anchor tag in html, what is sass or anything.)

This, when we do feels like nothing but after just a few days, will make sense and when you look at your github's commit graph, you will see it! When you look at the concepts you learned in these days, you will feel it!

A good teacher once said: You need to just show up everyday, no matter if it does not give any result instantly!

This is the real game!

Collapse
 
dariomannu profile image
Dario Mannu

scores, progress tracking and badges, even money, are various forms of the so called "extrinsic" motivation. Programming should be intrinsically motivating, fun by itself. It not, you either haven't found an exciting project, language, framework, research field to work on yet, or it's just not your drug.

Coding games has a great intrinsic motivation: you code and if it works, you can play and have fun...

Collapse
 
uzzy412_73 profile image
Alexandru Ene

First of all, when thinking of working on a personal project, try to find something that could be useful to you or something that you have interest in. Something that could relate to your hobbies. For example, think of your avatar (I like it, by the way). Maybe you could do something anime related.

If something doesn't motivate you, maybe it is too easy for your skills, maybe it is too difficult, or you just don't care deeply about it. Find something that is at the same time achievable, interesting, but challenging enough.

And when you find something like this, start small, don't overwhelm yourself. Give yourself like 3 tasks a day you have to finish. For every completed task, you gain some xp or coins or whatever you want. Think of adding new features or improvements, but only if you have enough ex or coins. At the end of the day or week, if you completed all the tasks, give yourself a slightly more difficult task. Think about it like having to fight against a boss in a game. Defeating him will unlock new skills, items, powers and so on.

Again, start with something interesting, useful and fun. And start small, maybe just one task a day. And don't forget to include rewards and bonuses.

So the steps could be:

  1. Define your mission and goals. Identify the purpose of what you do, set clear objectives and break it into smaller more manageable tasks.
  2. Implement game mechanics. Like points or experience, levels, visual progress tracking, time-based challenges and rewards.

You could also try to make a small app yourself that helps you gamify your programming tasks. And also try to gamify the process of making this app.

Collapse
 
reaper16 profile image
Enes

Dude thats my biggest problem too can we contact.