Google+

Wednesday, August 3, 2011

Let's Make A Game! Episode 2

So if I'm going to make a game, one of the first things I have to sort out is what method I'm going to use to make it. I've settled on a couple of options as to the tools I can use:
  1. Game Making software, like GameMaker. An interesting solution. You can do some really cool stuff with GameMaker. For what I want to make it might be the easiest to learn, but it's also one of the least portable. It's Windows-only, and there may be some licensing restrictions in there. It also wouldn't help me learn actual programming skills, which is kind of what I'm shooting for
  2. C++. Everyone tells me that learning C++ is a byzantine mess. You need a steady hand and a firm guide. Plus, the amount of knowledge necessary to make a game is crazy, especially considering that I don't want to build crazy first-person wall-hugging simulators with bump-mapped textures and whatever else. In my mind, learning C++ would be like bringing a shotgun to a snowball fight- overkill.
  3. Python. The most recent Civilization games are made with Python. Some people think that Python is ridiculously awesome and can do everything you want it to. That may be so, but it appears to be good language to use if you already know C++ and just wish it was simpler.
  4. C# with XNA. XNA is designed specifically to make games. XNA is designed to be portable to the 360 and Windows Phone 7, as well as Windows itself. The recent hit Terraria was made with it. If we're using the snowball fight analogy from before, XNA may be akin to a laser-guided snowball-firing sniper rifle. It's possible that it'll do exactly what I expect it to while providing me a good foundation for other types of programming, including C++ and Python if I choose.
I think you can tell which route I'm leaning towards. C# with XNA it is.

As far as art and music, I've decided to make the art and music myself. Whatever game I choose to make will be in the style of an 8-bit game, so it won't be crazy-difficult to make the art. I learned the principles of music at a young age, so the music shouldn't be terribly difficult. I've decided to use FamiTracker for the music because of its ability to do exact replicas of the the NES sound chip and have found it incredibly intuitive to use so far. I'm going to use Photoshop for the sprites, just because I know Photoshop reasonably well and can manipulate it pretty easily at this point.

I'm going to try and be humble, as well. If someone has a better method of doing something, I'm going to use it with their permission. If someone made a really easy way to put together levels or whatever, I'm going to use that as well. However, I'll want to analyze WHY their code does what it does so that I can gain a better understanding of the underpinnings of the language.

With all that being said, if you have a programming horror story, words of encouragement or even words of discouragement, send them my way. I really want to know what people think of what I'm doing here. In the course of making my game, if you see me making a huge mistake, scream it at me. If you want to lend me a helping hand, it's entirely welcome as well.