Possible Duplicate:
When to roll your own game engine?

I've been interested in writting games for a while, and now that I have acquired a bit of experience in programming, I feel like I could step up to making a little more complicated things. I've had some fun with SFML but since now I only had the basic classes I needed for my game objects, and a big run() method of my Game object to "run them all".

I've only written gameplay tests so far, but I feel like a complete game in the same style of programming would be a gigantic headhache source. I am now facing a problem/question : should I be considering creating my own little "game engine", learning through it, adding features as I need them ? I think it could be a really good experience, but it would certainly take time as I'm no professional, and I don't have a clear view of "how-to" yet.

I am using SFML with C++.

  • 3
    \$\begingroup\$ You just need to write a game. Engines arise from the needs of a game, not the other way around. For inspiration you can read up on the APIs of existing engines to see how others have worked on the problem and then apply that thinking to what you're creating. \$\endgroup\$ – Patrick Hughes Jan 7 '12 at 1:22
  • 2
    \$\begingroup\$ Write games, not engines. \$\endgroup\$ – thedaian Jan 7 '12 at 1:31
  • 1
    \$\begingroup\$ thedaian must be referring to this article. \$\endgroup\$ – ChrisC Jan 7 '12 at 2:28
  • \$\begingroup\$ See also gamedev.stackexchange.com/questions/7870/… \$\endgroup\$ – Tetrad Jan 7 '12 at 2:43

from my point of view no!

surely writing your own engine will help you a lot, but if you are new to programming and specially game development, you don't need what you need to implement! and besides, engines are written to provide useful features with minimum performance loss. as you say you are new to programming so you still don't know how to optimize critical sections of your code.

so in general developing an engine is a good learning opportunity, but you need to know a lot of things to be able to start developing one! it's just like trying to learn programming with C++. Although you can do anything with C++ and almost all professional game developers get their jobs done using it (don't argue I said almost!), no one recommends it for the first language to learn, since a programmer without experience could break the whole thing easily without even noticing what was wrong!

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.