how long did it take you start to finish?
Great question
🙂
Short answer :
About 8 to 10 months, working on it intermittently for a few hours a week, while learning Unity and pixel art.
Long answer :
I consider myself an experienced programmer, but I didn't know about Unity and I am not a graphics designer. Here are some insight I can share.
1. There is a lot of coding to do. I have 4670 lines of code across 67 files; 4k lines of code might not sound like a lot, but there is very little "boiler plate code", this is mostly very specific code with some quite tricky math and animation calculations. For example, just to have the right "feel" for the player jump is not as easy as it seems. It is a lot a fun to program though, I loved it, but I expected an simpler environment (although there are certainly a paid/free packages that are available that already include those standard behaviours). I love programming and Unity + coding in C# is great.
2. Graphics Design
That was time-consuming. But it got the kids interested and that was fun ! We used Pixelmator. For the next game I want to partner with a designer so I can focus on programming and level design.
3. Building the game and publishing
Supporting iOS, macOS and AppleTV … I hoped it was easier. Between Unity and Xcode there are a lot of pitfalls. Apple does provide tools, and TestFlight works really well, but having to do specific builds for all platforms is tedious. I also had a framerate/input lag bug on AppleTV that I spent weeks trying to fix until I realised I had to enable the GameMode on the TV 🤦. Supporting controllers also adds another complexity.
4. Sound and Music
I am also an amateur musician, I had experience with GarageBand ; music was easy to do. Doing the sound effects also was simple, you just have to make sure the volume is consistent.
It's easy to get started on Unity, and it's easy to progress. That's very motivating to see your game and levels progress quickly. But as always, the last 20% take 80% of the time.