Friday 20 September 2013

The long hard stretch to the finish

As I noted last week, I am currently developing a game for Android. The concept for the game (Save the Village) is a relatively simple one, catch the fireballs as they descend the screen lest the village below burst into flames. While the graphics are, shall we be polite and say simplistic, the gameplay is actually fairly compelling. This isn't me saying so myself per se, but friends and family who have given the development code a go are often compelled to have another go or two before handing it back.

One problem though in doing all this for the first time is that it can be insanely easy to underestimate the amount of time left in development. I have a to-do list stored via the quite impressive Wunderlist, which I use to keep track of my progress. What I don't see though is the number of dependencies that the little tasks I'm setting are creating in turn. It can occasionally feel a little demoralising, I've felt like I'm a fortnight away from finishing for the last three weeks! Hopefully this stretch is actually the last stretch. I'll post something over the weekend about the game itself (rather than my travails) for anyone that wants to see it.

Friday 13 September 2013

2 Lines

I posted a couple of days back about how I'm trying to become a games developer. At the time I was feeling pretty good about the whole thing. Well, as it goes I'm still feeling pretty good about the whole thing, but I have been bashing my head against a brick wall with an issue for the last couple of days.
So the game works, it does everything it needs to in terms of playability. OK the difficulty needs balancing, but I'm happy to say that's coded in such a way that they take only seconds to write (play testing is the awkward thing). So all of my screen transitions up to the game work, the main menu, the pause menu (placeholder graphics, but meh) all good. All I need is a local high score screen and I'm pretty much good to go.

So as ever I think about the components needed to do it correctly:
  • SavedPreference object for holding the score? Check.
  • Sorting function to determine which high score has been achieved? Check
  • Text box for the player to type their name? ...
Ah. Adding text itself isn't an issue* but adding text that an end user can interact with is. So days, literally (not the new meaning *glowers*) spent trying to work out how I could get an editable text box to pop up in front of the user so they can enter their name. Repeated goes at typing very very similar lines of code in slightly different files led me to understanding less and less of what I was reading. My desperation for a resolution sent my commenting and back-up policies out the window.

And then, this morning, a breakthrough! A new view up on screen (floating, as it were, on top of the main screen) from which it will be simple to add one of the Android widgets. Except, well it wasn't. Again. And now the errors that were being thrown were miles out of my comfort zone, null pointer exceptions are fine, but these errors felt like dissertations on multi-threading.

Back to the internet, to the Android documentation, to stackoverflow.com. After a little while trying to find similar issues, I new I needed to add a looper and a handler. But how do they talk? What exactly do I need to do?

Finally out of desperation I took the first part of the code and just stuck it in the one thread I know I have running:
Looper.prepare();

//Some other stuff
Looper.loop();
 And it worked!

I'm still not entirely sure how the handling is being done, or if I'm just being hideously obtuse. For now though I'm just going to take it as a win, and leave the thinking for when I'm more likely to cope with it.





*For those interested in this sort of thing, the game framework is based on Mario Zechner's book 'beginning android games' which I discovered through the tutorials at kilobolt.com. The framework uses a surface view to render all the goings on to a single bitmap, which is then scaled and drawn to the resolution of the device.
This works brilliantly but adding additional 'View' components isn't the simplest thing in the world, at least to a novice like me.

Thursday 12 September 2013

Foot... BAAAALLL

I guess I'm what you'd traditionally term a 'bit of a geek'. I enjoy physics, video games, statistics, understand how to read weather charts, and until recently spent a lot of my spare time learning how to program. 'Until recently' as I now spend most of my time doing that.

For all that though, I do break with the exaggerated American high school stereotype in that I'm quite a sports fan, most of all football. It's actually quite a weird one to explain when someone points out the dichotomy of finding the pacing of most TV dramas to be so slow as to be unwatchable (and TV in the main to be a fools errand) yet enjoying watching 22 blokes run after a bit of leather for 90 minutes, while very little happens.

Tuesday 10 September 2013

Into the unknown

So today I wanted to spill my mind about the last 6 weeks or so. I was going to do that yesterday, but my brain was crazy melted by the wonder of Sharknado so I wrote about that instead (seriously if you haven't seen it get some mates round and give it a whirl).
So anyway before I get hit by another wave of B C D-movie delirium...

Anyone that knows me reasonably well in person will know that I started this summer as an advancing data-quality BA at a quite well known investment bank. The money was good, I'd been promoted in the winter and had been managing a team of three since the year before. Those of you who know me from my online persona only may be a little surprised to hear this, as I am quite an outspoken 'lefty'.  Still bills gotta be paid and all that, I got a call just after getting married (with the previous company I worked for having gone broke) that there was an opening and I would be a good fit. Here we are three years later.

That was how I started the summer. I am now 'unemployed' and am in the comfort of my own home during the traditional 9-5. So what happened? Well first and foremost, this isn't some 'woe is me tale', I resigned and left in late July . But why?

Sharknado: the drinking game

I was planning to write something moderately self absorbed on here this evening, tracking the last couple of months of my life, plans for the future, all that jazz. That's going to have to take a back seat though, for today I arrived (late, as ever) to the party they call Sharknado.

Sunday 8 September 2013

Just something....

It's weird talking into the abyss. Twitter, Blogger, Facebook. All these words and thoughts that spill (mostly on twitter in my case) onto social media, forums and the like that have barely even been committed to your own thoughts before they are part of the global conversation.
Talking on the internet is as if everyone is attendant at a giant party, but instead of hanging with the two people they turned up with (and *that* guy who thinks his every utterance is the funniest thing but strangely only you will listen to) everyone slinks over to a space and just talks. Some people talk loudly or compellingly enough to drag people closer and start a conversation, others provocatively enough to start an argument.
Then there are some that arrived late. That could only get a space on the dancefloor where the music is blaring so loud that they can't be heard anyway. Still they talk though, you know, just in case. Or even some that have an apparently handy spot by the bar, but are talking the most inane bollocks that all the drinks are being served in the other room.
Personally, I try and get involved, occasionally. Or I play the 'wallflower'. Watch, listen, try and learn. But there's no record of the thoughts of someone who just watched. Does there need to be a record?