I graduated with a computer science degree focused on game development, but I have almost no practical experience and an empty portfolio. Most of my programming came from assigned projects, so I struggle to come up with personal ideas or know what to build first. I've studied several general-purpose languages and am especially interested in less common ones such as Lisp, Odin, and Haskell, although JavaScript has never clicked for me. I'd like to start making projects for fun and eventually build some experience. What would be a good way to get started?
3 Answers
If making games is what interests you, begin with one very small game rather than trying to design an entire original concept. Finishing a tiny project will teach you more about your workflow and interests than spending weeks choosing the perfect language or idea.
Try a structured course like Racket’s “How to Design Programs.” It teaches a systematic way to break problems down, which is useful when you’re facing a blank editor without an assignment telling you what to do. “Realm of Racket” is another approachable option, since it teaches programming through small games. You could also experiment with Processing for graphics and interactive sketches. Don’t worry about avoiding JavaScript forever either—its difficulty may be more about web development than the language itself, and learning its fundamentals can still be useful.
For the creativity problem, cloning something is completely valid. Pick a simple game, reduce it to its core mechanics, and rebuild it. It doesn’t need to be original—the goal is to get comfortable making things. Ideas tend to come more easily after you’ve built a few projects.
Start with straightforward recreations: Pong, Snake, Tetris, a simple platformer, Flappy Bird, or Minesweeper. They’re small enough to finish, but each one teaches useful skills such as input handling, game loops, collision detection, state management, and basic UI. Since your portfolio is empty, you don’t need a groundbreaking idea right now—you need a few completed projects.

I think my frustration with JavaScript mostly comes from associating it with web development, which I’ve never been good at. The language itself seems fine; I’ve mainly used Node.js and related tools.