Hey, I am a software engineering student and i know a little bit of programming with C++ and Java. I have created mini snake games using Java Applet & C++ console app. But now that I have a little experience on how to create a game ( the basic steps of it), I want to create a full professional indie game. But I don't have any idea on what framework or engine to use. I have heard Unity and Unreal engines are good but I don't even know if i am ready for an engine now. So any advice would be helpful. Thanks!
What framework or engine should I choose?
For starters, you can figure out how it all works. You can start by developing a simple java game using for example LWJGL. In this way, you will achieve the cross-platform nature of your game, and explore OpenGL, and then, at will, Vulkan. But if you plan to create a full-fledged "heavy" game, then in this case, you can use any game engines. If you plan to use Unity, then most likely you will have to learn C#. Or, if you want to figure out how everything works, you can use the same OpenGL/Vulkan to create your game in C++.
Links:
https://learnopengl.com - good resource for beginners in OpenGL. There is an offline pdf version
http://ogldev.atspace.co.uk - can be used as an addition to the previous one
https://vulkan-tutorial.com - good resource for learning Vulkan. It assumes that you are already familiar with the basics of 3D computer graphics. There is an offline pdf version
Good luck!
If you're proficient at programming in C++, then try out Cocos2d-x, and if you prefer JavaScript, then you could use Cocos Creator.
More info here: Cocos game engine
There is a very active community, so if you need help with anything specific to working with that game engine, then the forum there is the best place to ask questions.