This may be kind of a dumb question. I have little experience in programming and no experience in game programming. I've only done simple "if, then" programming and simple circuit board chip programming. I do have experience with graphics software similar to 3DS Max. I was wondering what makes programming a game so difficult. All I want to create is a game world the size of a room with earth like physics such as gravity. More of a physics simulator than a true game. Would that be very difficult?

From what I've read it sounds like it would be difficult but I don't know why. I know the physics and have the graphics and rendering experience. Why is it supposed to be so difficult? Is C++ just really hard to learn or am I missing something. I'm curious because I'm considering learning C++ but don't know if it's worth it.

  • \$\begingroup\$ Welcome to Gamedev.SE. [This is not a forum;](Stack Overflow is not a Discussion Board) your question is not appropriate for this site. It is too open-ended and "discussiony". \$\endgroup\$ Commented May 6, 2012 at 5:36
  • 2
    \$\begingroup\$ This is like asking a heart surgeon how hard it could be to do open-heart surgery, because you've played Operation and it seemed pretty easy. \$\endgroup\$
    – you786
    Commented May 6, 2012 at 6:05
  • \$\begingroup\$ I strongly recommend doing 2D physics first. The physics you learn on your physics class can't directly be applied, the basic principles can, yes, but you need to tweak your formulas a bit. Anyhow, you'll gain knowledge and XP by doing that, which is always good. I suggest you try HTML5. \$\endgroup\$
    – jcora
    Commented May 6, 2012 at 9:26

2 Answers 2


It's difficult because creating the physics simulation is hardly any of the actual work. You also have to make sure it performs reasonably well, for example. Right now, I have an N-body physics simulation (roughly). Do you know how much code that takes up? About 1-200 lines of it deals with the physics. Do you know how much code I need to make it all happen? I think I'm up to 6-7k now and rising. There are so many things that you require to actually make it usable that don't occur to you when you're looking at the end product. Stuff like an octree so you can frustum cull objects. Classes for dealing with various meshes and effects. Classes for dealing with user input; for dealing with memory; for abstracting over the operating system; classes to render the user interface.

It's like looking at a house and saying "How hard can it be? All you do is stick a brick on top of another brick". There's plumbing, wiring, decorating, it has to be very carefully measured and specified and designed, etc.


Programming a game isn't all that difficult, but programming a game does require you to be very meticulous and games are often elaborate in their logic.

What you're building a simulation, not a game. Simulations are pretty simple, assuming that you've got a good grip on what you're simulating, and I think that you should be able to pick up enough C++ to build what you describe. You could even use Java or C#.

When people talk about the difficulty of making a game the discussion is almost always related to either the sheer amount of details that need to be taken care of or building the logic to handle what the design calls for.

Middleware and engines have become popular because they take care of some of those details for you (Unreal, Unity, etc...), plus have tools to help build the logic in some cases.

So to answer your questions: Games are considered to be difficult because they do a lot under the hood and since you have a handle on basic programming with if/else and loops and knowledge of your subject learning C++ will be easier for you and probably a good thing if you want to continue beyond just one room.


Not the answer you're looking for? Browse other questions tagged .