Devmania 2010

So, me and some teammates of mine from Incognita Studios were at the Devmania in Mainz, Germany this week-end.
What is Devmania you might ask? It is a get-together for german independent game developers which lasted about 24 hours beginning Saturday 2 pm local time. Besides having project presentations and talks they organisators were also hosting an overnight contest in which an entry had to incorporate the theme moonlight. We had about 18 hours to complete a game.

Read More

Merry christmas

I wish everyone visiting this site a merry christmas and a happy new year.

Umm, I forget to make a blog post about my game I made for Ludum Dare #16, so here it is:
Colonial Age

Description:
You control a ship and need to explore all islands on the map before the AI does.
You see that circle around your ship? Yeah, ok, good, that’s your line of sight, you see everything that’s in this radius,
everything else is darker and hiden from you.

Download:
Windows (3,7 MB)
Linux (2,8 MB)
Mac OS X (4,6 MB)
Source (2,3 MB + Images/Sounds included)

Platform specific notes:
Mac OS X: Universal binary, needs at least Mac OS Leopard
Linux: You need libSDL, libSDL_image, libSDL_mixer, libSDL_ttf and liblua installed as well the latest graphics driver for OpenGL support.
Windows: You need Visual C++ 2005 Redist because of the Lua DLL. (The necessary DLLs are included, just in case)

Read More

Using C-ish code in FreePascal

I really like the pascal syntax and I really like C# syntax, so how can I mix those two together? I wrote a parser which can manage that task.

The following snippet looks like a mixture between C#, C++, Objective-C and JavaScript:

namespace testunit;

@interface

using
  SysUtils;

type
  MyClass : class {
  private
    fMyString: String;

    void addMyself();
  public
    function addThat(): int;
  published
    property MyString: String get fMyString;
  }

@implementation

  void MyClass::addMyself();
  {
  	if (fMyString == "") then
  	{
  	  fMyString = "This is my string.";
  	}
  	else
  	{
  	  fMyString = "This is my new string.";
  	}
  }

  function MyClass::addThat(): int;
  {

  }

@end

Read More

About memory leaks…

There were a few memory leaks in the Elysion Frameworks. Well, “few” is clearly an understatement. Fortunately I found some code from the (old) ElysionSDL library on some backup DVDs and after a couple of days I was finally able to fix all memory leaks in the classes TelSprite and TelTrueTypeFont (and all derived classes like TelButton).

There a few things which are not working as I hoped, for example the VirtualClone procedure just loads the original image file now, because copying from an existing SDL_Surface gives for some reason unknown to me a null pointer.

I marked the Generate procedure as deprecated, it still works now, but in the near future Generate won’t exist any more and that code will most likely be moved to the Draw procedure. The reason is, ElysionKronos doesn’t need Generate and I’m trying to keep the Elysion Frameworks as much compatible to each other as I can.
If you want to try the Elysion Frameworks (it’s still not stable) check out the SVN repository on http://sourceforge.net/projects/elysionsdl/

On another note:
I’ve updated Cavern Defense to the newest ElysionLegacy version and also included a 64-bit Linux build. The Mac OS application is significantly smaller this time. (I inadvertently included debug SDL libraries in the last release.)
The download links have been updated.

Read More

Irrlicht for (Free)Pascal: First preview version

Here is the first preview version of IrrlichtWrapper for Pascal.

You need the Microsoft Visual Studio C++ Redist package, or you can use alternatively the MingW DLLs, but the MingW DLLs don’t have DirectX support. I translated six of the original 78 examples. It’s actually working pretty well, but there are a few issues:
- The wrapper supports only Irrlicht 1.4.2
- The particle system is not working, creates an AV
- Text output isn’t working correctly on Linux
- Mac OS is not supported at the moment (for some unknown reason I cannot create a dynamic IrrlichtWrapper library on Mac OS X)
Download IrrlichtWrapperPas (8,1 MB)

And here is a port of Frank Dodd’s IrrKlangWrapper for Pascal: Download here (1,1 MB)
It just features a few functions at the moment, but works on Windows, Linux and Mac OS X.

Read More