Have you tried turning it off and on again?

That was the solution I was offered by customer support regarding my DSL problems. And you know what? I actually hadn’t. So I felt like a real git when it turned out that power cycling actually fixed it.

Reboot Me!

At this point, let me say something positive about Alice DSL customer service. They get a lot of bashing, but in my only encounter with them, they’ve been nothing but polite and professional. I got past the first level guy really fast, to a technician who obviously had a script that catered to a lot of configations: “What version of Windows do you have?” “Do you see more than 10 icons in the control panel?”, etc. are very good questions.

You get an extra brownie point for recognizing the quote.

Piracy & PC Games

I wish I could have put it as eloquently as the author of this article.

If the target demographic for your game is full of pirates who won’t buy your game, then why support them? That’s one of the things I have a hard time understanding. It’s irrelevant how many people will play your game (if you’re in the business of selling games that is). It’s only relevant how many people are likely to buy your game.

In other software markets, getting 1% of the target market is considered good. If you need to sell 500,000 of your game to break even and your game requires Pixel Shader 3 to not look like crap or play like crap, do you you really think that there are 50 MILLION PC users with Pixel Shader 3 capable machines who a) play games and b) will actually buy your game if a pirated version is available?

By the way, Sins of a Solar Empire looks like a really great game. Put it on Steam and I’ll probably buy it.

Anarchy Online: New Engine.

New Engine (Alpha)

Funcom released a first preview video of the new rendering engine for Anarchy Online this week. This makes me proud and happy. I lobbied hard internally to see this project worked on, and after getting it approved and doing the initial research and test implementations, Osman took over and has done a tremendous job on it.

read more | digg story

The Programming Challenge: Pacman!

The follwoing is a competition in speed-coding. Your task will be to implement a Pacman prototype. Mind you, not the entire Pacman game.

Your prototype game should have the following features:

  1. display a pacman level (one is enough)
  2. let the player move pacman around (keyboard input is enough)
  3. move 4 different-coloured ghosts around, and let them pick new directions when they get to an intersection.
  4. eat dots, and finish the game if you ate them all
  5. eat pills, and afterwards be able to eat ghosts for some time
  6. animate pacman and the ghosts,
  7. draw ghosts differently when pacman can eat them.
  8. pacman dies when he collides with a ghost and isn’t “on the pill”
  9. ghosts disappear when pacman is on the pill

Everything else is unnecessary. No need to count score, no need to make the ghosts smart, resurrect dead ghosts, implement fruit, death animations or any other UI. No sound required, either.

You are free to use any language you like, on any hardware and with any library that is convenient. There is a set of assets you can use that contains some bitmap sprites and the level data. You may modify these assets as much as you like.

Assets in this zipfile:

  • pac.bmp, 3 sprites that make up pacman’s animation in one direction
  • level1.bmp, this is how the level should look.
  • levelsprites.bmp, 8×8 sprites that the level is made of.
  • ghost.bmp, a ghost moving in four directions (see eyes)
  • frown.bmp, ghosts that can be eaten
  • level1.dat, the 28×32 cells that make up the first level. each cell is one byte containing an index into levelsprites.bmp, and they are written row by row from top to bottom

To win, you must be the first person to email me a .zip file containing the source, assets and compiled executable (if you’re not using an interpreted language) of your prototype that fulfills all the requirements above.

Optimization potential

The battle in Partôr during week 510 provides an excellent opportunity to do some profiling on Eressea. The whole turn took at least twice as long as usual, and gprof blames a single function for it. I knew this function was bad. The problem is, it really needs to be called this much.

I looked really hard at the usage pattern for the function this morning, and I think I can build a small cache with some information and reuse it for subsequent calls. Anyone dying in the battle invalidates the cache, but still, I figure I might be able to save some 75% of the actual work. Man, I’ve looked at this one at least twice in the past and never seen this!

[Listening to: Battle 22 – Ugress]

Continue reading

Games written in D

ABA Games (aka Kenta Cho) makes some really cool old-skool games. Great music, fast action and seriously, what’s not to like about these graphics?
I had almost forgotten how cool these games are. I used to play Tumiki Fighters a lot while waiting for my compiler to finish, but not since I last changed projects. Now last night lanwin talked to me on IRC and asked me about the D Programming Language and it triggered the memory, so I downloaded that and a couple of other games. Looks like Kenta Cho has been productive, and there’s a lot more goodness on his site than I remember. Torus Trooper looked great, but they all have that Zen-like scrolling shooter feeling with lots of bullets everywhere.

Link for a list of the games I’m talking about.

PC Flashbacks: A20# and more

Michael Steil explains the XBOX security system. An excellent description of the obstacles Microsoft was up against, the ways they failed, and a good demonstration about why a) security is hard, and b) PC hardware is a bitch.

I sent this to Udo, and his comment was

SUPER SUPER COOL. A20# Gate. When we were young. Although the hardware hack is really cooler, but the software-hack is more straight-forward. Funny, funny.

I knew he’d get a kick out of it. The A20# hack is just such a wonderful relic from crazy times.

[Listening to: Erebus (piano) – Andrea Baroni – (3:23)]

Verbieten! Alles verbieten!

This is a hot topic in Germany, so I’m posting in German for a change.


Sind jetzt alle verrueckt geworden? Die Mehrheit der Deutschen ist also fuer ein Verbot von ‘Killerspielen’. Gerade mal 22% der Bevoelkerung sind der Meinung, dass wir als Gesellschaft muendig genug sind, um ohne weitere Verbote auszukommen. Und das, obwohl Deutschland bereits eiens der Laender mit den schaerfsten Jugendschutzregeln ist.

Continue reading