Getting Started On Game Development

programmer I can still remember when I was little, I would sit around with my childhood friend; and with pen and paper, we would draw schematics for all sorts of games that we would have loved to play. With fluid imagination, we could easily conjure up thousand of game ideas for platformers, strategy, RPGs, and such. I remember once we even created this RPG game that used Nerf guns as weapons. We drew a whole world and populated with towns, characters, merchants, and various objects used in the game. After we felt it was completed, we sent our idea to Sega and, as kids, we were fairly confident that they were to take our awesome idea and form it into a playable game. They never responded, and our dream of game development slowly faded away with adolescence.

I’ve always wanted to develop games, but my naivety made me feel that creating a game required special knowledge and programming skills that are far beyond the realm of a mortal beings. I picked up programming during my early college years but it wasn’t until a year ago that I’ve actually considered creating a game. I am by far not a professional game developer, but I can tell you how I personally started making games and how you can begin to make your own games.

Learn to Code

First thing is first: you absolutely must know how to code if you plan to develop a game. It is nearly impossible to create a fully functional game without writing a single line of code. Sure, there are GUI-based game developing software such as GameMaker, but even that requires some lines of code to get it working. There are others such as RPGMaker that can be used to create an entire RPG game, but requires scripts to handle events. But my gripe with most GUI-based game development software is that it is virtually impossible for it to be flexible enough to create any game you want; you will be confined only to their development framework and you will definitely be limited. Wouldn’t it suck to have to alter your vision just because this software doesn’t have that feature?

Bottom line is, if you want to have full control and flexibility in creating your game, you are going to have to learn how to code. But let me tell you, it’s not that hard, it just requires time to dedication to develop the skill.

The Mighty Python

If you are a beginner at coding, I believe Python is the right language for you. It is very intuitive, great for beginners yet powerful enough for even the most gangster programmer (Google uses Python). It is the Zen of all languages. It eliminates all the boilerplate bullshit that plagues languages such as C/C++. Plus, there are several wonderful documentations online (Beginner’s Guide to Python) to get you well-acquainted with the language.

Pygame

However, Python is only a language, you need an API that can actually do game shit such as drawing your sprite images, handling user inputs, sounds, etc. If you are developing in Python, I believe Pygame would be the right API for you (I personally feel that it should have been called PySDL, but that’s for another day). Pygame has great documentation that can get you started on creating your first small game. PyMike also great tutorials on his site, and I also suggest you to download and read his code.

Programming Tips

The best tip anyone can give you when you first begin developing games is: start small. This is very important. You see people all over game-dev forums telling beginners to just start by creating a simple tic-tac-toe or tetris game. Yes, I know that we all have that dream of creating that mind-blowing game with an epic story and endless number of gameplay features. But the truth of the matter is, you will be so tied down in to all the minute details involved with learning the game development environment that you will quickly become discouraged. So please, start small. Then after you have a good feel for the process of making a game, then you can scale upwards.

The second tip is for any game programmer is to master object-oriented programming. This idea of everything being an object is never more pertinent than it is in game development. This is because everything in a game is an object: the characters, the objects, the scene, the interface, the NPCs, etc can all be abstracted as objects.

Also, the idea of polymorphism is also very important to master. I will not go in depth into this because there just so many articles online that talk about OOP/polymorphism as well as their importance.

Anyhow, the journey of learning how to make a game requires a lot of dedication and persistence, but the thing to remember is, don’t give up. Just like how Rome wasn’t built in a day, your game also won’t be built in a day, unless you smoke crack (yes, you). So just stick with it and feel free to email me if you have any questions.


Subscribe to comments Posted on 02.10.09 to Game Development, Thoughts by Eddie
Post Tags:

Browse Timeline


Comments are closed.


© Copyright 2010 Illogic Tree | "Modicus Remix" by Zidalgo | Log in