We're also noob in C++ coding that's why I said we want to make a game next 2 years.
We're not sponsored, we don't have even a little money, so we want to finish it with the most economic way.
Unreal Engine is not free by using C++ it will cost you 50k
Why do you want to create a game in C++ if you are a noob in it?
The length of working on a game in C++ depends on your skills even using an engine.
i've rad you question and you said about using GameMaker. Well the thing is is that GameMaker is actually for people who just wanted to start programming.
and also you said about you wanna to use C++ or Java.
you also said you are in a learning fase.
here is my advice and answer >
if you just started with C++ and don't know nothing about Pointers? Do Not Use C++ for game development.
if you Do know C++? Do not use any Engine in a learning fase, sounds silly but you will learn more without using any other engine
try to make your own engine/framework so you know whats going on in your project , Most game Engines have Custom References by using the Standard reference you can even create your own and learn more then knowing custom references.
Create a game with SDL ,OpenGL or DirectX
if C++ is to hard for you, try C# it's the best way to jump to C++ if you know C# , also to make games it's quite easy by using XNA framework, SlimDX or OpenTK or MonoGame
if you wanna to make games as fast as possible i recommend to use a C# Cross Platform Engine like Unity it's also free on mobile developement.
Java is OK for beginners it's OOP based and has a build in graphics library (Jframe)