And many more…
Welcome to GameDEV Journey I’m your tour guide John Davenport. In today’s episode I’m talking about how the game development journey is not a straight line.
I briefly mentioned in last week’s episode that I took a detour in my game development journey from Swift and SpriteK into the world of C# and Unity. Today I want to dive in a bit deeper to that topic. Why did I take this detour, what did I learn from it, will I go back to Unity in the future?
Let’s dive in.
A Brief History of My Game Development Detour Into Unity
The year is 2018 and I have been on and off coding in SpriteKit using both Objective-C at first and then later Swift for some time now. I’d created a number of small demo projects and concepts. Most of these small projects would end up being shelved when they got too complicated for me to continue building.
Then I wondered if my problems were related to the inadequacies of SpriteKit as a platform. While there is no question that SpriteKit can be used to create a full game, Unity would often come up time and time again as I searched for answers to my questions.
So naturally – I started to wonder – am I going about this all wrong? Do I need to use Unity to succeed in game development? Will Unity solve all my problems? So I downloaded Unity, opened it up, and was immediately lost.
A Simple Gift Changed Everything
I very quickly went back to the comfort of swift and spirtekit that I knew. I didn’t even give Unity a second chance until… for Christmas that year my wife surprised me with a Udemy course for iOS game development.
Now you have to keep in mind she doesn’t know anything about different languages in coding and the different IDEs so naturally she just bought a highly reviewed course on Udemy related to iPhone game development, of course it was 100% focused on Unity and not Swift and SpriteKit
So do I tell her that this is useless to me for what I am doing? Or do I give Unity a second chance? Well I did a little bit of both.
I told Janine about how I had always wanted to try Unity and how I had just failed at my attempt at learning this platform earlier this year. I thanked her for the thoughtful present and of course I gave Unity a second chance.
This ended up being a very helpful present in that it not only gave me a basic understanding of Unity, but it did a lot more than that. Let me explain.
What Did Unity Teach Me About Game Development?
While Xcode is certainly an intimidating platform and Swift is by no means an easy language to learn. For some reason I felt like Unity was a much larger thing to wrap my head around. Maybe it was that nearly a decade of playing with Xcode gave me a comfort with that platform that made it more difficult to get started with a new platform. I don’t know – regardless this Udemy course ended up working wonders.
The course was the perfect beginners guide to Unity with demo games, purposefully built to explain different aspects of the Unity platform and the C# language. But it went a step further than that and that’s why I say it taught me more than just Unity and C#. It also did an amazing job at breaking down game development philosophy. Something I hadn’t really thought about prior to this course. It opened my eyes to how to structure a game. How to dial in a difficulty curve that was suited for your targeted player and so much more.
It really was one of the most instrumental pieces of my game development journey. I think this course played a big part in getting me to the point of being able to publish my first game. Which brings up a big question… why did I go back to Swift and Spritekit when I went to design this game that would become ZER0ED?
Why Did I Return to Swift and SpriteKit for ZER0ED?
Well, after playing around in Unity for a little more than a year and after working my way through the Udemy course I had started creating some prototype games all by myself. However, I started to find that Unity was too big for what I wanted to create.
So when it came time to really sit down and try to publish a game. I wanted to focused on two things.
1. I wanted to remove any barriers that would keep me from releasing a game 2. and I also wanted to make sure I would focus on a simple design that I knew I could complete.
Since I knew I wanted the release process to be as frictionless as possible I decided to release the game exclusively on iOS. This decision was made for a number of reasons, but the most prominent reason was that I didn’t have access to non-iOS devices for testing purposes making it hard to release mutliplatform.
With this criteria in mind I weighed my options between Unity and SpriteKit. The decision to use spritekit came down to the simple fact that in order to keep the release as frictionless as possible using Apple’s frameworks and language would be the best choice.
Would I Ever Go Back to Unity?
I’m not opposed to writing in C# and Unity again, but I don’t see myself doing that any time soon. This is an outlet for me and something I’m enjoying and with the success that I’ve had with Swift and SpriteKit my plan is to stay focused on that for the time being. Of course that means I won’t be developing for platforms outside of iOS anytime soon, but I don’t really have the bandwidth or means to test on other devices so it’s probably for the best.
I’d like to thank you for listening to this week’s episode. If you did enjoy listening to this show please tell one friend about the podcast.
Today’s episode is brought to you by a quick reminder to download and play ZER0ED the game I created and am continuing to make better. Get it exclusively on the iOS App Store.
Next week I will be talking about my experience as a do-it-all developer and how I want that aspect of my game dev journey to evolve and change in the next project I create. See you then!