Hi Fahad,
@Languages / Tools
For game development, there are various tools available in the market right now. You can start from any of them which you wish to explore that being said, it also depends on what you want to develop at the end of the day if you want to develop only 2D games for mobile platform you can do following:
1. Cocos2D/Cocos2Dx (Objective C or Swift) for iOS -
Cocos2d is a family of open-source software frameworks for building cross-platform games&apps.
2. Android SDK for game development (Java) -
Download Android Studio and SDK Tools | Android Studio
3. Unity2D for Android/iOS (C#, javascript)-
Unity - 2D Game Creation
4. Unreal Engine 2D (C++)-
Mobile Game Development | Unreal Engine
5. Corona SDK (Lua) -
Cross-Platform Game/App Development Toolset - Corona Labs
... the list goes on wiki is our friend:
https://en.wikipedia.org/wiki/List_of_game_engines
For PC/Console the best engine in the market which is free to use as well:
1. Unity engine (C#, javascript) 2D and 3D -
https://unity3d.com
2. Unreal engine (C++) 2D and 3D -
https://www.unrealengine.com/what-is-unreal-engine-4
3. CryEngine (C++, C#, Lua)-
https://www.cryengine.com
and Visual Studio with DirectX /XNA also used for game development PC and Console (C# language)
Article for reference:
https://www.juegostudio.com/blog/best-mobile-game-development-tools-used-game-developers/
So, language is not an issue here in game development it's the process and the understanding of the concept which is important.
Before jumping into game programming or development I would suggest you to please study following concepts:
Mathematics and Physics for Programmers -
https://www.amazon.com/Mathematics-...coding=UTF8&psc=1&refRID=CFR2SRPZN7BKRKNHEA28
Concepts:
1. Vector maths
2. Trigonometry
3. Matrix calculations
4. Basic Physics
5. Force/Velocity/Acceleration
6. Quaternion Angle calculation
7. Collision Detection etc
https://www.essentialmath.com/tutorial.htm
Also, look at game programming patterns:
http://gameprogrammingpatterns.com
Hope this will help
P.S: I will play your game and then will relate your mentioned algorithm with it.