Friday, February 29, 2008

[gamedev] Don't do it!

I just came accross this 'Why you should not do an MMORPG' page: I think it is really worth a read for anybody planning on doing something like a massive online game.

The main reason is that I strongly agree with the bottom line: It is a lot more fun to actually engage in smaller projects that you can hope to finish. My very first game project was very ambitious - of course I did not realize that at the time. Even now I just could not do it unless I stop doing anything else for 4 years :-) (and find some good artists to help! ;-) ). Now, note that I learned *a lot* from it, so I do not regret a single second the time I spent on it. But it would have been even more fun to have a game in the end. I am definitely not saying hobbyists should not engage in crazy projects - it is amazing what someone determined can achieve with a lot of work. So if you feel this is what you should be doing, just do it.

However, if you are beginning in game programming you should definitely start with a first small project. Just to experience how great it feels when your game is finished, when you prepare this final zip that will be available for download on your web site, when you receive first comments from players (typically bug reports ;-) ). Sure, plenty of people will tell you 'your game looks ugly', 'it's been done before', etc ... But it will be your game, your creation, your contribution to the ocean of 'fun time wasters'.

I recall when I did my first game. It was a Breakout game. I worked very hard. I was very proud. Nobody was impressed. The number of time I heard 'Why are you doing that? It's been done before!'. Hell ... not by me! But then, as you make more projects, as you gain experience with your game development skills, you'll start to make more impressive stuff. And then you'll realize it's not about being impressive. It's about making something fun. And this is where it starts to be both easier and more interesting :-)

Anyway, I agree with this web page. I know its right. I know I shouldn't. I am still working on this MMO game project ;-)

Sunday, February 10, 2008

[dev] Tile based world

Here is a screenshot of my 'tile' world editor. Its written in C#. The tiles are Danc's free tile set (many thanks to him!).

I am sort of planning to use this for my next project - which is supposed to be a networked game ...

Anyway, making such an editor is a very good exercise, highly recommended! (I am new to C#)

Thursday, February 7, 2008

[opengl] gluX

After a couple years without any improvements (I had a long DirectX period :-) ) I finally updated gluX with latest extensions (which only required running the perl script on the new header files!). I also added a mechanism to automatically load extensions on first function call (Thanks to Xadec for suggesting the idea a long time ago). This simplifies using gluX, even though it is less 'robust' than declaring used extensions - if an extension is missing the program will exit on the missing function call. But of course both mechanisms are available and can work together!

gluX is here!

Tuesday, February 5, 2008

[dev] CEGUI

I finally took some time to look into CEGUI. This is a great library! Exactly what I was looking for: It provides a very well designed API to build GUIs, using any renderer (and of course OpenGL and DirectX are among them). I did, years ago, spend some time designing a GUI, but I am really happy to take this load of my shoulders now :-)

It really wasn't hard to compile and use it. Let me give a few hints for those who would like to start using CEGUI with Visual C++ under Windows (and with DirectX).

All downloads are on:

I had to recompile CEGUI since the precompiled binaries did use a version of DirectX older than the latest available. And anyway, it is good to have the source code on hand, as it acts as a good documentation :-)

  1. Download the zipped source code and the precompiled external dependencies (available for all three versions of VC++ - nice!)
  2. Uncompress everything in a same directory.
  3. Follow instructions on
    Yes, you need premake, it will generate the "*.sln" projects in makefiles/premake. You have to enable DirectX support by editing "config.lua" and setting "DIRECTX9_RENDERER = true". Then launch "build_vs2005.bat", open the VC++ project and compile. Also generate the samples project with "build_samples_vs2005.bat".
  4. To run the samples, copy the DLLS from lib\ into bin\. I also had to copy datafiles\ into the root of my CEGUI install to be able to directly launch the samples from bin\.

Now a couple links I found handy when doing my first steps with CEGUI:

But of course, the CEGUI Wiki contains a ton of useful information!

Monday, February 4, 2008

[math] Markov Random Fields

A very nice intro to MRFs: I needed to refresh some notions on MRFs and found the introduction chapter of this book to be extremly clear.