GLFW for Object Pascal

GLFW is a platform-independant framework for OpenGL applications written in C and quite similar to SDL. Back in 2007, the latest version (2.6) of GLFW has been released containing a (deprecated) header file for Delphi. Unfortunately, it hasn’t had FreePascal support and only worked with Windows.

A few days back the question has been raised in the Pascal Game Development forum if it is possible to use PhoenixLib or Andorra2D on Mac OS X, both engines can be used with GLFW as a backend. I took the time to add FreePascal support to glfw.pas and ensured crossplatform-compability. I also replaced the old OpenGL header with the latest header from dglOpenGL and modified slightly it to work with GLFW. While I was at it, I updated the glfw.pas header version from API 2.5 to 2.6. It took a bit longer than expected, but after all it was not that much work.

Download here (2,4 MB; contains examples Triangle + Mipmaps with binaries and source)

Patch files here (7 kB; if you already have glfw.pas and dglOpenGL.pas installed on your system and you just want to apply the changes)

I contacted the maintainer(s) of GLFW, I haven’t received an answer yet, but I think if they find it useful it could be part of the next release. I certainly hope so.

Update: As of now, I am the offical maintainer of the Pascal bindings.

Read More

Play The City

I would like to share with you guys what I’ve been doing the last few months and why I didn’t participate in a few competitions like Game Jolt Shocking Contest or Mini LD #10.

It all began two months back on May 20th in school when a few volunteers including me were introduced to the idea of a business game. The goal was to develop a business idea within eight weeks with a seed money of only five euros.
Our idea: An educational game about a city. We choose Augsburg (a nice city in Germany), it was an obvious choice, because we all (our team) are studying at the university of Augsburg.
And on top of all, we won this business game. *YEAH*

Read More

Elysion Frameworks API changes

Yesterday I commited some changes to the Elysion Frameworks SVN on how to API looks like now. The two biggest changes:
TelSurface is now a singleton: This is because SDL 1.2 supports only one surface with video information. It seems logical to transform it into a singleton. This has another advantage: The whole Assign(Surface: TelSurface) procedures which kinda annoyed me are gone now.
Objects’ Getter and Setter methods are now private. Access to them is provided through published properties.
There shouldn’t be any other API changes before it’s a stable release, right now I’m cleaning up the code and documenting it.

Read More

Beta release: ElysionLegacy “Apollo”

Well, it’s not quite the stable release I had in mind being a perfectionist and all, but I’m confident it will be at the end of the month. Following features have been added:

  • TrueTypeFont support (in class TelTrueTypeFont; class TelFont is now TelBitmapFont)
  • Play sounds and music (OGG, MP3 and WAV are supported)

Download here: ElysionLegacy.zip (ZIP, just the unit itself and header files, 292 kB)
For examples or more information have a look at the SVN.

I’m gonna use this to participate in the Mini LD #9 which begins in a few hours.

Read More

Sneak peek on Elysion Frameworks

What are the Elysion Frameworks? It’s a cross-platform wrapper based on SDL (and OpenGL) I’ve been working on since Summer 2005. When I began I felt there was a need for a 2D library where pictures could be sorted via Z coordinates, nice particle effects,  lightmaps and what not. I even created a nice little empty sourceforge site for it a few years ago where you can download a really old version.

What changed now? First of all, besides the name change, Elysion Frameworks is splitted in three branches:

  • ElysionLegacy: Based on pure SDL with no OpenGL hardware acceleration the purpose of ElysionLegacy is to make a prototype or a small not very feature-rich application/game with the possibility of converting it later to ElysionKronos  without changing a single line of code (Progress: Pascal port: ~ 80%; C++ port: ~ 33%)
  • ElysionKronos: Much more sophisticated than ElysionLegacy and uses OpenGL featuring lightmaps, Z sorting, camera management, particle effects and all the good stuff. (Progress: ~ 20%)
  • ElysionMobile: Specially designed version for mobile devices such as GP2X. (Progress: ~ 2%)

Click on the flash movie to play it. As you can see, the frame rate dropped from Five-hundred-something to about 270 when I recorded the screencast. I never had this much frames under a Linux system, so I the performance issues are gone now.

Read More

I keep falling back to Ubuntu

Yes, it’s that time of the year again where I try different linux distributions from distrowatch. My hardware is somehow special because my primary development system is an Apple MacBook 3,1 Core 2 Duo with Intel GMA X3100 graphics.

GNOME is a must for me. First of all, I really like the GNOME desktop environment (as long as I get to use a fast computer with a lot of memory) and I’m using DropBox which only works with nautilus. (Yeah, I know, I could start the daemon manually, but I don’t want to.)

On another note: I’ve been using DropBox for about two month now and it’s absolutely amazing. For those of you who doesn’t know what DropBox is: It is a tool which sychronizes data between different systems (Mac, Linux and Windows are supported). Before DropBox came along I used an USB stick and that was kinda annoying because I had to check which files where up-to-date and which were not. And DropBox does that automatically.

Read More