It’s the end of what was a cruel day in which I ultimately gave in to the world. A bad photo of myself is now out there, not that it matters to anybody but myself and I doubt if anybody would really understand how sad, frustrated and red-mist angry I’ve been today. But life is currently too difficult to make a fight of these things. Tomorrow I have to take my sister to the hospital. It makes my anger seem trivial. It’s not right that doing a little work for people means that those people own you, image and all. Yet I’m in no position to make subtle points. Nobody listens. Nobody cares. I’m bad meat trying to compete in a global market where there’s always some poor bastard on the far side of the globe who’ll do the same work for half the wage and they won’t be frown crazy truculent and idealistic. They won’t be me.
So I spent the day biting my lip until my teeth were sore. I’ve been working on another video for my employers but tonight I spent with Unity, which has become my second home.
I’m adoring the Unity process, from the simplicity of creating GameObjects to the ease with which the whole process of game design becomes a fun iterative process in which I sit here and constantly think: wouldn’t it be great if I could do x, y, and z. A couple of hours later, I’ve usually managed to get two of the three things working and when I finally hit my bed, my mind full of new ideas for the next time I get chance to program. I didn’t set out intending to write a game (if I had done, I think I’d have had a more rounded concept). I began simply wanting to see if I could get something moving around on screen. Then I thought I’d add a background based around tiles, which took a ridiculous amount of effort but now it’s finally working pretty seamlessly. Soon, I found myself beginning to build the menus around the game and the more I write, the easier everything feels.
Every day, I spend a couple of hours just drawing graphics to populate that background. They’re the two parts of the process I enjoy and they blend seamlessly. The process is so simple. Want a bad guy doing bad guy things: you create what Unity calls a GameObject and you give him a name like ‘bad guy’. Then you attach scripts which handle his behaviours, enable him to have rigid body physics so he can bounce off walls, or give him easy-to-check colliders so you know when you’ve hit him. Once he’s created (dragging graphics from your graphics program of choice), you simply bring him into life in the code with a single line:
GameObject badguy = (GameObject)Instantiate(Resources.Load(“BadGuyModel”));
It might look complicated but once you get into the syntax, it becomes second nature. Stick that line in a simple loop and run it ten times and you get ten bad guys who will begin to interact with each other. It makes a difficult job relatively easy.
Part of me thinks I should stop what I’m doing because I’ve spent too long learning to do this stuff but I’ve been working on this little game for a few weeks. I actually want to finish something I’d be proud to show people. I still have so much to get finished and they’re all little jobs like getting controls to disappear when menus appear, ensuring that messages display at the right points. I also need to think about music. I thought I might be able to find some looping software which might allow me to create something myself but my efforts have been woeful. I need to find either free music or forget about music. I’m leaning towards the latter. It won’t matter until I get a sense of completing this. Perhaps I will. There’s a chance I won’t. All I know is that tonight, programming, I didn’t feel the frustration that ruined my day.