   Building a game engine framework
  I've been programming for years now, mainly in C+ and C#, and have just recently played around with game development.  I've made some basic puzzle games - tetris, brick breaker, etc - and have noticed a definite organizational problem where things just get out of hand with the more features I add.  I'm very familiar with the "gang of 4" designs but I'm having trouble translating that to game design.  I feel like I have a good grasp on individual pieces, I'm just having trouble putting them together to make my code pretty, easy to use, and organized.  So long story short, is there literature that would give me a good "plan" for how to lay out my engine to help me expand to more complex games?   
  I'm also working on my own engine and a while ago I bought this book:game engine architectureFor me it works more as a "dictionary" than something you read from page to page. Have a look and decide for yourself.There are also many, many online resources. Have a look at the component based/data driven design which is a very popular approach. You could also read up on scripting for games (google it).   ;  Yeah. Second that recommend -- it's good book.;  Alright thanks guys - I'll pick it.I've read through a couple books on the topic and it seems like they all follow the same pattern in that they explain the individual parts to the engine, but I haven't found one that helps me to tie all of this together.  Looking at the TOC for this book, it looks like it's exactly what I need.And I guess my biggest question was which programming paradigm is recommended for the game engine framework.  The current paradigm I've been stuck in while programming is basically a service-oriented architecture (which I believe is considered a type of "component based design") so at least I know I'm on the right track.Thanks for your help.   