Resources for learning to create a simple game engine

I know this question has been asked similarly before, but the answers were not satisfactory.

I'm a beginner c++ programmer, and want to develop my programming skills immensely.

To do this I want to create a very simple 2D game engine, an engine that will effectively render a game similar to 'the worlds hardest game':

https://www.google.com.au/search?q=worlds+hardest+game&rlz=1C1AVNE_enAU621AU621&es_sm=122&biw=1920&bih=955&source=lnms&tbm=isch&sa=X&ved=0CAYQ_AUoAWoVChMI9_rAyK3mxgIVgtmmCh2Thwhx

though what I have in mind is an approach slightly different to a typical game engine, instead of me creating the graphics and design manually, I want all of the levels to be procedural generated(I love no mans sky's approach)

can anyone provide me with resources that I can use to get started? what tutorials are there for making a simple game engine? What should I avoid in order to prevent myself from doing bad habits?

Thanks

P.S
I am deeply familiar with unreal engine 4, though the engine is just too complex, and contains a lot of code that I want to fill in myself


The book called Programming 2D Games. It's very easy to follow and includes a very basic engine with three main components, Graphics, Input and Game, all with full source code and written like a tutorial. In the book he uses the engine to create a space invaders type game though it can be used for any type of game. There's even a section on custom gui widgets like buttons and progress bars. He uses Direct3D for rendering 2D graphics and text. I recommend this because its very easy to get something working after reading it.

However that book doesn't explain more advanced things like procedural generation, scripting, and physics and particles.

Another good resource is gamedev.net articles
http://www.gamedev.net/page/resources/_/technical/game-programming/?view=archive
Topic archived. No new replies allowed.