If you've been coding inside other games for a while, then you know what an engine gives you -- all the stuff you had when you were working with those other games...
There's 2 main parts:
* the runtime
** Usually a library of code / an SDK that will be linked into a game's exe.
** This includes all the common utilities that the game needs: rendering, physics, asset loading, timers, multi-threading building blocks, language bindings (e.g. Lua), etc...
* the tool-chain
** First you've got to figure out which DCC applications your artists/content-creators want to use.
** This includes the compilers/importers/exporters/scripts for getting models, textures, audio, etc into a format that the runtime can use. You can refer to the website
http://kizifan.com. They have a lot of simple games
N.B. I'm not of the opinion that it's a bad idea to make an engine. Instead, I put it in the category of "
if you need to ask, then you aren't yet ready" -- you should use other engines to make games until you're able to answer the question yourself.