Christmas has come and gone, and with it brought an interesting tome my family got for me all about the in's and out's of game programming. A 900+ page, easily 3-inch thick book full of tips, tricks, and enough code to make your eyeballs get close to falling out of your head. Yet, this is likely only the first of many such books I'll end up reading to learn this trade. Nice of reality to come knocking on my door isn't it?
I'll admit at first it was a bit overwhelming. I never expected such coding to look as alien to me to be perfectly honest. But it made me realize how simplified things had been made for me by using the design programs I have been tinkering with since late October. Only now, at the turn of the new year, am I getting into the thick, juicy meat that is honest to god game programming source code. The book in question, Game Coding Complete Third Edition by Mike "Mr. Mike" McShaffrey (who helped design games such as the Ultima series and Thief: Deadly Shadows), has proven to be a rather interesting read. While I'm not very far in yet already am I starting to get an idea of what I'm looking at in the future. This isn't your mother's homemade recipe cookbook kiddos, this is the ugly painful truth about how difficult it is to tackle a beast such as game programming. But that being said is by no means impossible, you just better be prepared to work at it. With this in mind I've dived headfirst into the wild waters, determined to learn how to swim.
The book itself apparently has a heavy Win32 bias, and involves the use of C#, C++, and DirectX 9 (from what I've read so far). Then it occurred to me I already had these tools from things I had obtained and installed. DarkGDK, DXGDK, Microsoft Visual C++ Express, these were all free and easy to install. But what about the other programs I have? RPG Maker VX, FPS Creator, and DarkBASIC Professional? Well, I figure once I learn the heart of the coding that went into these, I could get even more use of out of them. Each game design engine, program, GDK, and source code has it's own uses. I don't have to be tied down to anything specific, and as an independent developer I can work with older technology and move up as I become more familiar and comfortable with my skill. The big name developing companies are the ones that have to keep with newer technology and adapt rapidly to meet with consumer demands for the next big title. I'm am fortunate enough to not have this problem as it stands.
Thus my journey shall continue. The learning of a new language, the extensive practice of assembling and compiling code to create new things. It's exciting, and yet at the same time horrifying in it's own right. I'll just have to make sure my determination doesn't falter.
Monday, December 26, 2011
Friday, December 2, 2011
I find it a peculiar world we live in sometimes. There are times when you find something really exciting and enjoyable, and you start to gain this rush of emotion. For me, that was my first ever steps into game creation. I'd be willing to bet everyone has such an experience at least once in their lives when they start on a project. Then as they make progress, they gain that sense of self-accomplishment. That feeling of "hey, I did something, and it was awesome" which everyone enjoys. Then you take a step back past your own cheerfulness and look at the experiences of others when it comes to the same thing. Sometimes others share your experience and excitement, but other times you find some people are surprisingly negative.
To be a little more specific, I am mainly referring to a type of software that makes it easier for ordinary people to learn how to design and create their own video games. Programs such as RPG Maker VX for instance, which is widely popular for it's flexible scripting language and easy to use interface for making all sorts of 2D Role-Playing Games. In fact, I wound up jumping on the bandwagon and have been using it myself. But as I looked around on the vast internet I found opinions were rather a tug of war. But it's not just regarding this one program. Another one I came across called Realm Crafter, which is designed to aid people in creating Massively Multiplayer Online Role-Playing Games (MMORPG), shares a similar barrage of insults.
I can't help but find it interesting how some people out there feel the need to belittle others for using such programs. From everything I can tell, these were designed to give people the chance to really create something they could enjoy with family and friends, or even complete strangers. These programs exist as starting steps for people who want to really take up game design either has a hobby or building experience towards making a career out of it. However it seems a fair amount of people have come to believe that if you use such a program with all it's included models, scripting, and other resources, that you are simply looking for the instant-gratification route.
While it is true some people can, and sometimes do cobble together a game in the span of a few days or a week, it doesn't necessarily mean that's a bad thing. Such games are often designed for practice or just simple fun, but never would I suspect someone is out to purposely upset others by creating a quick and simple game. In fact, when I first started out I spent the first couple of days making a small game where you went into a dungeon to defeat the King of the Demons. It was just a silly test game to get myself familiar with the functions of the program and learn how make my next game even better. There is nothing wrong with practicing with what is already provided.
As many game developers I'm sure would probably say, it takes time to really make quality work. Making your own scripts, models, sprites, voice overs, and so on takes a lot of work. Not only that but if you lack a team with the skill sets to do all of these things, you essentially have to take the time to learn how to achieve them on your own. We've all seen how differently one person learns compared to another. Forcing the expectation that someone should make quality work every time is just unrealistic. Learn to appreciate the fact that some people have limited skills and resources, but at least they took the time to try and make something neat even if it's not the most cutting-edge game you'll ever see.