After spending a couple of days playing with Unity this past winter, was time to go back into it and get some work done. I followed the official 2D Roguelike tutorial and rolled up a basic functional game (with plenty of bugs) based on that tutorial, here are some random thoughts from a newbie point of view (first time coding in C#, using Unity or developing a game in general):
- Feels powerful and is “easy” to create great stuff. And is free!
- I’m not comfortable yet with C# but I can understand a good chunk of what’s happening in the basic game if I read through the code. Is pretty different from the languages I have used before for web development (mainly JavaScript and PHP), but makes me think differently and deeply about how everything is tied together.
- I didn’t like MonoDevelop at the beginning (the development environment that ships with Unity, in order to code and compile C#), felt clunky and slow compared with tools I use every day for web development (aka Sublime Text), however this is normal as I haven’t used an IDE before and always relied on simple text editors. You can also use a text editor for C# and Unity but you’ll be missing out lots of added functionalities, like code completion. Plot twist: Few days into using Unity it was updated to version 2018.1, which deprecates Monodevelop and stops being shipped and supported with Unity. Now this is shipped with Visual Studio Community instead. I also have seen that Jetbrains has an available tool for C#/Unity called Rider , which may be interesting to try out sometime in the future.
- I don’t understand yet how to debug properly. Most error messages are not clear enough. Fatal errors are easier to catch, however warnings may just slip through and you’ll only see weird behavior as a result, but you won’t be entirely sure where are the problems coming from. I’ll dig into Unit Testing and Debugging as soon as possible.
As I didn’t want to end this post without some real example, this is the clunky basic game I’ve created following the above tutorial (note the funky movement, I promise it was not on purpose, or intended):
This is a working prototype with the minimum assets, features, and mechanics, just to get an initial grasp of how everything works together, understand basic C# , get an idea how pieces work together, etc, …
Lots of unexpected problems came up, aka: Tooling, special GIT-Unity configuration, understanding C#, … If you’re curious about the original game, here it is:
I’m using this game as a base to create my own: I’ll be tweaking the mechanics in order to make something different, learn from it, and iterate on new features until I get something totally different. I’m using the tutorial as a canvas. Here’s the status of the game last winter when I stopped working on it, currently it has more features like the possibility to move between levels and a shooting feature:
Don’t miss out next week update!
Leave a Reply