As there is no subforum for topics about technical non-acknex related discussions, I figured this would be the most fitting one.

This topic will mostly interest people who are not actively using acknex as their main development kit but rather do things from scratch using lower level APIs, however I think there's enough of those around here that this won't end up being totally pointless.
Let's say you are writing a game more or less from scratch, using some low level graphics API (possibly with a high level abstraction layer on top) and C++ or any other object oriented programming language, and are about to implement an entity system for said game. It is to note that the game is more or less tightly specified, meaning you're not going to create a multiple-purpose engine, but rather exactly what the given game concept needs to work.

Basically, I'm trying to work out which of the following two patterns fits this situation best:

a) A component based design. Every object in the game is an instance of a fairly generic class, call it sceneNode or gameObject, whatever you want. Each of these objects has a list of "components", meaning instances of subclasses of a generic class component. Each component adds an attribute or part of a behaviour to the game object, for instance a light, an animation tree, you name it.
Unity users will know this pattern very well.

b) A more classical inheritance based pattern: There is a class that all game objects inherit from, again, call it gameObject or something like that.
This class does not much but providing data fields for some generic properties such as position, orientation and scale.
Inheritance is now used to create new kinds of gameObjects, for example a lightObject class may add data fields and functionality needed to represent, well, a light, a meshObject may contain everything needed to display an arbitary mesh with a given material, etc.
This should ring a bell for two young programmers who recently revealed their new game engine in these forums.

Now, given the situation described above - a relatively tight specification for a game, no intend to create a multi-use solution - what would be the best route to go?
I recognize the component based design offers a LOT of flexibility, however I didn't like it AT ALL when using Unity, perhabs because I've used acknex for so long, but also because it involves a lot of message passing between objects and other little twists that come just kind of unituitive for me.
Plus, I really like the concepts of inheritance, however, one might argue that in game development context, inheritance may turn out inflexible and require a lot of work for little changes as soon as classes get more complex.

After all this blabla, what I basically wanted to start off with this is a little discussion about the two designs, based on the idea of implementing a GAME with it, not a multi-purpose engine. I know at least three people here who might have something to contribute to this, but I'm curious how many opinions on this I might get.