This week, I have been mainly thinking in Objects. At least, that’s what I have been trying to do.
As mentioned in last weeks diary, Blast! is progressing but getting very messy and over complicated. What I needed to do was take a step back and think long and hard about the best way to take it forward. There are MUCH better and more efficient ways for me to handle the various processes in Blast! and I am almost certain now that adopting more of an Object Oriented approach to the coding will actually really help. Whilst this is simple enough in concept I personally struggle with some of the concepts of Objects coming from a procedural programming background, and attempting to get my head around object oriented programming was a bit of a struggle initially. I do believe that I have had my “Eureka!” moment during the course of last week (and following a chat with Matthew, our new Developer). To this end I’m currently working on a little side project which will hopefully help to cement in my mind the various processes and the use of objects in a game development role. I already have some simple Class based objects up and running and it’s opened my eyes a little as to the possibilities of how easier it will be to achieve various results by simply utilising these objects.
I’m trying very hard to plan and think my way through the project before actually committing finger to keyboard, as I don’t want to be in a situation where the project runs away with me. Having said that, it’s not hugely complicated in concept or implementation really so with any luck I can produce something quite quickly which cements various aspects of OOP in my head! It’s strange, the older you get the harder it is to learn new concepts – didn’t think Id ever hear myself saying that. I don’t consider myself old at 32, but the difference in my ability to learn and understand new concepts is markedly different to, say, when I was at school. Back then I learned things pretty quickly (and actually forgot them even quicker), but now it takes time and practical application for my brain to actually “click”. Is this an age thing, or maybe a “having a kid who watches a LOT of Cbeebies which rots your brain” syndrome? Having said that I do seem to retain facts better than ever – whether that’s down to me having to concentrate harder to learn (and so stuff sticks) I don’t know, but its quite interesting to still be discovering stuff about my learning processes when I thought I actually knew how my head worked pretty well!
Hopefully once this mini project is complete (with any luck the development time will be fairly minimal), Ill be able to look at Project Blast! in a whole new light (and not only that, but hopefully I will be able to speed up the development process by splitting the coding tasks down into smaller segments which will be easier to understand, and also get other members of the team involved).
I really hope I have managed to crack these concepts as if I have it will mean that we can really start to push forward with things and get some games out there for you guys to play. It never ceases to amaze me that the volume of work to get something relatively simple completed is tremendous. The planning process is time consuming, gathering assets, tweaking those assets to get them how you need them, integrating them into the code, coding the actual mechanics of the game, planning/coding really simple (often taken for granted by the actual player) stuff like the user interfaces, control methods etc. Once you manage to pull all that together you then need to tweak and balance the game, ensure that it “feels” how you intended it to. Whilst that sounds like a really simple bit of code adjustment, step back and think about that for a minute. Look at the games we all play – what makes them “feel” like they do? Can you isolate what makes a game play like it does? Is it the control system? The way the AI responds? The movement speed of the player? The sound/music design? All of these things?
Whilst the whole debate is very subjective and almost esoteric in concept it’s partly behind what makes the difference between a corking game and an “ok” game.
Project 2 is also progressing nicely, still a while away from release yet but its really encouraging to see progress being made in line with the original vision for the game, I keep teasing you, I appreciate that, but hopefully more details very soon on this when we are in a position to actually demonstrate the game (as I think its easier to see it “in motion” than try to explain it here)!
I’m off now to think about objects some more. Ill try to be objective, so no objections please. Pppffftt. I need to lie down.