Video games are something that nearly everyone knows about, and something that many people have probably even tried, but not a lot of people have made a game of their own. You may have heard that game development is incredibly difficult and only for those with wills of steel, but I am here to tell you that that is not true. It is true that game development does take a little effort, but it is also true that it is incredibly rewarding. Game programming and creation is a fun and engaging activity that anyone can learn, if they have a little patience and persistence.
There is nothing quite like the feeling of making something and other people using it simply because they enjoy it. That is not all, however. The skills that are acquired throughout the process of game development are invaluable and will leave a lasting impact on your life. Skills such as coding, design, time management, and critical thinking are all skills that are learned while creating a game. Even if you never make another game again (which is unlikely because game development is also incredibly fun), you will always know that you can do it and it will give you a lasting sense of confidence in your ability to learn. Even now, over a year and a half since I published my game, it still brings a smile to my face to remember the work that I did. It might not be the most amazing gave ever created, but it is something that I will always be proud of and I wouldn’t trade it for anything (except maybe the Oculus Rift).
Month 1: Learning
Whenever I tell people about how I developed a game I like to break it down into individual months. The first month was probably the most important because this is when I actually learned the bulk of what I know about game development. Prior to making my game, Happy Cloud, I had experience working with different languages such as PHP/HTML, Objective-C, Swift, and Python, but in order to make Happy Cloud the way I wanted to I had to learn C# (pronounced c-sharp). This is because the game development engine I was using, Unity 3D, supported C# as its main language. There were a couple other options for game engines at the time, but I ultimately decided on Unity because it was free and easier to learn than other high-level game development engines. Additionally, on Unity’s website they have great support for beginners that includes numerous tutorials and a large amount of documentation on the engine itself as well as the C# integration in Unity. During this first month of development, I spent many hours on Unity’s website trying to figure out how to use Unity and program in C#. Something I highly recommend for those that are interested in using Unity, and something that I learned during the first month of development, is this: Doing the tutorials alongside the videos allows you to learn much quicker than if you were just watching the videos by themselves. Speaking from experience, I can say that this method is much better and gives you the chance to retain much more than you would otherwise. Additionally, after you complete the projects from the tutorials you can continue to play with them to help you learn more about how Unity works.
How much time it takes to become comfortable with Unity depends on a number of factors. Obviously, it’s going to be a little bit different for each person, but the only way to become truly comfortable with Unity is to really spend time getting to know it. With all of the free material you can find online for learning Unity, even a beginner can master it if they keep at it. Once learned, it is an incredibly efficient way of developing games. With my experience in using other engines, Unity is without a doubt my favorite. The great thing about Unity is that it successfully walks the fine line between development power and ease of use – there aren’t a lot of negatives to starting here, as Unity can grow with you to accommodate almost any type or level of game.
- Game programming is a great way to learn to code. It gives some context and direction to the learner that helps them stay motivated and gives them a bigger project to work on.
- Unity is a solid platform for beginners and experts alike. The wealth of online information and tutorials helps make learning Unity much easier.
- Unity is free to use.
- The big downside, if there is one, is that Unity can feel a little overwhelming to a beginner. If that’s you, then you might consider starting with something more basic, like Scratch (also great for little kids).
- I wouldn’t recommend sitting a younger kid (unless highly motivated and reasonably computer savvy) in front of Unity on their own. This is, however, a GREAT project for parents and kids to work on together. Showing interest in your kids’ interests (video games), and learning to create a game together is a great use of your parenting time. Work on it on weekends, or a little bit at a time in the evenings when you can sit down together. Schedule 30 minutes together a few nights a week.
To be continued in Part 2.
- Unity Website: https://unity3d.com/
- Unity Download: https://store.unity.com/
- Unity Manual: https://docs.unity3d.com/Manual/index.html
- Unity Forums: https://unity3d.com/community