Well, for understanding how games work(internally, as in code, functions, how it all is put together etc), writing a own game is the best way. Do not stress about the graphics, do not stress about anything, just get it done.
If your step dad has programmed for that long, he surely knows this stuff way better than I do. Asking and consulting him might be the best way.
Switching engines is not an easy task. Sure one can learn to program games with DB, and then later apply the expertise, experience and knowledge in future projects which are made in C++& OpenGL, but the DB experience does not help knowing C++/OpenGL.
You always need to know the environment you work in/with. To learn it, experimenting and reading are the best ways, probably the only practical ways.
In your case I would just get into programming with simple language. Simple like QBasic or FreeBASIC (FreeBASIC is greatly influenced by QBasic, so knowing QB will result in direct FB knowledge).
Start simple. Learn on your way. Forums and internet are your best resource for problem solving(once you have given everything you know, and still being stuck!). My biggest mistake was to do everything alone. I learnt alone, I wrote alone, I struggled with the obstacles alone. Now that I finally understand that sharing the burden with others, while helping others with their burden is the best way to go, I am doing so.
Just remember to ask for help. Also help others whenever possible, gives you some experience aswell. You need knowledge.