Contents
I’m assuming here that you want to learn game programming. I have to say, you may get frustrated wondering why you are learning certain things but my end goal here is for you to become self-sufficient. This is important because otherwise you will only ever have one job. For instance, if you only know how to animate, you will only be animating objects rather than creating them. If you only know how to program, you will have nothing to do with the art process other than creating interactivity. So now you know why you should learn everything there is to learn about programming a game. Another thing I would like to get out of everyone’s mind is the falicy that there needs to be a billion other team members to work on one individual game. Also, the game you put your heart and soul into and make fun for yourself is the game that will make it big. Remember, people love indie games and some of these games make thousands within the first month of them being released. Don’t shoot for a blockbuster, shoot for what makes you happy – don’t just focus on the money. Things You Will Be Learning From Start to Finish
You are probably wondering why the hell you’d have to learn all this for game programming. There are a pretty good amount of reasons. For instance, in my case, this is the first stuff I learned in order to get me in the programming mind concerning organization and the process involved with getting something out there. Another reason to learn all this is that hiring a web designer and developer costs a hell of a lot of money even if they’re doing something simple. You could always buy a template but even that involves modification which means you will need at least a basic knowledge of web design and programming. There is also wordpress which is what I’m using right now that makes it possible for me to write this blog which you can modify to suit whatever your needs are. Not only that, if you make a game, where are you going to market it?
JavaScript is one of my all-time favorite web languages because this allows the user to make interactive and fun stuff just like Flash minus the fact that it runs a hell of a lot slower due to all the timers running and the missed events and garbage collection. This sometimes bogs up the browser if it’s not programmed correctly but I can show you how to get beyond all those things. JavaScript is a C-style language that allows an incredible amount of interactivity between the client and the browser. JavaScript can make sliding containers for your website, banners, clocks, and pretty much whatever else you can think of. JavaScript is considered a soft programming language because it’s, well, soft. It’s definitely not as hardcore as the other ones you’ll be learning but this one will really open up the door to the other languages. Once you learn one C-style language, all the rest are gravy.
PHP allows communication between the server and the web browser. This can create amazing things such as statistical data, charts, captcha, add the ability to log into a server, and so on. One problem a lot of people have with PHP is security and people always will have a problem with it no matter what. If there’s communication from the client machine to the server in any way, this can always be compromised no matter what people tell you. The idea is to stay ahead of the people that still live in their mother’s basement. I wish I lived in a basement. Another problem many new web programmers have to fight is the fact that JavaScript and PHP can’t directly communicate with each other. I will show you how to get beyond that as well.
Did you ever wonder where all that data is stored when people post something on a blog or log into a server? This is where it is and this is usually where servers are compromised because this is like gold to the Russians. MySQL is a very simple database language and you will be learning this from two standpoints, phpmyadmin and the client browser. The greatest obstacle you will have here is not with the language itself, but with designing your database. It’s fun, don’t worry.
We all know what Flash is and I was tempted to teach you all Adobe Director (Shockwave) instead because that’s 3D and uses Ageia PhysX but I decided to teach you guys something else that’s even better. So, Flash will actually be your first run-in with game programming and you get to use your JavaScript skills to make some pretty nifty web-enabled stuff. Not only that, but you can also combine your PHP and MySQL skills to make whatever the hell you want, as long as it’s in 2D of course. If you want to turn Flash into 3D stuff, you’d have to learn some awesome math. Don’t worry, we’ll get to that too. Combining all of the things above and you’re on your way to making bank, but remember, we have a goal in mind, and that’s to make an awesome game.
Normally I’d say just learn C++ but there’s a reason why we will also be learning C# and that’s because two of the game engines we will be using use C#. Both of these languages are incredibly complex and take some getting used to but there really shouldn’t be anything you can’t learn within a month or so. You just have to get used to the format and make sure you read every single tutorial I post. This will give you an idea of what can and what cannot be done in a game or for an application. Pretty much anything’s possible as long as the technology is there to support it.
Remember earlier when I wrote that I was going to teach you all how to use Adobe Director? Well, the reason why I’m not going to is because Unity is web-capable and can do much more than Director. Director lost its leeway on Flash because everyone had a dialup at the time Director made it big. You will be learning Unity, XNA Game Studio, and Unreal 3D. When I show you these engines, we will make the same game in each one, that way you can see the differences in all of them. Each one has its own unique beauty that I’m sure you’ll come to appreciate..
This is where the art comes in and this is by far the most difficult part of game development. Regardless of what people say, you don’t need talent – just practice. It takes a good deal of time and effort to ‘feel’ what something should look like and it takes a little, not a lot, of technical knowledge for certain things such as character rigging, animation, lighting, etc. Once you get this down, you are a god but I’d like to stress, you don’t have to be an artist to make a great game. Look at Soldat and Minecraft – the games lack an artist’s touch but it still has enough creativity and programming knowledge to make up for it. Plus, worst case scenario is that you can either buy models or download royalty free ones. These three applications will cover 3D modeling and animation.
Photoshop is one of the greatest tools out there for game creators. Add on to that the direct compatibility with MudBox, then you have yourself a winner. It takes some know-how to learn PhotoShop, but nothing the million tutorials on the internet can’t handle. Also, PS Extended can even paint on models. Depending on what I decide, we may use PS for that exact thing.
The great thing about audio is that you can buy, find, or create any sound effect you want with ease. Whether it is with a softsynth or a microphone, sounds are everywhere and mastering them is really not difficult at all. For sound effects, we will be using Sony Sound Forge. Music is a little different considering you need a way to compose it. Now, you don’t need to know how to play an instrument nor do you need to know notation or anything like that. All you need to know is how to use Image-Line Fruity Loops. Yes, people will laugh their way to hell when you tell them you use this because they’re ‘professional musicians’ but if you ever decide to look up some of the work done with just a computer, you’d be surprised that these people aren’t signed. I will show you the in and outs of this application and even compose a song specifically for the tutorials. Maybe we can even look through some of the great plugins that Fruity Loops has hidden in there. |