Weird bugs crawl out of strange places.Squashing them is both satisfying and educational.And I never faced more bugs than when I was involved in game development.
I started developing games just as a way to practice coding when I was in college. Little did I know that this hobby will give me some of the most important skills related to my job.
Game development offers a horde of benefits to the people who involve themselves in it.
I will list some below –
Game Development is Hard
It makes you face a multitude of problems and complications which you never realize you will face.Issue come out of places where you never expect them to come from.This gives you the ability to think and ponder on the problems you will face and eventually come up with a solution.
How to solve the unsolvable
Some issues can’t be solved. But knowing how to do a workaround to resolve an issue is a valuable skill every developer should have.If you can’t solve it, bypass it.
Huge huge huge piles of code
The first time you develop a game which has some depth to it, you will realize how much code you will have to deal with to develop a proper game. People don’t realize this until they work on a commercial project in a company but game development gives you the chance to have exposure to this much much before you join a company.
Design Patterns,Practical Knowledge and Stuff
You will get a lot of opportunity to use design patterns when you develop a full scale game. They will simplify your life and give you much needed experience and exposure in using them.You will also get a chance to explore automata theory i.e. creation of pseudo intelligence with state machines, using FSM to model the behavior of certain objects.
You get your own playground and you get to be god
When you develop your game, you define the laws of physics,you define the story, the rules etc.It is your world and you can do anything in it. This is extremely satisfying and empowering.
This path I took has helped me a lot and I directly credit my skill today to the practice I got from developing games.