Learning how to make games can be hard. Learning how to make game engines even harder. Thankfully there are lots of FOSS resources which you can use and more importantly learn from.