I’ve never been happy with any engine I’ve come across so I too make almost everything from scratch. External libraries I use is for the asset compiler for loading images and fonts.
I program in C++ with some custom language extensions.
By making the tech yourself you can custom tailor it to your needs and add features like:
- asset hot-reloading,
- code hot-reloading,
- reflection (mostly useful for debugging purposes),
- config system,
- type safe shader invocations (no more accidentally writing wrong vertex type),
- etc.
I never liked any scripting languages so I stick with C++ for game logic as well.