Adarakion Developer Diary: Issue 17

Another weekly update on the life of a fledgling developer
Published 21/01/2010 at 20:00 by gnipper
Related stories (more)
Adarakion Developer Diary: Issue 25 [5]
Adarakion Developer Diary: Issue 24 [10]
Adarakion Developer Diary: Issue 23 [4]

Hello again!

More from the weird and wonderful world that is game development in C++! Ill try not to be too technical again this week, however apologies if my aching head slips into programmer mode again!

I’m having some really good and some really mind boggling times with C++ at the moment. Its such a gloriously adaptable language, but also at the same time so far removed from anything I have been previously used to that sometimes it feels the whole compiler is working against me. It’s a language which requires you to have knowledge of a lot of the behind the scenes stuff (how it compiles/links etc.) as well as how to actually program the damn thing.

For example during this port I’m attempting to split up Project Blast! in to various “pieces” of code so that if I want to do work on the menu system for example, I can just open up that bit of code and its header and work away. An added bonus to using this method is that the compilation speed is increased as the compiler doesn’t go through every “piece” of code when building the project, only those which have changed since the last build. However by splitting up the code the scope of variables needs to be very carefully planned. What I mean by this is that ALL the variables don’t have to be visible to the entire program. For example my main menu program doesn’t need to be able to access the variable that tells the game which special weapon player 1 has picked. This makes perfect sense on paper, however I am more used to taking the attitude of making everything global so I don’t have to worry., which is VERY bad practise. As I am hoping to be doing this full time at some point in the future it is important to me that as I start this journey into the unknown, I do so on the right footing! This “trying to do things right” is having a knock on effect that not only do I have to ”C-er-ise” everything (hey, nice word that, Ill use that again!) but also look at the way my data is organised which really means that I need to effectively re-write chunks of the code (well, not re-write really, more re-organise).

So I have had a few headaches trying to come to terms with a new way of working, which in itself isn’t a problem it’s just like learning a new language – its great to learn some vocabulary but without a grasp of grammar you will “get by”, but very slowly and clumsily, and everyone will look at you strangely! Unfortunately just talking louder and slower doesn’t really cut the mustard here!

I am hoping that once I get a few more fundamental questions resolved the remaining bits of the port will go reasonably quickly – apart from my fight engine of course. That is easily my largest chunk of code and that in itself will take me a few weeks to port over, I’m sure of it. It’s also probably my most inefficient chunk of code, so I think Ill probably take the opportunity to re-factor that code whilst I am porting over – might as well try and learn something whilst I’m frantically altering my brackets to square brackets!

At the moment I’m stumbling over a few concepts to with chars and strings but I think Ill get there in the end – its great having contacts to chat stuff through with and give advise on where I’m going wrong, so I guess I am quite lucky in that respect.

I’ve also got some quite exciting developments in the pipeline which should really help with my gradual learning of the nuances of C++. But Ill keep these under my hat for a while – I need to keep some things back to write about here in the future!

Its probably the wrong time to start thinking about what next, but I’ve also been having lots of ideas of the type of game I want to do next – some are more ambitious than others, and a lot of what I can plan for really depends on how comfortable I feel working in the C environment. I don’t think I’ve ever been more excited about where Adarakion are heading.. Well, I have, but I suppose I’ve never felt as confident in our ability to produce the goods in the programming language of the professionals!!

Comments

Please note that all comments are the opinion of the individual author and not TheSixthAxis.


  1. good to how the company is doing, Hello, good luck in the future.


  2. I keep meaning to try and teach myself c++ but just can’t motivate myself to start.


    • Its a real headache sometimes – but I guess its all about effort and reward – and Im getting there, slowly but surely. My learning is structured (and I pay for it) but there are some great free resources out there to see if its for you or not.


  3. Loving the geek blog.