Day 1 - Preparation

Objectives

  • Choose a development language and IDE
  • Choose a graphics library
  • Create a first project

Development language and IDE

As I am an avarage .NET developer and currently using C# as the main language for development, I will be using it also for this tutorial. The IDE logically follows: Microsoft Visual Studio 2008. For the hardcore JAVA developers amongst you, I will mainly focus on the agile development techniques rather than the language being used, so there will be plenty of usefull information available for you too. At least that's what I hope. In some cases I will even explain some stuff through UML diagrams, which is totally language independant. My ambition is to create the same game in JAVA with a minimal effort, after this tutorial is completed, just to show that language doesn't really matter. My ultimate ambition is even to use a MDA tool like AndroMDA to make it even more generic. Let's start with the start and begin simple…

2D Graphics library

As I don't intend to reinvent the wheel, I will be using open source libraries whenever possible. SDL is a crossplatform multimedia library with lots of ports to different languages (C# is one of them), and I will be using it for my game as many others did before me.

Homepage: http://www.libsdl.org
C# Port: http://cs-sdl.sourceforge.net
Great tutorial: http://www.geocities.com/egon_rath/sdl/sdlnet.html

First Project

As I don't know how I will layer my application yet, I will create one project to start with. Later on, I will obviously add new assemblies to make the application more structured as I refactor my code. Also a testing assembly will be added when I introduce some unit tests. One thing I learned from my 3 years of professional experience though, is not to write something until you really need it. Agile development is really about creating something that works in a short timeframe, but wellwritten, so that you can easily refactor your code when needed.

That being said I open my favourite IDE and create a new solution with the name, you guessed it right, Bejeweled. The first project inside that solution is given the same name. I selected the 'Console Application' template for this, as the SDL library will take care of our GUI.

create_solution.jpeg

After I downloaded and installed the C# port of SDL from the sourceforge website, I can now reference the SDL library into my project. After that the empty project structure looks like this:

added_sdl_reference.jpeg
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License