Ok I am a artist and a programmer and I already know my story :)
I were learning for this project for 4 years and still learning and i know how it is hard and for me I worked in animating and learned it and it is easy for me now and I am really serous and realistic and working hard and I won't stop. |
I'm not trying to discourage you. I'm just trying to help you figure out how you need to focus your time and what you might need to do to be successful.
I think you should try and find some people to help, otherwise you should make sure to continue learning both the modelling and the programming now at once so that you don't end up realizing that you spent a few years learning the programming, but now you need to invest a few years into learning the modelling. This was a major issue for me. I would blast through a bunch of programming, and realize that I need a ton of resources to really continue on. But I don''t have the massive amounts of time it would take to make all of these resources.
One major thing you should be aware of is that experience is key to success. For this reason it is not wise start off doing a project which is your life goal/long term project. You will probably find out somewhere along the line that you should have gone about it another way, or that the way you went about things will not work at all, or just not good enough and it needs to be scrapped.
With a project of this scope, your design patterns, organization, abstraction, data structures, and algorithms need to be very good in order to manage the massive complexity that you will eventually have.
You should start learning all about Trees, Maps, Sets, Hash Tables, Heaps, and other data structures / algorithms in depth. Then it will be easier to understand how to make the custom data structures you will need for your MMORPG.
And another thing you should take seriously is modularity and testability. You should have clearly defined modules which make certain guarantees with certain inputs in order that you can easily test each module, and make it feasible to track down bugs / maintain a level of non-bugginess.
Also, you should start learning about embedded scripting languages and their usefulness in game development.
I don't know what exactly you already know, I'm just saying what I think you should study.
And lastly and maybe most importantly, please don't program this game using DirectX directly. If it takes you 10, 20, 30, or 40 years to complete, what are the chances that Windows doesn't even exist anymore? Even if it does, the version you use will be massively outdated. Go into this assuming your rendering engine will need to be replaced or reimplemented at some point, and go into this assuming that you have no idea what kind of platform you might need to run this thing on.
And honestly, since this is such a long term project, maybe should worry about whether or not library X, or language Y is going to be dependable in the long run. Don't start with dying technologies. Does library X depreciate old features rapidly? What will you do if you find that you need to keep changing stuff to keep up with it? How will you reduce the cost of swapping in and out libraries etc? Think about these type of questions, and ask these types of questions.