Just letting you all know about my C++ project I'm going to start called Voxelia.
It's inspired by Cube World, Zelda, Minecraft and Animal Crossing and will feature fully dynamic kingdoms, villages, NPC's ect.
The image I normally use is, Imagine you're walking around, and you hear a lot of fighting, walking round a corner, you encounter 2 kingdoms fighting it out over a fort. You have 4 options.
1) Attack Kingdom 1
2) Attack Kingdom 2
3) Attack Both
4) Don't attack (Walk away or watch)
Now, if you choose option one, and win, you will have a reputation amongst kingdom 2, but Kingdom 1 will most likely consider you an enemy
And Vice versa for option 2
Attacking both, may raise reputation with a 3rd kingdom that wants them both dead, but both will probably consider you an enemy.
But not just wars, villages will expand, people will be born, grow up, and get a house, further expanding towns, cities and villages. Even shops are Dynamic, they recieve goods from certain suppliers, usually in the nearby vicinity, and they will pay less and charge less for things they are in surplus of, and charge more but pay more for things they are lacking.
Also, this game will include a signet system.
A signet is a magical upgrade item for a weapon or armour.
There are Material signets that enhance non-magical abilities (Speed, damage, range ect) of the weapon or armour, and spirit signets, which give or enhance magical properties (Elemental damage, life steal ect.) to the weapon or armour.
A signet, if left on the ground, will dissapear after 30 seconds, in your regular inventory, it will last 5 minutes, however, on a signet bracelet, a special item you are given at the beginning of the game, it will remain until you decide to use it. Sadly, slots on the signet bracelet are not only limited, but can only hold one type of signet, so one slot cannot hold a material signet or a spirit signet as you deem fit. Material signet slots are more common than spirit signet slots, simply because, material signets are more common than spirit signets.
Also, did I mention ever world will be randomly generated?
Hi, so you just started learning C++ and already making plans for a feature rich 3D game? Well I cant do different then just say: its going to fail, because you are not the 0.1% of cases when it doesnt.
What other languages have you learned so far and how good are you with them? Ever coded a game before? Why C++ and not for example C# + XNA? Also, C++ wont be enough because the shaders with which the 3D objects are being rendered are written in HLSL. The rendering process will be a huge part for itself to learn (vertex shader, pixel shader, rendering with textures, different effects, multiple rendertargets, post screen shaders etc etc)
So I do hope you are a 30+ guy with long time experience in similar programming languages but I doubt that because such a man would not be so foolish and attempt what you just described with zero knowledge of C++ and the use of Direct3D.
I know Im sounding like a total mood killer, but its just the brutal truth as I see it from my point of view.
But anyways, good luck.
Edit: its not very wise to annoy your already very small userbase of the blog by using a URL shortener that lets them wait 5 seconds and bombard them with ads in the meantime. its not worth the cent you get for doing that
Saoblol has a point. If you're just learning a language, focus on learning the language, not on a project that would take years (potentially) to prepare for. I know I started like GunnerWolf, but I've found that over my 3 years of C++ that practice (and not just knowledge) truly makes perfect (not that I'm close), and the learning of some programming methods takes brute force time. Some 3D concepts I didn't grasp for weeks, but once I did, everything made sense.
DirectX isn't a bad choice, as not all games are programmed using OGL (or HLSL for that matter). Start out with console, then 2D (which is still very relevant and always will be), then finally move on to 3D.
Just know that learning how to create games is not an easy process, but a long, hard process. However, it will be worth it if you stick with it.
Want to get to know my work and I better? See my website: Au 79 Games