How much programming experience do you have? C++ isn't something that I'd recommend to an absolute programming beginner. Though, that's not to say you couldn't do it. Here's a list of books: http://stackoverflow.com/questions/38824...e-and-list I strongly advise reading a book than surfing the internet for C++ tutorials or code samples. Right now, I'm reading C++ A Dialog by Steve Heller which seems to be pretty decent. He starts off briefly talking about the lower level side, about memory, cache, machine instructions, etc so that you have a better understanding of what occurs as a result of your code. Due to this, Heller sets the reader up such that they have a better understanding of some general programming concepts and can reason more effectively when writing efficient code.
If you don't have any prior programming experience, then I recommend using an engine like Unity while using C# for coding. Why? Because C# is a relatively easy language to pick up quickly with little headaches. With C++, there are subtleties that are easy to overlook for a programming beginner. By using Unity, you have a lot of the work already done for you which includes collision, rendering, sound, music, animation, an editor (this is a biiig plus), inspector, etc. Since it has an editor, you're also able to work with others more effectively and get to the "game" part quicker. If I were to work with someone else again, I'd choose Unity+C# over making everything from scratch or building on my prior libraries. However, even if you go with Unity+C#, you might not succeed within a year, mostly because you'd still have to learn C#, Unity's API, make the content, basic AI, and research about procedural generation. That's a lot. Not to mention, just because you've learned the syntax and semantics of a programming language doesn't mean you can now write code effectively and with ease. That takes a lot of time and continuous practice.
Anyways, good luck on your project. I don't intend to demotivate you at all. I'm just trying to help you out and point you in a better and more effective direction.
__
Note: I am biased towards C#/Unity since I've used C#/XNA for the past 5 or so years and have recently began using C#/Unity. Though, C++ is a worthwhile language if you want to invest in it.
If you don't have any prior programming experience, then I recommend using an engine like Unity while using C# for coding. Why? Because C# is a relatively easy language to pick up quickly with little headaches. With C++, there are subtleties that are easy to overlook for a programming beginner. By using Unity, you have a lot of the work already done for you which includes collision, rendering, sound, music, animation, an editor (this is a biiig plus), inspector, etc. Since it has an editor, you're also able to work with others more effectively and get to the "game" part quicker. If I were to work with someone else again, I'd choose Unity+C# over making everything from scratch or building on my prior libraries. However, even if you go with Unity+C#, you might not succeed within a year, mostly because you'd still have to learn C#, Unity's API, make the content, basic AI, and research about procedural generation. That's a lot. Not to mention, just because you've learned the syntax and semantics of a programming language doesn't mean you can now write code effectively and with ease. That takes a lot of time and continuous practice.
Anyways, good luck on your project. I don't intend to demotivate you at all. I'm just trying to help you out and point you in a better and more effective direction.
__
Note: I am biased towards C#/Unity since I've used C#/XNA for the past 5 or so years and have recently began using C#/Unity. Though, C++ is a worthwhile language if you want to invest in it.