Software developers are problem-solvers, creative thinkers and efficient architects. We spend a lot of time to learn the many aspects of technology, from programming languages and fundamental concepts to networking and operating systems.
Most developers would probably build a lot of software as side projects to learn new skills and accelerate their learning. But did you know that building games can be another side project that developers should give a try on? Here's why.
1. Review Data Structures & Algorithms
When software or web developers think of game development, they probably think: a lot of difficult math.
Well, that's not entirely true because it depends on what kind of game you are building and which game engine you are using. Instead of hard Euclid-level mathematics, game development will more likely involve data structures and algorithms.
In order to design certain game mechanics and aspects, you will likely have to revisit your data structures and algorithms knowledge and apply them. It's a great way to learn about them in-depth while finding creative solutions to include/expand upon them in your game.
2. A Fun Side Project
You don't need to build a game as large as triple A game companies make. It is just a small and fun side project that lets you explore your creative skills outside your usual software development practice.
With full creative control on how you want your game to be like, it can be a fun and de-stressing side project to build. Plus, as you add more features to your game, it is satisfying to feel that the project is progressing quickly.
If you want a good challenge, you can also build physics-based games to test your math skills. And of course, you can monetize your game if it is polished really well.
Overall, a game side project can bring enjoyable moments while development and potentially become a monetized project.
3. New Way to Learn
Game development as a hobby will encourage you to explore tools and engines on your own. You will learn how to discover and learn new languages, tools, frameworks, etc; and try to play around with each of them while figuring out which ones work best for you. This form of explorative learning is like 'play' and learning or working through play has been proven to stimulate growth and skills faster.
As you build games, you will learn various software designs to help in optimizing your game and make it work the way you intended. If your game include AI, you will also get to improve your problem-solving skills as you come up with AI algorithms for your game.
Hence, building games creates a self-directed and discovering learning environment, and helps improve a lot of essential skills as a developer.
4. Expand Skill Set
By building games, you can learn beyond software development related skills. Because games require more than just good programming skills, you will be able to learn asset creation like for graphics, music, UI/UX Design, animation and even storytelling. Learning these skills may open up more opportunities in your career or even help you in your current career.
5. Meet New Developers
There are a lot of meetups and game jams that you can participate in to meet new developers, creators and designers. Game jams are short 48-hour competitions where you can collaborate with some amazing people to deliver a fun and impactful game.
It can be a meaningful experience, and you'll have fun building something with people over the weekend. It always feels satisfying and rewarding to make new connections with other developers with the same interest as you.
Ultimately, building games is another side project option that you can do as a software developer to improve your programming skills, foster creative and problem-solving, and meet new people.
And no, you don't have to build big or fully polished games like Mario or Zelda. Start small with a programming language you know and from there, you will discover game engines, libraries or tools that you can use and learn. It's really more about developing your skills as you have fun in building mini games that you'd enjoy playing.
I found some articles on Hashnode that can get you started learning how to build simple games. So do check them out in the links below. Thanks for reading! I hope this article will encourage some of you to try building your own games as fun side projects. Stay safe, cheers!