Showing posts with label Unity2D. Show all posts
Showing posts with label Unity2D. Show all posts

Friday, 6 June 2014

Billy Bragg: The Video Game Hero



It feels like I've been building this game for months but I discovered today that tomorrow will mark eleven weeks. As far as development times go, that’s nothing. For me, it’s been eleven hard weeks of learning something entirely new and working long long nights. And it does, finally, feel like I’m nearing the end.

The past few days has been about adding a few aesthetic effects and balancing levels so challenges are neither too easy nor impossibly hard. Last night, I had one of my most important breakthroughs: I managed to integrate interstitial advertising into the game. It’s a horrible business, inserting these ugly ads into something you work so hard to get looking good but it’s the ugly reality of this business. Nobody is willing to pay for anything and advertising is the only way I’ll ever make any money from this terribly doomed project.

I’m also tidying up some of my animations, which look okay, though sometimes just plain rough. A better example of my animations (and, yes, this is the ‘good’ stuff!) is my Billy Bragg character (above), who features as one of the game’s heroes or antagonists, depending on which side of the political spectrum you fall. The game, as I think I’ve mentioned, is broadly satirical and Bragg acts as a nemesis to the game’s chief protagonist along with other celebs and politicos ranging from Stewart Lee to the Mayor of London.

I’m posting this Bragg video today because I like to prove that I’m not idle and because it links conveniently into a brief ramble about the most depressing thing I’ve heard in a long time.

Billy Bragg has confessed (perhaps tongue in angora bearded cheek) that ‘the internet has changed my songwriting by taking up all the time I used to spend writing songs’. He was talking on the today’s excellent Guardian feature, ‘Seven Digital Deadly Sins’, where he proceed to suggest that he spends most of his days watching a variety of people falling down holes.


I’m sure Bragg was playing up to the camera. At least, I hope to hell he was playing up to the camera. If not, then I’ll take my ticket now and catch the next bus off this lousy planet.

If the dimternet has tamed Bragg then what hope the rest of us? Had George Orwell been around today, would he be spending his time watching ‘Charlie Bit My Finger’ (a video, I’m happy to say, that I’ve never seen) rather than writing ‘1984’? Or would he, as I’d hope, be among the few of us who are genuinely trying to cut ourselves off from the online world or, at least, merely use the medium without it robbing us of our lives and souls. I’ve written before that social media is the soma of this generation and nothing has changed to make me question that. I don’t think I’m simply being reactionary to say that we are losing strength in our mental limbs and we must do everything in our power to retain focus on the things that matter. Social media boasts about ‘ease’ and ‘speed’ and its integration into our lives but I fail to see how that’s a good thing. It’s why I find Bragg’s confession so depressing. He’s spent his life talking about activism yet it’s left to Bill Bailey’s contribution to the debate to point out how political engagement has changed with social media. Politics has become a trivial and, frankly, no so interesting meme in a greater world of hamster videos and fat people falling over.

That’s not to say that I don’t appreciate the power of a good one liner, wit squeezed into 140 characters, but there is also a place for length, pace, argument, and complexity. In a separate piece yesterday, Will Self (who also, incidentally appears as one of the 'good guys' in my game), recommended books for teenagers based on their length. He’s right, of course, but that doesn’t make it any less depressing. Explore the places of difficulty in your life. It’s where you always discover the most fascinating revelations.

I suppose I’m as much a victim of this change as anybody. Friends shake their heads slowly, clearly thinking I’m a fool because I don’t get involved in social media. I’ve certainly made decisions I’ve regretted. I always thought my book by Stan Madeley (the UK’s top Richard Madeley lookalike ) would have been more popular than it was. The fact I didn’t engage in social media and publicity was plain stupidity on my behalf. Yet I’m stubborn when it comes to my convictions. Bragg is probably right when he concludes by saying that ‘everybody wants to be famous, nobody wants to be scrutinised’. That’s the world where people are more interested in celebrities for their celebrity rather than anything they actually do.

I genuinely can’t see the attraction of fame. Scrutiny sounds far more interesting. I’d rather be disliked by a few than loved by millions. I’d rather be Will Self than Katie Perry, Billy Bragg rather than Stephen Fry. Social media is made for the latter, which makes it sad when I see it embraced by the former.

This is a ramble but I’m tired and I suppose it’s when I’m tired that I can see that my Android game is only going to be another expression of my stubborn unwillingness to join the throng. Only I could make a game that skips merrily past the mainstream and attempt to attract a very small minority. I only hope just a few people will smile and appreciate that I’ve tried something a little different. I’m hopeful, for example, that it will be the only video game featuring Billy Bragg.

Naturally, he won’t be singing but, so far, neither will I. The game looks pretty good but it still lacks music. I’m still attempting to finish recording my closing satirical song, though getting a quality track is killing me. I’ve fingerpicked a pretty good acoustic guitar pattern and even if my £12 USB microphone isn’t exactly studio quality, it’s not entirely bad. My singing remains the problem. I can’t decide if it’s a problem of my accent (I sound terribly northern) or simply a weak voice. I’ve been recording multiple versions in different registers so I can stack my vocals. Oddly, I think I probably sound less bad singing as a group than I do singing alone but I’m finding it difficult to mix them into anything reasonably listenable. Ideally, I’d like to just record myself singing over the guitar but one mike and a bad voice don’t make for a good combination.

But that’s another ramble for another day and I must go and make this blog post available on social media. [sarcasm=true; walks_off = “chuckling maliciously”;]

Monday, 19 May 2014

The Angel of High Satire

I seem to spend my life between identities.

What do I mean by that beyond trying to sound profound? I suppose I mean: I don’t know what I am. So many people seem to define themselves by their jobs or their religion or their marital status and number of children. I don’t really have any identity in those respects. I don’t think of myself as ‘a writer’ and even when I had a book in bookshops, to say ‘I’m a writer’ felt hollow and not entirely truthful. I never say 'I’m a cartoonist’ because I haven’t had any cartoons published and I refuse to spend the rest of my life being Private Eye’s least successful would-be cartoonist. I’m not an illustrator, though I occasionally provide people with illustrations. I’m not a web designer though I sometimes build websites. Nor am I an animator, though I’ve made a few animated shorts. I can’t even say that I’m an academic because my PhD never led me into any academic post of significance. Now that I’m programming again, I am reluctant to call myself a programmer because the programming is only serving an end as far as another of my non-descriptors, that is, the cartoonist part of me.

cherubI’ve spent two months (or is it now three?), building a game which is little more than a very large satirical sketch or (more accurately) oafish cartoon. It's taken as much efforts drawing the graphics as it has programming the code. I’m part proud of it as I am part ashamed of it. The whole thing is meant to be satire, which is why, over the weekend, I added the following character to the game. At the moment, he flies onto the screen at random moments to add a little difficulty (and some reward) to the challenges. Yet I suppose my ‘Angel of High Satire’ (is the minuscule penis too much?) is a way of my
acknowledging that everything I do is really directed towards satire. I suppose I might call myself ‘a devil of low satire’ because I think it’s always been the closest description I would recognise of myself had I actually achieved anything of note in that field.

I don’t think my game will change that, though I hope it will have a enough edge that people might share it and laugh for all of the few moments they play it before deleting it forever. The humour might not be up to quality demanded by the real High Angel of Satire, on whom I modeled my version, but it has amused me. And that’s the problem. My worry now is that the game contains too many of the things that amuse me such as the thought of a naked Ian Hislop providing the game's hardest challenge. I wish I could have created something playable by somebody other than that person I see in the mirror. Next time, perhaps.

Unity2D: Creating An Explosion Effect



A quick video I put together to show my workaround for the missing AddExplosionForce2D in the Unity engine. It’s probably of interest to nobody out there but it gives a good idea of how Unity works and the very basics of making things move around on the screen.

Saturday, 17 May 2014

Small Details

Writing this feels like I’m coming up for air.

I read an article somewhere the other day which suggested that it takes six months to develop even the simplest game. I’m not entirely sure that can be correct, but, perhaps taken as an average, it’s probably much closer to the truth than the fabled ‘couple of days’ it took the Flappy Bird genius to weave his magic.

At the other end of the genius scale where things don’t come easily and everything is a struggle, it only feels like I get closer to the end as I tick off the increasingly mundane tasks that dominate my ‘To Do ‘list. Beyond that, I spend most of my time fixing bugs and populating my levels with graphics. My problem goes back to the beginning when I didn’t so much design the game as start to play with Unity and a game gradually began to emerge. My game levels are potentially huge, though there are limitations which means not every square inch needs to be populated with landscape. I’m naturally reusing assets all the time but I need to break that up with unique graphics, which is where most of my efforts are not deployed.

The bug fixing takes the longest. A bug earlier in the week took two days to figure out but taught me an important lesson about the difference between Unity’s Awake() and Start() methods. Compared to that, coding new features is an absolute pleasure that rarely takes a very long.

The exception to that rule was the problem I faced creating explosions in my game. Having explosions came pretty late in the process and I thought it would be an easy thing to add. Unity has an AddExplosiveForce method  which you can add to game objects so they act as a bomb, pushing other objects away. However, Unity separates its 3D functionality from the 2D in an obvious way. If a method is designed for 2D games, it will have ‘2D’ appended to the end of the name. So, for example, there’s a RigidBody component, which makes a 3D game object respond to gravity and forces. There’s also a RigidBody2D component with does the same for 2D objects. AddExplosiveForce adds an explosive force to a 3D object and, as you’d guess, AddExplosiveForce2D would do the same for 2D objects.

Except Unity doesn’t currently have AddExplosiveForce2D which meant I had to write my own. It took a day but I solved the problem and my explosions are now working well, with sticks of dynamite even destroying other objects with a nice blast that radiates out. However, it’s an example of how I’m spending my days implementing features which are only a very small fraction of the finished game.

Not everything takes so long. I’d been putting off adding more online leaderboards to the game but I finished that just now, perhaps half an hour’s work to add 30 leaderboards, one for each level I’m currently planning to include in the finished game. I also finished adding the majority of my ‘achievements’ and they now stand around the fifty mark which means I’ll have to spend extra time checking that every one of them works, which means yet another game reset so I can play through it and unlock the achievements myself.

Even at this relatively late stage in the process, I’m learning new things. The surprising thing I’ve recently discovering is that it can be really small things that make a difference. Attention to detail is important. Just as a whim, I added a very small detail to the game about three days ago and it has completely changed the game’s dynamic for the better. It was an addition I made simply to add a little variety to the gameplay but it completely changed the way the game feels. The same is true of sound effects. I still have a few sound effects that don’t fit but those that do really make a difference.

In a way, I suppose all of this is my way of saying that ‘things are coming together’. As it stands, the game is pretty much finished in terms of the gameplay (though I constantly worry that there are times when the player doesn’t have enough to do). I have quite a bit of level design to complete, but that simply comes down to my finding the time to draw custom graphics for the different challenges. On top of that, there are things to write and I have to create some tutorial mode or, at the very least, provide instructions on how to play the game.

Then my final step will be to add some advertising, which I’ll do simply in the vague hope that it might earn me a few bob when others try this game. I don’t expect it to hang around on people’s smartphones and tablets for very long but I’d like to maximise whatever revenue I can generate. All this work should have a point and, I admit, at the moment, I fail to see what that point could be beyond my own amusement.