There are a lot of game developing engines out there and knowing which one is best to use can be somewhat of a gamble. I have been learning about Unity and using their free community license. Unity has a pretty steep learning curve, but it does allow 2D and 3D game development. It also has the power to develop games for tons of platforms. The user interface is relatively intuitive and there are community guides to help understand the basics or clarify syntax and specifics.
Unity uses C# as the main development language and they want you to use Microsoft Visual Studio Tools for Unity for the script editor. From what I’ve seen in the tutorials it’s a killer resource that will drop hints and allow you to create game logic in your projects. Unfortunately, I haven’t had much luck using it for free–even though the community license is advertised as free, on day one launching Visual Studio I got an error message saying my trail was over and to buy a community license–technically it was installed a long time before I actually started using Unity, so that was a bummer. Since I’m not ready to pay for a code editor I’ve been using NotePad++ and it’s not ideal but it gets the job done. I tried to use a NotePad++ plugin for Unity but all the links I found were dead. Sadly, Microsoft really wants you to use their platform and from what I can tell they have killed all the previous alternatives.
I’ve been touring YouTube tutorials to get a feel for how game developers are using C# in combination with the Unity editor to develop games. I’m certainly not ready for 3D game dev, but I have found several promising tutorials for 2D game creation in Unity. For example, creating a board game, or a card game could be fun, and a great place to start. It will also be important to learn how to make a start menu and incorporate other UI elements for any game. I also took a look at building a multiplayer game and I decided to stick with MonoBehaviour for now, as it gets even more complicated to incorporate more than one screen space. I hope to learn new ideas, theories, tips and tricks within the Unity environment and I’m excited to see where it goes.