Game development carries multiple issues about coding. I'll cover some areas that game industry should explore to improve gamedev craft.
Forget about Object-Oriented Programming. Look at this flat world built of small data chunks and separated logic. A world easy to refactor. Meet Entity Component Systems.
Unity3D is an often recommended game making tool for beginners, the same way, how it was with Game Maker and a few others. I have been stumbling upon Unity3D for 3 months and I do have my strong opinions about that fact.
My thesis is that Unity3D may not be suited for beginners. Some people argue and say that it is a matter of taste. I disagree. In my opinion it's the matter of skills and facts. I would like to share some of my observations about Unity3D or actually how it can be misused. The following will not be an advanced take on the topic but rather a cover for beginning game developers who want to start with Unity.
I will present three areas of (lacking) skills which often kill projects in latter development:
- writing production-ready code - maintainable for a longer time than a month
- knowledge of differences between programming paradigms like OOP, GOC or ECS
- performance problems awareness - due to target hardwarde, language and architecture