Most developers need at least a basic understanding of some programming, even as an artist or designer. Currently, as a one man ship and future ‘director’ technically and creatively, it’s up to me to learn the industry skills inside out, at least to a semi-professional level. So I need to learn to program fairly sufficiently before I even begin coding for games specifically. Here’s my story so far. When I was younger, I began teaching myself C, in an attempt to make games. At that age I got distracted easily and gave up, but did learn a fair bit. Luckily for me, this year as a university fresher, my small module on computing was completely centered on C – easy credits there.
However, as popular as C is, I often feel like I’m programming with a dinosaur, and decided to check java out. For game development? Why? I’ll give a quick overview, and then detail my successes (or lack thereof).
- Java is one of the most popular languages at the moment
- It is considered fairly easy to learn
- It can be considered a good introduction to object orientated programming (OOP)
- More and more people are using it for games, and useful engines/libraries are starting to appear (eg. Jmonkey etc)
- It handles networking tasks well, all-important in today’s market
- The entire android framework runs off of it
I could go on. Of course there are disadvantages, e.g. that java can range from a bit to a lot slower than C++ and does not have anywhere near as many game dev resources available (which will hopefully change as time goes on).
So what do I have to say so far? Well unfortunately, not a lot. I received the java book I ordered (more of which when I have more to say about it) and started. The first few chapters seemed promising for me and I became very proficient at using the command-line (I’ve always been spoiled by integrated development environments (IDE’s)) and generally refreshed the things similar between java and c. For example, loops and conditionals really aren’t that different.
However, I’ve become rather unstuck, not so much with OOP in general, but more the things that java throws in with it. For example, exceptions, annotations, and so on. I’m sure the authors of the text I’m using want me to develop with these things in mind from the start, but I feel like I’m in the deep end at the moment. I am actually considering getting a new text, selling this one and starting over, as I don’t believe it’s as beginner-friendly as it stated. Sure, I have experience with c, but I’ve never dealt with classes before and as soon as you learn the terminology it starts throwing inheritance and the reflection API at you. There aren’t any exercises and I feel left in the dark a little, although I’m sure those with C++ skills already would love it.
As an enthusiastic newbie, I’m very keen to start some simple game work, so I’m not going to follow any text or course religiously. I think some work in OOP, threads, and the core utilities should put me in good stead. This is as long as I can find a text that actually teaches me some things. Then I’ll report back with some actual game dev news, and perhaps the beginnings of some tutorials. There will also be reviews on the way, once I actually get going. In light of this, the blog in general will take a detour from the programming aspect for a while.