No climbing today, and slow progress on the game

The Plan™ was to go rock-climbing at Hauktjern today. Friday was a beautiful day in Oslo, with sunshine and temperatures in the 20’s, but of course it was also a working day. Today was rainy and 10 degrees. On IRC, all my friends back in Germany complained about the heat and humidity. It just isn’t fair. And climbing tomorrow isn’t very likely for all kinds of other reasons. Maybe Puerto Rico, though.

So this should have been a great day for working on the game. Only I started looking into Eressea Bugs first, and there were some really nasty ones that required attention. I’ve got the bug count down to 14 open issues, which is pretty good.

Here’s one piece of advice I’d give to anyone who wants to make a Play-By-EMail game: Once you have players, get a bug tracker. Don’t rely on emailed bug reports. We did that for a very, very long time on Eressea, because we hated the hassle of a web interface, but today I can saz the benefits far outweigh the extra work. I use Mantis to track the Eressea Bugs, and some of the benefits are:

Everything is in one place
People used to email bugs to any email address they could find. We had a seperate mailing list for bugs, and still the players would send their bugs to one of us directly. Usually to the wrong person, and often those mails would get lost.
It’s still there in a month
Often I don’t have time to deal with a bug immediately. I used to mark that email as unread, or drag it into a TODO folder, and invariably, that folder would fill up with both fixed and new bugs, or the emails would get marked as read anyway, and the bug goes lost after a few weeks. In a proper bug tracker, if I don’t mark it as fixed, it’s still in the list of open issues.
Better data
I get better data if people fill the bug into a form than when they write an email. I have fields for the data I absolutely need to track a bug (like when it happened, and what faction they play), which saves me a lot of asking. And if I do need more info, all I need to do is write that I need the info in the bug, and a mail is sent to the reporter
Participation
Invariably, 50% of the bug reports are not bugs. Having all the bugs out in the open where players can read them (unless you mark your report as private) means other players can comment, and tell the reporter that it’s not a bug – leaving only the business of closing the bug as invalid to me. Also, seeing other people’s reports means not having to file a duplicate report. I used to get 10 reports of the same bug in the old days. No more

So yes – even for your little hobby game, you should absolutely get a bug tracker, and be good in following up what people put in there. It’s a lot easier for both sides.

But I was going to write about my progress on the game. I added terrains, and with them terrain levels, capacity and the modified movement rules. Then I used a lot of time to come up with a viable concept for walls, rivers and buildings. I think what I have now will work, and started implementing them. Some of the classes are there, but not used in the game yet. Tomorrow, if there is time, I will add them to the region class and the movement rules. And I might start on the lua bindings, so I can start editing a slightly bigger world.

[ music | Listening to: Bruce Springsteen – Atlantic City ]

New PBEM

I’ve been hacking away at a part-time project for the last few days. It’s an implementation of a tabletop game we used to play as teenagers called Armageddon (aka Das Ewige Spiel). It probably needs to be adapted a little for PBEM play.

The idea is to make a PBEM version of it, and try to come up with some new programming techniques if I can. Also, I’m using boost a lot more than I usually would, and dipping into more of their libraries.

The game will have a separate server and client, which exchange their data as xml files (orders going one way, a status report going the other way). I currently have no plans for the client (I write input files by hand), except that I want it to either be portable (Java or C++ with a portable graphics library) or a web interface, which would make it a web game rather than a PBEM. Or all of the above.

The server is written in C++, with libxml2, boost and luabind. The latter is mostly used for setting up the game and modifying the game state – I like having scriptable access to the game world, and I’ve had very positive experiences with lua for Eressea.

Currently, the server knows factions, simple units, regions (but no terrain or levels) and has two commands: one to move a unit and one to swap two units’ places. It can save and load the gameworld, and read orders from an XML file as well as write a simple XML report. That does not sound like a lot, but I’ve built the foundation on which I can build to add more features fast. My short-term TODO list contains terrain types (especially ocean), terrain levels, buildings, more unit types and recruitment/construction orders. It all depends on the weather this weekend, I’d say.

I’ll try to keep track of my progress and the stuff I learn on the blog, if I have the patience for it.

Blog upgrades

I’ve added gravatar support to the comments section, so if you have a registered avatar at that site and use the same email in the comments section, your image will show up. Of course, my own avatar is still in the review process, so I can’t see it. I’m also playing with Technorati and del.iciou.us, but I find myself wishing for more support from w.bloggar.

You can tell that I haven’t got a lot to do this weekend. I was working on implementing an old tabletop strategy game earlier today, and figured out the boost serialization library for that. Very nice. Now I need to write out XML reports, which is tedious work, and nothing new. So I’m taking a little time off from that.

Kingdom of Heaven

I just watched Kingdom of Heaven, and I don’t give a damn what some reviewers say – it’s a wonderful movie. I’m not going to compare it to Troy; there is no comparison.

I was afraid that there would be too much fighting. And indeed there are great battles, but they don’t take the center stage. I was queasy about the Muslim vs. Christian story, and there’s nothing to be afraid of – both sides have their good and bad characters, and the bad guys are not one religion or the other, but the fanatics (in this case, the Knights Templar). The movie is certainly a product of our time, but a product made by the right kind of people.

Ridley Scott does another story that ultimately leads to death and destruction, with no true Happy End, but an uneasy feeling that things might still swing either way – just like Alien or the Terminator. The combat scenes, notably the siege of Jerusalem may not be something new, but they are definitely on par with the best from LOTR or Gladiator. The characters are believable, and so is the setting – no hippie clothing like Troy, no beautified Middle Ages, but plenty of smoke, dirt and dust.

I had a very good time, and I recommend the movie highly. If this does not entertain you, then I am truly sorry for you.

I came home to find a bottle of wine at my door, in appreciation for services rendered.

It’s a disease, and they’re all green

I’ve just spent two days cleaning up Pia’s computer from all the spyware and viruses she collected. It was quite a job. My slightly dated version of Ad-Aware found over 600 dialers, spyware toolbars and other malware. Spybot S&D found another 500 after I updated it to the current definitions file. Then I installed Kaspersky Antivirus, which took out 36 viruses. I usually don’t like Kaspersky, but it did a good job here.

All this happened to her PC while Norton Antivirus was running. I know an antivirus software that I will never recommend again. Instead, I recommend installing Spybot S&D on all new computers, and making sure it gets run frequently. I’m not sure it’s possible to educate some people. The average internet user doesn’t have what I would consider the minimum requirements to be on the net, but it seems there’s no way to stop them, either.

It’s a nice day for a white wedding.

I’m leaving for England in a few hours (middle of the night) to attend André’s and Julie’s wedding. The whole thing has become pretty hectic, with E3 starting this weekend and everybody covered in work up to their ears.

60 hours in total – just enough time for a wedding, food, duty free alcohol shopping and a movie. We’re back on the 16th at midnight – just in time for 17th of May, the Norwegian national holiday.

I think I’m going to pass on the parade this year.

Crosstown traffic – all you do is slow me down

I decided that it was time for a new bike helmet today. I bought the old one when I was 19 years old, in a delayed response to a bike accident that killed one of my teenage heroes. Head injury. At that time, helmets were an unusual sight on bicyclists, and it seems something drastic had to happen to convince people like me that they were a good idea.

I have a little game I play to pass the time while I cycle to work every day – I count the number of people that don’t wear helmets. My coworkers think I might be a little autistic because I keep statistics. At the moment, about 2 in 3 cyclists I meet between 8 and 10 in the morning wear a helmet, which I think is a pretty good number. But if I take the same tour in the middle of the day, hardly anyone wears one. My guess is that people I meet in the morning are more like me – they are serious about replacing the car with a bike, and are more conscious about traffic because they ride during rush hours. During the day, the casual bikers are on the road, and a lot of women and old people. Among the people that don’t wear helmets, women and old people are by far the biggest group. I have no concrete numbers for this, and think that I should incorporate that into my statistics.

NRK Faktor had a show some days ago about the danger of bicycling in Norway. In a country where only 4% of the traffic is by bike (as opposed to 12% in Sweden, or 28% in Holland), cyclists are simply not noticed. Accidents are common – Oslo legevakten (emergency room) treats 7 cyclists every day – and wearing a helmet should be common sense.

What I don’t understand: Parents riding the bike with their kids, making the kids wear helmets but refusing to wear one themselves. Why is this such a common sight?

We’re not cracking up. We’re just getting older.

The Holmenkollen relay results are in. We finished 189th out of 240 teams in our group. In total, we used 76:05 minutes, which is almost 2 minutes more than last year, when we ran the distance in 74:10 minutes. I sucked, but at least I wasn’t the only one, or even the worst, on our team. chris, however, was 8th fastest in our group for his leg, and we’re grateful to have him.

In total, there were over 2000 teams of 15 runners each. Which really fills up the city, you see runners everywhere. It’s a wonderful sight.

And the saddest thing is seeing an exhausted runner come into the changing area, to find that his teammate has overslept. This happens more often than one might think, and the runners are close to tears when they go on to do a second leg, even thought they are completely knackered already.

I went climbing on sunday. The first time in half a year. I am not fully recovered, but I have to start again. I lost an entire grade. I feel like crying when I think of the walls I was able to scale last summer.

Run, Forrest!


Today is the day of the anual Holmenkollstafetten relay run. And I’l finally be able to participate. In the past, E3 has always gotten in the way – I signed up last year and in the year of the AO launch, and both times I had to cancel ecause there was so much to do, and even the weekends were not holy. Well, I’m glad to say I don’t work like that anymore.

My stage is Louises gate – Wolffsgate, just 1.1 km, but I haven’t practiced at all and no idea how fast I should be running. This is of course not a good idea, but I’m hoping I an just run with the pack, since it’s only the second stage in the race and the field will still be packed.

If Christian comes in first, I’ll have to ask for directions.