1. Technology

Delphi Game Development Scene

Developing Great Games In Delphi? More Than Possible!


If we look at the Delphi history, it appears that every new version of Delphi has always been introduced using slogans like "easy database development" and "internet the easy way" or alike.

You might think that Delphi developers are only coding database applications, web aware applications or system tools.

I've never read a line stating something like "Delphi can do games". You might think that developing games is for fun only and that developers are wasting their time while they should be coding real-world applications.

It seems to me that games as software programs / applications have always been put aside (from a Delphi developer perspective) - something only to be done only for fun and that there's no value in developing games.

Yet, if you look around yourself and visit the Android Market (by the way, the new name is "Google Play") or Apple App Store you'll note that today's "real-world" applications for the large market are games! I would say that one of the reasons of Facebook success were games, again!

Can Delphi Do Games? Can You do Games In Delphi?

Yes it surely can. Every Delphi comes with a bunch of sample applications - and some of those ARE games. List includes: Delphi Blocks (Tetris clone), Delphi Meteor (Asteroids clone) and Bug Swat.

Ok, those are not the shiny-looking-awesome games you would look for using your Tablet or IPad on the mentioned markets, but they are here and can act as a starting point for you to start learning what game development is.

There are more games (including source code) you can find online that were build using Delphi, including: The Tic Tac Toe Game, Sokoban or Minesweeper.

Game Loop

If you decide to try out game development in Delphi you would certainly need to read lots of general game design articles and most of those would start explaining what a so called "game loop" is.

The game loop, from a programming point of view, is the main coding block of a game application. Never mind what the game is about, a loop looking for user input, answering that input, drawing graphics and alike are always part of developing a game.

Certainly, the complexity of the game loop (or loops if multithreading) depends on the type of the game you are up to, but we can say that it boils down to:

while not-finished
  get user input

  do AI, move players, check collisions, ... 

  draw the (new) screen

  play sounds
end while

Delphi Game Development Arena

Finally, when you decide game development is your next big adventure, you would be looking at some Delphi specific resources dealing with game development.

Never mind if you are up to simple games like platform, maze, arcade games or if you want to create a (better clone) of Battlefield

Pascal Game Development is all about programming games using Pascal based languages (including Delphi, Lazarus, Free Pascal). This (forum style) site features lots of articles to help you start developing games dealing with AI, graphics, sound, physics and math, user input and alike.

Delphi Gamer acts as a show case for games featured on the Pascal Game Development site. Delphi Gamer lists high quality free and/or commercial games.

Delphi Game Dev looks like it was not updated for some time. However, lots of tutorials there to get you started with animation, handling mouse input, some intro to DirectX programming and alike.

Delphi Game Development Libraries

Of course, you would want to make your life easier by not starting from scratch - you would want to check out some of the libraries developed specifically for building games.

Asphyre Sphinx is a framework for developing 2D/3D video games and interactive business applications. It aids the developer with resource management, displaying 2D and 3D graphics in real-time, receive keyboard, mouse and joystick input, and multiplayer capabilities.

glScene is an OpenGL based 3D library for Delphi. It provides visual components and objects allowing description and rendering of 3D scenes in an easy, no-hassle, yet powerful manner. GLScene allows you to quickly design and render 3D scenes without having to learn the intricacies of OpenGL, if you know how to design a TForm, you'll easily master the basic operations of GLScene.

There are more, but I'm counting on you to let me know what are worth mentioning here :)

©2014 About.com. All rights reserved.