Mobile Game Developer
Happy little bushes.
Progress! (I think.)
I dropped the sci-fi adventure game prototype I’d been working on at the end of March. There were a couple of reasons for this decision: firstly, the scope was far too big – I didn’t see how I could cut it down to a reasonable size without compromising the project as a whole. Secondly, I realised that I’d set out to make something that I wanted to play, rather than something that has an established market waiting for it. As developer Winterwolves can attest, sci-fi doesn’t sell (very well, to women).
I was raised on Star Trek: TNG, so I’m a bit of an outlier. For my first game, I can’t afford to innovate. It hurts to have been so invested in something that’s never going to see the light of day, but that’s the games industry for you. Fail early, fail fast, fail often.
I decided instead to lean on my (not insubstantial) experience of building match-3 games to make – wait for it – another match-3 game. No matter how many of them I build, it never gets old, and there’s a market ready and waiting to snap up the latest titles. Selling to a saturated market has it’s own challenges. But better that than trying to sell something no one wants.
I expect to have the game on iOS at the beginning of September. If all goes to plan, I’ll follow up with an Android build in short order, and then, maybe, a PC build for the Big Fish crowd.
I’ve finished the core game programming, in-game graphics, the music, most of the sound effects, the user interface art and game animations (I’m on a tight budget, so I’ve been doing everything myself). The (slowed down) GIF below shows one of the match animations, animated in After Effects. (It’s a borage flower – they’re fantastic for pollinating tomatoes :))
I’m currently struggling with the last of the graphics. I’m vaguely pleased with how the trees for the level map turned out – not too shabby, for developer art. I absolutely did not know how to paint before June. Necessity, it seems, is the mother of getting sh*t done. I look forward to the day when I can afford to hire an artist.
Here’s another screenshot from the level map, part of a garden allotment.
Can you tell where I draw my inspiration from? :p
My tomatoes aren’t doing too badly, either :p
I’ve just had a quick flick through my blog posts from last year. It makes me laugh, how much of a song and dance I made about learning Unity. It took a few months of struggle, but I’m in a comfortable spot with it now. Any game I want to create with it, I could do. Anything I don’t know how to do, I can learn. It’s amazing how much confidence you get from writing your own shaders 🙂
Don’t get me wrong – I still feel like I’m going to give myself RSI, what, with all the pointing and clicking you have to do in the interface (give me a Sublime Text any day!) The UI, being entirely alien to a text-editor jockey like myself, was the main cause of cognitive dissonance – not, as I had expected, the move from JS to C#. Unity is very opinionated in how it does things; in the end, it was simply a matter of agreeing to disagree, and doing things Unity’s way. Sometimes you have to write less than perfect code, rather than the glorious, perfectly encapsulated abstraction you had in mind. Does it grate? Yes. Does it matter? No. (Or, it might, later on, but you were going to go back and refactor anyway, weren’t you?)
You might wonder why I put myself through the trouble. I know JS pretty damn well, I could have easily written a mobile game (from scratch, with Impact.js, using Phaser (or whatever)) in half the time; wrapped it in Cordova and plonked it on the App Store, job done. So why didn’t I?
I’ve written a few HTML5 mobile games for clients. Some pretty big clients. And, clients being clients, they’re not bothered how much of a feat of engineering it was to get the same game working perfectly cross-browser, cross-platform, on desktops, tablets and mobile phones. They only care that sound doesn’t play in the Android stock browser on a (manufacturer modified) Jiazu N3 running Android v1.36.34x alpha-something or other when they hold the phone in landscape orientation whilst standing on one foot and hopping in a circle.
If it was painful for one client, I reasoned, what would it be like when your ‘clients’ are the general public? I don’t want to deal with one-star reviews and irate emails from players experiencing bugs on niche devices that I can’t possibly lay hands on. I’d rather spend more time up front and trust Unity to deliver a consistent cross-platform experience.
I appreciate that this rationale is contrary to my usual, lean-development minded take on things. There’s a lot to be said for getting an MVP released, and iterating on quickly based on customer feedback. But I’ve heard enough horror stories from fellow developers working on both desktop and mobile wrapped HTML5 games to confirm my views on this. Once my game is out, I need to be focused on player acquisition and implementing retention-focussed features – not firefighting edge case bugs and negative reviews.
In other news: PEAS! 😀
My lovely little veg garden is coming along – it’s already bigger than the herb garden I created last year. It’s amazing how a tiny plant – something that I could fit into the palm of my hand – is now almost as tall as I am, and provides me with fresh, delicious peas whenever I care to venture outside.
It’s silly how much it enthrals me. And slightly worrying. The whole process feels new and exciting to me, which is great – but doesn’t this demonstrate how far removed we are generally from the methods of food production? That ziplock bag of peas that you buy from Sainsbury’s on your food shop every couple of weeks? It’s easily the entire crop of five times the plant you see here. Just something to think about.
*Runs around in a circle flapping arms* OMG, OMG, it’s a tomato, an actual tomato. Euston, the first truss is set, tomatoes on approach vector! (Squeeeeee :D)