Today, I'm spending a significant amount of time working through the tutorials for Unity. Unity is a game engine; that means it's a piece of software that helps with building games. Historically, I've pursued two main paths in both my hobbies and in my professional life: writing games "from scratch", and using these kinds of tools. They both have advantages and disadvantages. Over time, I've seen professional projects choose game engines about two-thirds of the time and to write from scratch one-third of the time, and that ratio seems to have stayed pretty constant over the years. Engines can be expensive and constricting, but they have one huge advantage: they greatly accelerate productivity up front. In an environment where changes are rapid and problems are easily dealt with, it's easy to prototype and be creative. It's not usually until the late stages of the project that the limitations of a particular engine become apparent. As an individual developer, it's so hard to marshal the resources to write a game from scratch that engines become almost a requirement. I've written more than one game from scratch from iOS, and while I enjoyed the experience, I found at the end of the day that it required more work and time than I had. So I'm looking forward to seeing what I can put together this time around with Unity!