Personally I would think it better to develop a game in a compact language (like Python or C) as opposed to an "anti-compact" language (like C++), because the former is much more productive, and much less prone to strange errors.
How is C more productive and less prone to strange errors than C++? Almost everyone who's used both languages (including me) would say exactly the opposite - that C++ is more productive and less prone to strange errors than C.
But regarding gameplay vs. graphics, I think of a game as a series of layers:
...........................
Realistic Graphics
----------------------
Storyline
----------------------
Fun Game Dynamics
----------------------
Use of Skill
============
The top layers are the ones you notice first, like graphics, storyline, etc., but they're also the first ones where the novelty wears off the fastest. The lower layers are less obvious as first, but create more lasting entertainment.
Some games are excellent in the top two layers, and while they're usually amazing to play at first, they get boring very quickly. Games that are strong in the bottom two layers are usually fun for a very long time, but may not have the same initial appeal as an "eye candy" game.
Only a few games implement all layers well.