Let's say, hypothetically, I'm making an RPG. I download some game engine online that's suitable for that genre. it'll be open source, otherwise I have to pay for it. I then start making models, textures, sprites (or use some given in a library provided with the engine), mechanics, mapping, etc, whilst the game engine has already provided things such as the rendering of graphics, physics and collisions etc.
Is this analogy correct? Does this mean that most game devs (including indies) will use a pre-made engine to allow them to focus on making the actual gameplay? Does this also mean you're required knowledge on programming doesn't have to be as intense? how much harder is it to start from scratch?