A Dash of Game Development – 1. Introduction and Getting Started.


This is the first in the series of chapters that should get you started with game development. But before we begin, let me go over some mandatory introductions and how the following chapters will be organized. This is the first chapter and it focuses on what you need to know and what you can do without while following these tutorials. It also tells you the tool-chain you will be using to create a game explained in the coming chapters.

Though the following chapters are beginner chapters, they are not meant to teach programming. If you don’t have any experience with programming, I am sorry this is not the place to start. It is recommended that you at the very least have some understanding of programming. An advanced level of programming knowledge is not required. If you are not a programmer (yet), don’t worry, this is a good time to start. It’s not all that difficult. You can begin with some simple introductory material like the Non-Programmer’s Tutorial for Python or Dive Into Python then come back here and continue.

The initial tutorials use Python to introduce game development concepts. No, we won’t begin with languages like C or C++ and there is a good reason for that. Python is easier to understand than C and C++. It will get you into game development faster, allowing you to learn the process of game development rather than fight with language intricacies and unfriendly syntax. C++ will be introduced later and we will briefly discuss how to leverage the power of  C++ and how you can blend scripting languages like Lua and Python with C++ to get the desired performance out of your game.

All chapters follow a hands-on approach to game development. It is recommended that you write code as you go along with the reading. We will be developing a full game, albeit a small one — enough to make you understand what a game is all about. It should help you understand how modules of a game interact and what is it you need to do to write your own game, fast and simple. We will not be using a game engine per say, but we will be using SFML which stands for Simple and Fast Multimedia Library. It is a platform independent abstraction layer for graphics, input, audio and networking modules. The initial chapters use python bindings for SFML.

Later chapters also talk about art and art creation. Again, I am not going to go into details of art creation for games. I hope you take some time and familiarize yourself with either GIMP or Paint.NET if you want to create custom art. You can use the art from these tutorials just fine and that should be more than enough to get you through. Learning how to create game art is not really necessary for these tutorials.

There is no need for fancy IDEs or text editors. For Windows users I would recommend Notepad++ but your simple notepad, vim, emacs or whatever will do just fine. Most of the code presented will be cross-platform compatible and should run on systems where the libraries and tool-chain mentioned is available. Getting the code to work on Win32, Linux, Mac OS shouldn’t be a problem.

Tool-Chain:

More libraries and tools will be added to the tool-chain as we progress. For the initial few chapters, this is all you are going to need.

(A note on Python 3.x. As of writing this tutorial, there were some problems encountered while assembling a Python 3.x tool-chain. Many modules and libraries were not available for Python 3 or had to be compiled from scratch, leading to a lot of difficulties. Unfortunately I had to stick to Python 2.7, but I am sure porting code to Python 3 later on won’t be too difficult.)


One response to “A Dash of Game Development – 1. Introduction and Getting Started.”