Posts Tagged starting point
Want to learn how to develop games…
Posted by Malcolm Micallef in Games, Guide on June 12, 2010
I original went into computing because I wanted to develop games. I have had this desire since I chose computer science in Form 3. I don’t even want to calculate how long ago that was.
During my studies I have managed to create some games for several different reasons. Most of the reasons were to learn a specific language or to learn new skills in that particular language. The first game I ever produced was a clone of master mind. I had created the game for my A-level practical project. I developed the game using the then antic Turbo Pascal; not sure how you would describe it now.
I had even developed a simple AI for the game so that it could have a single player mode. However, it was intended mainly for multiplayer support. Obviously I did not build any network support into the game.
I have built clones of many games. I decided to build clones and not original games for two reasons:
- No unique idea for a game (well at least anything feasible).
- Developing clones is the best way to learn basic and advanced game development techniques.
I have developed games on machines of all kind each with their unique challenges. One of my funniest projects involved developing a map for Enemy Territory. The map used the Sliema Balluta front as the war zone where the allies and axis team battled each other for gold. The map involved using a tank to blow up the doors of Ballutta church to gain access to the gold. This involved building a map which was capable of running on a Celerons which had 256mb of RAM and looking good on dual core computers with a stunning 512mb of ram.
I have even developed a game for my Symbian mobile. The game, named Speed Ball, was a single player version of pong. Imagine your pong paddle stuck in a 3 sided room. The object of the game was to keep the ball in this room. Every time the ball bounces off the paddle you get a point. The more points you get the faster the ball moves. Also once you get a high score the ball also stops travelling in a straight line. The game also had an online high score system.
Anyway now to the reason why I decided to write this article. If you want to start developing games I suggest you start making clones. Clones will allow you to learn the basic skills you will need to develop more complicated games. Each of these games come with their own set of problems.
One might ask what you can learn from developing a Pong clone. From developing Pong you will learn how to make graphics move on screen and how to update the screen. You will also be required to create a very basic AI and/or how to make a game multiplayer. One can then start adding advanced features to this game; such as developing a network enabled multiplayer system, etc, etc.
The list below shows the games (starting from the simplest to create and finishing off with the most challenging) that any budding game developer should really consider making:
- Tic Tac Toe – Simplest game to create and hence why the perfect starting point. This game involves very basic graphics and user interface development. What great about this game is that the user can really experiment with developing AI. One can create a very simple AI (random play or simply an AI that always blocks a winning move) to an unbeatable AI (MinMax tree to scripted moves).
- Who wants to be a millionaire? – User interface important in this. Also can be modified so that it works online. Developer has to decide on how to store and access the questions. A simple data file can be used but features such as downloading new questions from online and allowing users to contribute new questions into the game.
- Pong – Simple game to create. Allows you to create your first game engine. Teaches you to take user controls into consideration and graphics. Many AI possibilities and has room to grow as I explained before.
- Tetris
- Pacman
- Bomberman
- Mario
- Overhead shooter
As for a starting language anything really will suffice. Flash would make developing the graphics easier but I would recommend either C++, Java or C#. Using these languages you can learn skills which can be applied any almost any other language. The skills you will gain from using flash will not be easily transferred to other environments but Flash is a very powerful tool to develop games in. Most games online are created using flash and flash does run on all computers and most mobile devices (apart from the flash hating Apple products).
Recent Comments