|I personally think it's a good idea to at least try to make your own game engine at least once. Good to understand how the underlying parts of an engine work. Also at all the universities that I've seen, they teach you to make your own engine from scratch and what it's like to use engines from the industry. it's only the colleges that only teach to use engines, rather than understand them. From what I've seen with my research any way.|
Let me ask you this then. What benifit or expereience do you get from making a game engine that you won't get from making a game?
There seems to be this idea floating around that people need
a underlying game engine to create any game. Well that is just plain false and unless you are pretty well experienced in game development making your own engine (And a lot of the time using a pre existing engine) will add significant time to your project and unneeded complications.
Another thing people seem to think is if they attempt to make a game engine of their own it will be a great learning experience about games. In my opinion it is the worst choice you can make to choose to build a game engine as a learning experience.
There are many reasons why I think this but here is two major ones.
1) You can learn the exact same techniques and material you would learn from creating a game engine by just creating a game. The major difference is that games a much much easier to create then engines and are much more rewarding when completed.
2) If you are making a game engine for a learning experience it means you don't know much about how games work or you have very little experience in it. So you have no idea what should go into a game engine and what shouldn't go into it. Game Engines are very tricky things to create yet alone create one that can be useful. Usually beginners either create a engine that is so tightly centered around one game that it will be useless for anything else, or they end up with something that is so vague that it can't be used for any project. And that assumes they actually complete the engine.
You can find a whole bunch of other reasons once you start getting into game development and researching the subject.
Now I know some out there will still really want to make a Game Engine (I used to be one of them) so here is some advice. If you won't budge from the idea of making a Engine here is some steps you should take before you try and tackle it.
1) First get some experience with how games are made. You do this by you guessed it making games. So go out there and create 3-5 games that don't use a engine and are fully functional to get a good grasp of what goes into making a game.
2) Next once you have completed them games you should have a good idea of what code you used on every project or most of the projects. You should also have a idea on what tools you used on most of them, what was helpful in most of them, what saved you a bunch of time, ect.
3) Start going through your old game projects and start transferring all the code that was used on all the projects or most of them into a library, also keep track of everything you used in all the projects to save you time, made your code better, made things easier, ect.
4) Now you have the the groundwork for your engine and the knowledge to help you create one that is actually useful. Start going through all that code and other things that were general to all your projects and thinking about what is most needed in the engine and what would hamper the engine. Remember you want to make the engine general enough so it will be helpful to more then one project, but then again you don't want it to general where it makes crappy games (It is a fine line). Generally I would say pick a Genre (Or maybe 2 if they are similar) and build the engine around that Genre.
That is my opinion on the matter at least. Just remember that you don't need a game engine to make a game or even a good game. Game Engines are just tools that help you create things easier and more efficiently.