After spending some time learning game development process and understanding the available tools and engines. I believe as a developer and designer it also good to to understand what fundamental principles that every game should have. I have been developing and designing tools for companies and enterprises but as an independent game developer creating a game has a completely different approach. Below are some items one should consider in designing their games.
Simplicity, Clarity, Integrity, Utility, Consistency, Invisibility and Engagement