<<Previous Archive | Next Archive>>

Playing too much rpgs?

LX: need some more coffee
LX: got another coffee
Me: get-a-coffe-quest finshed +200 exp
LX: lvl up. caffeine resistance +1

How to play mp3, ogg, wav, mod and other sound files in Windows.Forms and C#

All the tutorials at the irrKlang page are using a console as example application type, because I thought it would be more simple to understand, but a lot of people asked me how to use irrKlang together with Windows.Forms. So here is a small example code, showing how to play back any sound file (mp3, ogg, wav, whatever) using irrKlang, in a small Windows.Forms application:

You only need to download irrKlang and add the irrKlang.NET.DLL file as reference to your project.

// Minimal Windows.Forms program in CSharp
// to play back an .ogg, mp3, .mod, .wav etc file:

using System;
using System.Windows.Forms;

namespace PlayerApplication
public class PlayerWindow : Form
irrKlang.ISoundEngine soundEngine = new irrKlang.ISoundEngine();
irrKlang.ISound currentlyPlayingSound;

static void Main()
Application.Run(new PlayerWindow());

public PlayerWindow()
// setup window
Button playButton = new Button();
Button stopButton = new Button();
playButton.Location = new System.Drawing.Point(48, 78);
playButton.Text = "Play";
playButton.Click += new System.EventHandler(PlayButton_Click);
stopButton.Location = new System.Drawing.Point(173, 78);
stopButton.Text = "Stop";
stopButton.Click += new System.EventHandler(StopButton_Click);

private void PlayButton_Click(object sender, EventArgs e)
// replace the filename with the file you want to play.
// copy the ikpmp3.dll to your bin\Debug (or working) path if you want
// to play back mp3 files

currentlyPlayingSound =

private void StopButton_Click(object sender, EventArgs e)
if (currentlyPlayingSound != null)
currentlyPlayingSound = null;

I really don't understand what the big deal is, it should not be that difficult. :)

Unusual delivery address

It's not like I'm living somewhere deep in the jungle, on a tropical island or on the north pole. No, I'm living in Austria. In the middle of Europe. But I'm tired of this:

"Dieser Artikel kann leider nicht an den gewŁnschten Ort versandt werden"
(= This article cannot be sent to the desired location).

Thanks Amazon.

Impostors in Irrlicht

Maybe you've seen this already, but something I personally like, Impostors implemented in Irrlicht, hundreds of quake 3 levels! :)

Bitplane wrote this and is still working on it, quite nice.

Prime number based encryption

Development internals: Darkness Springs internally uses a secure, prime based encryption scheme: Rot13. :D

Know Facebook? Know StudiVZ.

I thought I never used Facebook in my life before and that I could live without it. I am at least
registered at StudiVZ already, the primary social network in the german speaking area. And StudiVZ already sucks and is quite useless, so I thought after all the bad things I've heard of Facebook I really don't need to get in touch with that thing at all. But looks like I am wrong: Because I didn't see Facebook in my life before, I - as well as about 90% of all other users as well - didn't realize that StudiVZ seems to be a perfect rip-off of Facebook - so I kind of used it already. Hilarious, just take a look at the images, the only difference seems to be the color (red vs blue):

Facebook (up) vs. StudiVZ (below), (source)

People are reporting that StudiVZ has exactly the same features as Facebook, and some paths of StudiVZ's PHP based implementation even seems to be named 'fakebook'. Well, Facebook already sued StudiVZ because of this right now (well, the real reason is of course because Facebook still has only 1 mio users vs. StudiVz's 6 mio users in this area). StudiVZ already replied that they still think it's ok what they are doing. Nothing unexpected from a company who admonished other websites with the letters 'VZ' in their domain name for their 'mark' which wasn't even fully registered back then.

Unexpected Massacre Use of Realm Architect

Realm Architect, the editor of the rpg Darkness Springs is now public for one week, and people really use it. That's very nice. But interestingly, about 70% of all people simply use it to set up big massacre scenes which immediately start when the game begins:

That's strange, but well.. why not. :) Those realms usually get rated down quite quickly and there are already some few realms with more interesting content. Looking forward to more :)

On Job Interviews in Software Development Companies

I think I now have quite some experience with job interviews, especially since I am working as freelancer from time to time.
Of course companies usually want to get to know you before you start writing software for them and ensure that you are the right person for the job, and it is always interesting to talk to other software development people during this process. Interviews like these are of course a bit different to job interviews when you simply apply for a company employee job, but there are a lot of common parts as well. One recent such occasion reminded me on this blog post by Svetlin Nakov, a software engineer from Sofia.

Basically he describes his job interviews at Microsoft and Google, where the interesting part is the short Google part:

It was like Olympiad in Informatics. Google asked me only about algorithms and data structures, nothing about software technologies and software engineering. It was obvious that they do not care that I had 12 years software engineering experience. They just ignored this.(source)

And then he summarizes that working at Google probably sucks because Google seems to employ everybody as junior developer, ignoring any existing software development experience.

Well, google may actually not suck as employer, but the problem is that a lot of companies today seem to forget that the job interview process is not one way: It's not only for the company to see if the job applicant fits their needs, but it also serves the applicant to get a first impression of the internals of the place where he may be working from now on.

So basically, if a company asks me stupid questions and treats me as an idiot in the job interview, I might not even want to work for it at all because I get a very bad impression from this alone. :)

Defender of the favicon

Defender of the favicon is a game implemented javascript, and the whole game runs inside the favicon. Impressive. And somehow.. insane. :)

Another 'Vote now' call-up

Nothing extraordinary to blog today. Bored? Vote for my game, Darkness Springs. It's a german page but you only need to enter the CAPTCHA and click on 'abschicken'. :)

Max Payne Movie Trailer - Nice

The just released Max Payne Movie Trailer looks quite nice, in my opinion. In contrast to most previous screen adaptions of computer games like Doom, Wing Commander, Tomb Raider, Mario Bros etc, this trailer really reminds me on the game and even makes me want to play it again :)
And I hope those flying Angel things in that trailer are just imagination or similar..

Darkness Springs: Realm Architect now Beta

Darkness Springs: Realm Architect is the name for the role playing game's game editor, which is now available for public use.

In short, everybody can create own role playing realms with own quests, maps and stories with it, and make them available to everyone with one click, because Darkness Springs is running directly in the browser.
There is a detailed editor manual available if you are interested. And some people already started playing around with the editor, obviously. :)

And another great video...

Just found this one:

Well done!


Ok, I admit: I don't quite understand the world of today anymore. Maybe I'm getting too old? This time: Data protection officers. It is interesting that the government is saying it is upset and shocked that now nearly every website is using Google Analytics which puts Google into the position of being able to track the habits of nearly every individual surfing the web. But at the same time, the same governments are passing laws which put themselves into the same position or even worse: They are going to track every kind of electronic communication, not just web surfing.
Sounds quite schizophrenic to me.

Irrlicht Nominated in CCA 2008, vote now!

Irrlicht has been nominated in the Sourceforge.NET 2008 Community Choice Awards in two categories: 'Best Project for Multimedia' and 'Best Project for Gamers'.
As I said before, I don't think we have a chance against Audacity, Inkscape or ScummVM, but at least Crystal Space and Ogre are also nominated so we are in good company :)
Vote now!

How to defend against those CEO advertisers

If you have an average popular blog, you will start receiveing mails where people will offer you money to link their website and product. And if you don't want to sell links on your blog it is quite difficult to get rid of these people because they are really insistent. Ignoring the mails won't help (they will resend them), answering in a polite way like 'No sorry, I don't do that' won't help and insulting them doesn't help either I've been told (although I haven't tried yet). Telling them that they could use google adsense to advertise on irrlicht3d.org won't help as well, because adsense is JavaScript based and they usually only want to lift their page rank.

But recently, I read an article where somebody found a quite simple way out: Accepting the offer, but demanding an above-average amount of money. My result:

Have you gone crazy?..2000$ per month..Not intersted

-----Original Message-----
From: Nikolaus Gebhardt [mailto:niko ät irrlicht3d.org]
Sent: Friday, July 04, 2008 9:31 AM
To: scrubbed
Subject: Re: Request For Paid Links and Ads

That link, for six months, on every page of the blog at http://www.irrlicht3d.org, would be 6000 euro.
Best Regards,

Yay :)

Implications of searchable SWF content at Yahoo! and Google

Adobe announced yesterday that search engines like google and yahoo will soon index flash based websites, basically all SWF files. They don't say how this is going to work, but there are two options IMO: By extracting static texts right out of the SWF bytecode which they claim is already partially done by some search engines today or by running the SWF in a VM and analyzing the displayed content, probably also using the new built-in deep linking functionality of Flash 9.

Besides that this is bad news for end users because flash based websites are generally seen to be clumsy and this might encourage companies to create their websites in flash only now, it is catastrophic for flash game and web application developers if the indexing uses even partially method one: Content which is not ought to be seen might be exposed by those web crawlers, a problem also some websites are facing still today. In order to remove this danger, the only way is to use flash obfuscators with string encryption, such as irrfuscator (which I released in a new version with improved mxml support today btw).

But let's see how they are really going to do this. And let's hope the web won't be converted to Flash applications now because of this.

Just played Battlefield 2 in Real Life

I was quite busy last week, had a lot of work to do but also took an time-out to get away from the computer a bit. And what I did can be described pretty much as 'Battlefield 2 in real life':

(youtube link)

Yes, that's me in the video and I recorded, cut and uploaded it as well. And although I'm a pacifist it was really fun. :)