I'm not a native english speaker so please bear with me, I need some help here, I'll get straight to the point. I just joined this site.
Over the last year, I fleshed out my game, the mechanics and nearly completed the artwork/assets. Its a 2d action adventure platformer. Eventually in a bout 5 years when I finally complete it, I would like to maybe commercialize it, when I do I would like to be able to port it to consoles too. I should state that it is a side project, and even though I have a general timeframe, I find the quality of the end product to be more important than the speed at which I complete it. I think the quality comes from the knowledge I have gained and will be gaining.
I have adept knowledge of C++, some basic C# syntax knowledge, python and general java syntax knowledge. I know the language but have yet to apply it fully with respect to game development. I do not know how I should begin in terms of resources.. That is where I need some help. I have made simple games with the help of tutorials but I find that its harder for me to learn when I'm not actually working on a passion project.
I looked at game engines and frameworks as a starting point. For something as simple as a 2D linear adventure story-based platformer, I doubt I'd need something like unreal engine. I looked at Unity and Godot. I found Unity to be.. more bloated, yet helpful with regards to quick development, but I find myself wanting more control and freedom, independence from game engines. I don't need most of the services they're providing..
I looked to game frameworks like SFML, LWJGL and monogame, which seem rather low-level and overwhelming in terms of the starting point. I found SFML to be the easiest, but have been considering LWJGL for java's versatility in Mac and Linux; I'm using windows. I heard that java isn't exactly supported on consoles, which means if I use LWJGL, i gain the convenience of coding the game once but forsaking console support, which I am not sure is a decision I'm ready to make as of yet. With regards to SFML, though I find it easy, most tutorials cover small arcade-y platformers, wheras mine is much more complex, bigger and exploratory. The environment is designed by me alone (one big world where the events are taking place) and not generated by seeds etc. I am unsure of the way forward. It's basically a knowledge problem.
At the end of the project, not only do I want to produce something, I also want to learn as much as I can and be free to code anywhere and not rely on an engine like unity or godot. What would you recommend I choose?
I would appreciate a response and maybe some insight on those frameworks and engines, if any.