jueves, 22 de mayo de 2014

Starting out

I've always wanted to make my own video games. For a long time, it just seemed like an impossible task, someting that only a few chosen people could undertake. When in my teens, I discovered modding, and designed a few levels for Doom, Quake and Starcraft, and I was satisfied with those. Further along I found out about RPG Maker (back then in it's '95 version, unofficially translated by a group called Kanjihack, if I recall correctly). I never finished a game, but I had a lot of fun with it, and understood a little more about the mechanics of game making.

A couple of months after I finished college, my laptop broke down, and my dad gave me a older, broken one. Well, not broken, but the hard drive had a few bad sectors, so you couldn't either boot or install Windows on it. Fortunately, I found a Linux distro that could be installed, a Linux Mint with a fluxbox desktop (don't ask me for the version, I can't remember). With that laptop there was litte I could do besides surfing the web and watching youtube videos. The only games I could play would have to be DOSBox-emulated old games, or Linux ones, which were very few back then (Nexuiz was too much for that old thing, and I never was much into shooters). So, I got a new hobby: programming.

I had some basic programming skills I learned in middle school and high school, in QBasic and Visual Basic, respectively.  Since I was now focused on video games, I searched the web for a language that was better suited for such an endeavor. After a while, I stumbled upon SFML and C++.

Now, many people will tell you that C++ is a bad choice when starting out in programming. I would have to both agree and disagree on that. I agree because it can very easily scare away beginners, and it will require quite a bit of patience and work to get the most basic programs working. But I disagree because it taught me a lot of programming concepts that I wouldn't have grasped if I had started with an "easier" language. A very specific example would be variable type. If I hadn't gone the C++ way first, I wouldn't understand why I can't do this in Python:

number = input("Write a number: ")
print("That number plus 2 is: " + number + 2)

But thanks to my previous experience, I knew that 'number' was actually a string, and you can't use it as a number. The Python documentation does indeed address this, but as a beginner, it's a mistake that can take you a long while to find out.

 So I made a couple of simple programs with SFML and got the hang of C++, and afterwards went on to try other languages, first C# with XNA and then Python with pygame. And then I had to stop. Just as I was gaining some momentum, my life started getting busier, and programming as a hobby was no longer viable.

Now a few years have passed since then, and I want to start again. The purpose of this blog is to let anyone with an interest in game programming see how I set my goals and tackle problems as they arise. Beginners can learn new techniques and ask any questions if they have them, and veterans can provide their insight as to which way to solve a problem is better.

I will start with some basic programs, and then work my way up to visual games, in order to reacquaint myself with programming and with the Python language (my choice for this project). This isn't going to be structured as a tutorial, and isn't meant as one, but do feel free to ask questions.

I hope to gain some readership soon, so if I anyone's reading this, see you around!

No hay comentarios:

Publicar un comentario