Inheritance in games is actually one of the worst things you can do -- in particular in regards to entities. Read this for why. Composition over inheritance takes you a long way with games. As for other areas of your engine, it doesn't really matter. Say for example you are making a call to some sort of external network service, then you can inherit one generic type Service to eg. HTTPService and SocketService -- very much as in the enterprise apps you're used to.
Unless your game is really simple, you will want to use an component-based entity (CBE) architecture. The general idea is that with entities, the reason they are so commonly composed rather than inherited is because you cannot know until runtime what capabilities a given entity will have. For example, take the player's ship in a space shooter. You don't know until some point during the gameplay, what weapons, armour, systems (i.e. components) that player is going to pick up, purchase, sell, lose, have destroyed, etc. So the only realistic way to model this is through object composition. The plus side in this scenario is that you can also have fully customisable enemies, built in the same way, rather than enemies that are always exactly the same every time you see that enemy type. So with CBEs, you might see a Martian Freighter and think, "Ah it only has tiny lasers, I'll take it down", and usually that would be true but when you get in range suddenly you realise it has a big-ass wormhole gun. Surprise surprise!
Componentisation is removing implicit coupling of logic, and that is GOOD.