I'd like to bring up a dichotomy in game design. Not narrative vs. gameplay, but what I see as the "real" dichotomy: Simulation vs Scripting.
The weird thing is that these words don't really underline the basic problem: they simply describe the symptoms. The underlying problem is one of grain and agency.
It would be easier to show you an example of what I mean, I think.
Dynasty Warriors 5 versus Dynasty Warriors 6. In both games, you run around a battlefield and kill people. The play dynamic in that sense is very similar, so we're going to divide by killing people to simplify the equation. We can simply compare the rest of the game.
In 5, the game focuses on your nation. There are a few dozen zones that can be controlled by factions, and you win by controlling all of them. There is a remarkably interesting method of issuing edicts and so forth. Each zone can be improved, attacked, suffer problems, and so forth. Each zone also tends to provide access to specific upgrades that you can take with you into battle, such as tigers or the kill-o-matic charm.
It's like Risk, but with a bit of Civilization added in.
In 6, the game focuses on the stories of the characters. When you begin the game as a character, you are faced with half a dozen conflicts that are specifically geared towards the character. You are given cut-scenes with full voice acting and so forth to further the character's arc.
There is no control over this: you proceed from battle to battle. Instead of giving you control over a detailed nation, they let you improve your character a'la any modern Final Fantasy game.
Now, 5 is simulation, 6 is scripting. (The combat section in both is mostly simulation.)
Which is better?
Well, if you've been reading me for very long at all, you probably have the strong impression that I prefer one over the other. But that isn't really the case.
Simulation is invaluable in providing play. You simply cannot script in deep play. The harder you try, the more bogged down you get.
So if you want to have any play that keeps players playing, you need simulation. You need to have very high-grain interactions that are under the player's control. Whether this is moving around a battlefield stabbing things, trading stuff between cities, tweaking your character's progress, or building a robot. You need simulation because it gives the player something to do.
But simulation is limited to the things you simulate. You can simulate a battle, you can simulate an economy, and so forth. But they will follow only the rules you create for them.
Scripting allows you to inject things from outside the game. With scripting, you can make the enemies spring a trap without needing to write up an algorithm for trap-springing. You can make a player leave to star in a TV show (and then show snippets of the episodes) without needing to write up an algorithm for leaving for and filming TV shows. You can make a castle collapse without needing to write up a structural simulation. You can make a wife and a husband not get along without needing to write an algorithm for simulating marital bliss.
While you could, in theory, write simulations for every single little thing you ever wanted to put in the game, it's prohibitively expensive and complex. Also, you still will have a very hard time injecting a meaningful theme into your game, even if the computer has the theoretical knowledge of themes. They just cut across too many layers.
Okay, in honesty, to me the ultimate game would be a system that simulates a million billion things including theme-building.
I also want to live on Mars for two hundred years, then move to Alpha Centauri.
In the reasonable scope of things, I think that scripting does have an important place in games. You should think carefully: what is your gameplay? Simulate it. What drives your gameplay? Script it.