This is taken from a little thread I started back in UE4 forums. In this thread I summurize the lessons I learned on development and then I convert them into a single line commandment, a style I "loaned" from Kotaku articles ;)
Let's talk about the problems that never leaves us. I want to share our experiences here, but starting from our problems. I believe pinpointing general problems are the most important.
I am also beginning developing seriously a game in my life for the first time (an RTS), so while still on the beginning of journey I thought why not ?
Let me begin.
No matter which engine I used I encountered two main problems you can not escape no matter what. Then I coined these with some others " General Problems" , the problems that exists inherently because of " software development" , not because " you are using the wrong engine"
First one is: Tutorials became unrelated after some time.
Yes, even official tutorials after some times became unrelated ( obsolete) because during the life cycle of softwares they undergo many changes from UI to code declarations. So even the best of tutorials becomes much less of a use after some period of time.
This is all the more true for video tutorials. Although Documentations can be exception to this ( they can be updated much easier ) . But the most important factor would be "Experienced Community Members" who stick around with a bag of high level experience. They [U]ARE[/U] the real source.
Unfortunately the total number of these people are approximately the same for every forum ( a couple of them at most) and they can not be everywhere any given single time.
Thus here comes the first Commandment:
"Thou Shalt Get Used To Put Effort For Self Learning"
The second: Easy Problems Get Solved Easier, Harder Ones Not So Easily
When you have a little problem with your project like " Where is the needed node for this to work ?" you will get an answer fast because problem itself is not that big and there will be many people who could help you because they would know the answer.
If you have a question about " How to direct 2000 units on a 64 km square map online" you would be lucky to get a post even related to your question.
Think about it: How many people could get that kind of problem ? How many people would even consider 2000 AI units standing together in their game ?
Since the second commandment:
" If thou have unique big ambitions thou art gonna have big, unique problems. "
After 3 days of being unable to write a single moving RTS camera keeping this up:
The Third: It Is An Engineering World, Don't Think Otherwise
Engineers are educated and raised in 3 to 5 years periods and they train on the job to get actual experience. That much experience is required to write an actual game in a language like C++ in an efficient and as few bugs as possible. If you think you can jump into with zero experience give yourself 3-5 years. No questions asked. Period !
Tough creativity and artistic touch is an unquestionable must all these has to be done on a calculating machine called PC and this inter-medium between you and your audience requires high technical knowledge and more importantly experience and insight worth of years.
So here is your third commandment:
" If thou aims to make games thou art gonna give a part of his/her life to learn it"
I will keep adding as I learn 'em and I strongly advice anyone with such life lessons to share them in this format.
Many young people have no idea what they are getting into when they start developing games and they may have waste their youth accomplishing so little and still blame wrong things.
As always, Good luck and Godspeed mates :D