Fun learning Unity
I’ve made small games/apps in the past using Python/PyGame & Processing. When developing them, I’m always responsible for designing all the systems: And while a great learning experience, I only have a fixed amount of time to work on these side projects. So I thought I’d expand out and try a larger game development framework letting me focus on higher level concepts rather than the lower-level coding needed for basic systems.
The three big ones I’m aware of are Unreal (Epic), Cryengine (Crytek), and Unity. Nowadays you can download them all for free, which is fantastic. I’ve used Unreal & Cryengine professionally in the past, so I had interest in seeing how Unity worked. And one of the big deciding factors was the “scripting language” the engine uses: Unreal 4 has dropped their “UnrealScript” in favor of pure C++ (which I can read, but not really write), while Cryengine uses Lua (never touched it). Unity however supports C#, JavaScript, and Boo: C# is very similar to Java (Processing), which I am familiar with, so that made the decision pretty easy. And while arguments could be made for the “power” of a given engine, and my guess would be that Unity would be lower on the list, they can all do far more than I’ll ever need, so Unity was the choice.
And so far, I’ve been very pleased: Their documentation (user manual, component reference, script reference) and example tutorials/projects are fantastic . Easy to read, well spoken, and a breeze to follow. Plus, building the games and deploying to the web has been a snap. To date I’ve completed the two below ‘projects’, and I include a link to the completed game. While the ‘games’ are super simple, they were also super easy to make (thanks to the great tutorials):
- Project: Roll-A-Ball (project link). Web Game (link).
- Project : Space Shooter (project link). Web Game (link).
Next I plan to go over their “Stealth” project next. And like the subject reads, it’s been fun: It’s nice to be in a development environment where it ‘makes sense’ and things ‘just work’. So far, my only complaint is they don’t have a build in interactive shell (REPL), and they should really add Python to their scripting language selection