Shockingly, it’s been over six months since I last posted to this blog. But this isn’t because I’ve been lazy, uninspired or disillusioned. I’ve just been extremely busy through a combination of a new job, moving abroad and getting caught in a hurricane.
In April, I took a new job at a New York based startup, spotflux. spotflux (lower case ‘s’ intentional) provides a free VPN service designed to protect your privacy and security. All you need to do is download and launch the app, and it will encrypt all your internet traffic, block ads, malware and tracking code and provide you with an anonymous, US IP address.
As great as the iPhone SDK is, it wasn’t designed specifically for games, so a mini industry has sprung up to provide game developers with APIs and tools to make their lives easier. So I’m going to raid the repositories and see what I can use for my project.
Admittedly, it’s been a while since my last iOS Shooter post. Hopefully I’ll soon be able to explain all the exciting things I’ve been doing of late, but for now, here’s the next step in my game planning: API selection.
While using third-party APIs isn’t necessary by any stretch of the imagination (thanks, Mr. Turing!), there are a lot of common problems and tasks that they can simplify greatly. Animating sprites, for example, can be incredibly tedious to code directly with OpenGL. Not only that, but – as I discovered when writing Togolon – physics is hard! Given I want this to be a short project, I’ll take any short cuts I can.
Sometimes, the little quirks and abstraction fails of a programming language can mess things up in really subtle and specific ways. Especially when it comes to localization.
I spent most of last week wracking my brains over an oddly specific bug in our product. Namely, when you installed our server software on a Turkish copy of Windows…it didn’t work. More specifically, everything started up, but nobody could login.
I’ve recently taken on the job of running the Phoenix Speakers website, so it’s high time I brushed up on my PHP. First little job: automating the “Next Meeting” box.
Phoenix meets on the 2nd and 4th Wednesday of each month. So we’d get something like the following mapping (dates in the form Y-m-d):
nextMeeting(“2011-01-08″) => “2011-01-11″
nextMeeting(“2011-01-12″) => “2011-01-25″
nextMeeting(“2011-01-26″) => “2011-02-08″
Determining the next meeting wouldn’t be as simple as finding the next Wednesday (or two), or moving a set number of weeks from the last meeting – both of which would be easily achieved with the DateTime::modify function. This problem called for something a little more algorithmy! Readmore »
What with a few extra side projects, I’ve let myself get a little bit behind on the iOS Shooter designs. But I set aside some time today to crack on and hopefully I can get the momentum back up. Today’s design: modelling game data.
As I’ve previously identified, there will be a number of different objects that could interact with the player, with one another and with the interface as a whole. It will be crucial to ensure that each object in the game can be easily accessed with a minimum of additional processing. So today I’m looking at how these objects can be organised and related to one another bearing all this in mind.
Happy New Year! Ok, so I admit, I didn’t do too well on my resolutions this year. But I did manage to get a whole heap of other stuff done. So it was a moral victory…kinda.
With 365 days in which to complete my 2011 resolutions, I managed to fulfill exactly (drum roll) two. For those of you playing at home, these were: Get the bathroom done and Eat fish. Not exactly the most inspiring of achievements.
I could make all sorts of excuses: the bathroom project taking 10 months due to council cock ups and a company going bust, my experiments in nailbiting cures failing for lack of a high resolution camera, or just really, really disliking chicken.
But excuses are counterproductive. I’d rather look back on the stuff I achieved beyond my official list. I joined a Toastmasters club and delivered 7 speech projects, wrote and release an iOS app in a couple of weekends, got a start on two other apps, helped out on a short film project, ran another 10k, did a PADI refresher course and bought matching coathangers.
Setting resolutions over the past 3 years has helped me discover new sides of myself, and made me push to see what I’m really capable of, but I think now I’m ready to think a bit more short term. I’ve found that a great way to make something happen is simply to tell people you’re going to do it. Announce projects early and let peer pressure keep you motivated.
So for 2012, I’m going to try to cram in as many neat things as I can. I won’t be setting any resolutions, save one:
That’s my challenge for this year. And yours too.
Got a speech coming up? Pitching an idea at work? Class presentation? Oscar acceptance? I’ve got a few tips for memorizing your text in double-quick time that might just come in handy.
Last Wednesday, I was booked to give a five minute speech at Phoenix Speakers as part of the Competent Communicator award. This was Project 5: Your Body Speaks, 5-7 minutes on whatever I wanted, with an emphasis on body language, expression and gesture. Notes were not an option if I wanted to get this right, but luckily I had a plan! Readmore »
Just a couple of weeks after the initial weekend’s work on Speaker Alert, it’s been approved for sale (I say sale, it’s free) on the iTunes App Store!
The first big test of Speaker Alert at the Phoenix Speakers XMas party went off without a hitch, a whole bunch of table topics were timed, and nobody went over their allotted minute and a half. So on Sunday, I snatched a couple of hours to put together some icon artwork and promotional blurb, and submitted a build to Apple.
Impressively, just four days later, I got an e-mail telling me Speaker Alert had been approved. Although I imagine that with it being such a simple app, there wasn’t a whole lot for them to test.
So there we go. One full weekend, plus a couple of hours here and there for polish, and that little project’s complete. On to the next!
Download Speaker Alert from the App Store.
Think you could make any improvements? Get the full source from the SpeakerAlert GitHub repository.
After a slight digression into actual coding, I’m back on designs for my iOS Shooter Project. In today’s post, I’ll be looking at menu layout and View navigation.
Playing with the Storyboarding feature in XCode made me want to eschew my vector drawing packages and mock up my Views directly in Interface Builder. Granted, it isn’t perfect at showing exactly what goes where at a glance, but here it is:
After last weekend’s quick application challenge, I’ve come back to Speaker Alert and made a few tweaks before some serious testing at the Phoenix Speakers XMas dinner next week.
There were a few things I didn’t quite get round to over the weekend’s rapid development, so I was eager to fix a few things, and a quick chat with Alex (our PR and Events bod) brought up a few great ideas for improvements. After a rather hectic week, I managed to catch a few hours today, and gave myself the goal of adding:
- Background alerts (at least a vibration)
- Flashing alert after the Red light
- Option to hide the elapsed time on the timing screen
- Autorotation on the timing screen Readmore »