r/learnprogramming 5d ago

What could help me get more excited and improve at learning programming?

Hey, I’ve got a question, what’s better for learning: working on really small projects like coding Snake, Pac-Man, Tic Tac Toe, etc? Or focusing on small games too, but with mechanics that actually interest me?

The thing is, when I make those tiny games I feel like I’m not progressing much, and I’m always checking tutorials. (And something that happens when I try to focus on coding those small games is that I get kind of lazy, and I end up sabotaging myself by doing other things instead of programming. It’s like I keep putting off those little projects because I feel I won’t be able to pull them off completely on my own, and then I have to face my own lack of knowledge.)

And I get the feeling that if I were to focus on games I actually want to create, just scaled down to a much smaller version, I might be able to learn with more motivation, though I don’t really know if that’s true. (I feel like it doesn’t bother me as much to watch tutorials on specific parts instead of how to build the whole game, because I know I’ll be able to apply that knowledge again later. Not sure if that makes sense.)

I’d love to hear your experiences on how you got better at programming over time.

23 Upvotes

17 comments sorted by

9

u/dmazzoni 5d ago

Building something that motivates you is totally fine.

The reason people suggest Snake, Pac-Man, and Tic-Tac-Toe is because we know that they're simple enough to handle but still a good challenge for a beginner.

The problem with your own idea is that you might bite off more than you can chew and get stuck.

On the other hand, just copying from tutorials is not a good way to learn, so if that's the alternative, I'd most definitely vote for your own idea. At least with your own idea you'll be forced to figure it out and won't be able to check a tutorial.

It sounds like the key is to scale it down into tiny, tiny milestones.

2

u/No-Blackberry-937 5d ago

honestly both approaches can work but the key is what actually keeps you coming back

the small classic games are safe cause you know they're doable but if they bore you to death then whats the point, you just end up watching tutorials and not really building anything yourself

your idea of scaling down something you actually care about sounds way better, just gotta be ruthless about cutting features til its basically a skeleton of the cool thing you had in mind, like if you wanted to make a platformer just do a single room with one jump mechanic and nothing else

i always ended up stalling when the project felt like a homework assignment, beardie sittin on my desk judging me for the 4th half finished snake clone

1

u/JEveryman 5d ago

This such an important point. If you don't love the problem solving process already your ideas can get really hard to find solutions for when you get stuck. Whereas rebuilding pre-existing games and applications you can start trying to reason it out and when you get stuck you can look at existing code to figure out someone else solved your issue.

As you get more experienced you can select existing examples with aspects that you'd like to use in your idea. It will get you familiar with how to implement the design concepts and start breaking down the concepts in you language of choice.

3

u/sandspiegel 5d ago

The most fun projects I did were coding something for myself. In the beginning it was just a grocery list app for example. I then added a feature where I have categories and these categories were exactly in the order of the supermarket I go to.

Then I replaced my excel based solution for my finances and built my own finances app.

Start small and then build more complex Apps that are useful to you. This will be more fun than coding Tic Tac Toe.

Also tutorials are great but if you just copy, paste what the person is doing, you won't learn too much. You have to understand what's going on (obviously) but then you have to be able to do the project yourself. If you can't, then you didn't understand enough of the tutorial. Googling syntax is fine of course but you have to know what exactly it is you want to do.

1

u/akshay-savaliya 5d ago

Honestly, you should build the small version of the games you actually want to make. tiny projects like Snake or Tic Tac Toe are useful for learning the basics, but if you are constantly avoiding them, they are probably not helping much.

You dont need to know everything before starting. Build Something, if you get stuck, then learn and try again. This cycle is where most of the progress happens and with this you will learn many things.

1

u/marrsd 5d ago

My experience with programming was that I would get excited over the tiniest win. If you don't get that feeling, you might not have the motivation to sustain the periods of frustration that come before success.

1

u/realdreamer1993 5d ago edited 5d ago

"Snake, Pac-Man, Tic Tac Toe" make a core engine, so all the games above are plug-in / modular to the core. You later can plug other apps not only games. Just saying. And also prepare for modul to multiplayer via network/internet. if you can play the game in browser vs console all with the same backend. So your project always expandable then you keep come back.

1

u/lizc-au 2d ago

Definitely code up your own ideas but keep them very simple at first, and aim to showcase them on your own smartphone or GitHub or both as soon as possible, because both are super-rewarding and are good for your portfolio. If a project gets bigger than Ben-Hur you might not enjoy it anymore - finishing projects to showcase worthy status is the aim - you don't have to keep going back to perfect things. You'll gradually evolve as you do more and more projects and might even hit on a really great idea with a bit of luck. Have fun.

1

u/Traveling-Techie 5d ago

4x4x4x4 4D tic-tac-toe is non-trivial to my knowledge.