I've been dabbling in programming with Python for a couple of years, but I've had my fair share of breaks and disappointments with my projects. Now that I'm entering a gap year with plenty of time on my hands, I'm looking to dive into game development while learning C++. I have a thrilling 3D game idea in mind, but I'm concerned about the time it would take to build it from the ground up. At the same time, I've come up with a simpler 2D game concept that I think would be easier to execute. So here's my dilemma: Should I stick with my original 3D idea and use an existing engine, or is creating the 2D game from scratch a better way to learn?
4 Answers
Honestly, chasing the dream of building a game engine can lead to discouragement for many newbies. Start with established engines to learn the ropes. Maybe with time and experience, you can take on the more ambitious 3D project. Remember, you can also come back and tackle building your own engine later if needed!
I’ve been through this route myself, and I’d say don’t overestimate the challenge of making a game engine from scratch. It's incredibly time-consuming, and you might find yourself burnt out before you even finish your first project. Focus on existing engines—they’ve done the heavy lifting and will teach you a lot about game design by using them as a foundation.
Yeah, and most engines have communities and resources that can help you out along the way. It’s better than going solo and hitting dead ends.
Honestly, if you're just starting out, using an existing engine like Unity might be the best way to go. There are tons of free resources to help you learn C# along the way. While building from scratch sounds cool, you'll probably spend ages just trying to render a triangle! Plus, tackling the 2D game first lets you get something completed and gives you a solid learning foundation for when you're ready for that 3D project.
Totally agree! Starting with Unity or something similar will let you grasp the fundamentals without overwhelming yourself. Once you're comfortable, you could always revisit that original idea with more experience under your belt.
Yeah, and it’s not just about learning to code—engines like Unity have tons of built-in features that save you time. Once you publish something, you'll have a better feel for what works in game development!
If you want to write a program and learn C++, consider using a framework like Qt for your 2D game. It’s user-friendly and lets you focus on your coding skills instead of getting bogged down with graphics. It’s a practical way to gain experience before tackling 3D projects. Start with 2D, and once that's second nature, adding complexity is just a matter of adding coordinates!
Great suggestion! Qt can really simplify things and get you up and running faster. It'll be much less frustrating than trying to build something from scratch.

This is a solid plan! Get your feet wet first, and who knows? You might discover a passion for game dev through these engines!