Zoff im Zoo

Wir spielen gerne Kartenspiele hier in Norwegen. Man kann so ein Spiel gut auf eine Snowboard-Tour mitnehmen, an den Strand, oder einfach abends in der Kneipe spielen. Wizard, Der große Dalmuti und Bohnanza waren bisher unsere Klassiker, und seit Weihnachten habe ich ein neues Spiel mit Suchtfaktor: Zoff im Zoo.

Das Spiel hat Ähnlichkeiten zu “Der große Dalmuti”. Wie auch dort geht es darum, auf eine Anzahl schwächere Karten entweder eine mehr der gleichen Sorte, oder die gleiche Anzahl einer stärkeren Karte zu legen. Anders als beim Dalmuti sind aber nicht alle Karten einfach linear nach Stärke angeordnet, was den Karten einen sehr eigenen Charakter gibt: Igel können nur von Füchsen geschlagen werden, Füchse dagegen von ganzen vier anderen Kartensorten, etc.

Der Clou des Spiels ist aber die Punktewertung: Punkte erhält man nicht nur fürs frühe ablegen aller Karten, sondern man muss während des Spieles auch bestimmte Karten (Löwen und Igel) beobachten, und mindestens einen Igel sowei so viel wie möglich Löwen ergattern, um Extrapunkte einzuheimsen. Das führt zu Situationen, in denen man nicht Schluß macht, weil man meint, noch auf eine bestimmte Karte zu warten, und Risiken eingeht, die das Spiel völlig kippen können.

Das schöne am Spiel ist, das jede Karte ihren ganz eigenen Charakter hat, und es sich jedesmal völlig neu entwickelt. Acuh das Teamspiel ist eine nette Idee, und führt dazu dass man anderen Leuten etwas, aber nicth zu viel hilft – insgesamt hat das Spiel so viele verschiedene Aspekte, dass es in absehbarer Zeit nicht langweilig werden kann. Mein Spiel des Jahres 2004.

My first game

This is the first game I ever programmed into a computer. It must have been in the late 70s, and I didn’t write it myself: My father wrote it down for me so I could punch it in. It didn’t run on a real computer, but on his programmable HP calculator, something that hardly anyone had heard of in those days.

The game is “guess a number”: The computer thinks up a random number, the player makes guesses. I learned the concept of binary search fairly easy in life.

I found this when cleaning out an old cupboard at home, together with a bunch of other things that fall safely into the category of “Memorabilia that I cannot possibly throw away. Ever”.

DVD Jon ist unschuldig

Die norwegische Wirtschaftspolizei hat Økokrim hat keine Revision gegen den Freispruch von Jon Johansen eingelegt. Heute gefunden bei The Register. Damit hat er mit der Entwicklung von DeCSS also kein Verbrechen begangen, was die MPAA sicher nicht gut findet.

Es ist schön zu sehen, dass es noch Fälle gibt, wo das Gesetz nicht automatisch auf der Seite der Stärkeren ist.

Wer kauft denn noch CDs?

Ich verstehe, warum keiner mehr CDs kauft. Das Radio ist schuld. Nachdem ich zwei Wochen in Deutschland war, und da beim Autofahren notgedrungen auch viel Radio gehört habe, ist mir das klar geworden.

Alle Sender, ob jetzt Antenne, FFN, WDR 2 oder EinsLive, bringen das selbe Gedudel. Das war auch früher schon so, aber da haben sie die Charts gespielt. Und das führt dann dazu, dass Leute sagen “klingt gut, kaufe ich mir”. Heute spielen sie alle die 80er und 90er. Was zumindest bei mir dazu führt, dass ich sage “das hab ich mir vor 10 (bzw. 20) Jahren schon gekauft. Brauche ich nicht kaufen”.

Um neue Musik zu hören, bin ich auf das Internet angewiesen. “Die Superhits der 80er und 90er” kenne ich, habe ich auch schon, soweit sie gut sind. Und höre ich eigentlich garnicht mehr so gern. Was dann den Teil mit “und das beste von heute” angeht, ist das furchtbare, dass da zumindest über Weihnachten nicht viel von zu hören war. Es beschränkte sich auf Madonna und No Doubt, deren aktuelle Single-Auskopplungen ich auf einer 3-stündigen Fahrt 3 bzw. 5 mal (weil ich ja zappe) gehört habe. Und beide sind ja eigentlich auch Kinder der 80er bzw. 90er, insofern nicht wirklich neu, und für die gleiche Zielgruppe gedacht.

Meine Musik kommt aus dem Internet. Kein Internet-Radio im Auto zu haben, ist wirklich ärgerlich.

Mein Alter Schatz

Der beste Computerkauf den ich je gemacht habe, war mein Armada 7350 Notebook. Das war jetzt vor 6 Jahren, und in der Zeit hat er mich nur ein paarmal im Stich gelassen. Und der Service war Spitzenklasse, dafür habe ich gern ein paar Mark mehr gezahlt.

Die ersten 3 Jahre lief der Rechner 24/7, und das sage ich nicht nur so, sondern genau so war das. Wenn ich nachts schlief, hat der Rechner oft Profiling-Läufe gemacht. Ich habe ihn in Bus und Bahn und Autos benutzt, im Rucksack durch Deutschland geschleppt, bei Freunden in die Telefonleitung gestöpselt, usw. Wir waren unzertrennlich, mein Armada und ich.

Heute ist er ein wenig in die Jahre gekommen. Die Pentium 166 CPU kann nicht mehr mithalten. 800×600 Pixel Auflösung reichen zwar noch zum programmieren und für Mail, aber ich wünsche mir ständig etwas mehr. Und ich brauche ihn auch nicht mehr so oft. Meine Adressen verwaltet der Palm, Mail lese ich daheim und auf der Arbeit, reisen tue ich nur noch selten, und im Bus lese ich inzwischen wieder Bücher, statt zu programmieren.

Aber heute wird er wieder aus der Versenkung geholt. Ich fahre nach Deutschalnd über die Feiertage, und bei meinen Eltern zu bleiben, ohne einene eigenen Computer, ist einfach undenkbar. Außerdem habe ich 19 Stunden Fährfahrt, in denen ich vielleicht mal zum schreiben komme.

Neue Räder

Heute habe ich endlich Winterreifen gekauft. Für mein Fahrrad natürlich. In Deutschland habe ich die noch nie gesehen, da sind die auch nicht so wichtig, aber hier in Norwegen, wo Bürgersteige mehrere Zentimeter dicke Eisschichten tragen, kommt man ohne spezielle Reifen ins schleudern.

Piggdekk

Jetzt muss ich sie nur noch montieren, aber ich glaube, das mache ich, wenn ich von der Weihnachts-Tour nach Deutschland zurückkomme. Morgen geht’s los.

New Comic: Pondus

I’ve added a RSS feed for english Pondus strips to my site.

Pondus is currently a favourite comic strip of mine. It’s Norwegian like Nemi, and it has a very unusual kind of humour not found in most syndicated cartoons. I’m sure the suthor is influenced by Calvin & Hobbes in some ways, although his subject matter is completely different. check it out.

Thinking of adding a norwegian feed as well.

Eressea und luabind

Für die neue Vinyambar-Partie habe ich mir den Spaß gemacht, Lua-bindings für Eresseas wichtigste Funktionen zu machen. Das bedeutet, ass man jetzt den Server aus lua heraus skripten kann. Der Server ist in dem Sinne nicht mal mehr strikt ein Server, er kann auch für programmatische Änderungen am Datenfile benutzt werden. Das ist cool, und sieht z.B. so aus:

function process(infile, outfile, orders) if read_game(infile)~=0 then print("could not read game") return -1 end read_orders(orders) process_orders() write_passwords() write_reports() if write_game(outfile)~=0 then print("could not write game") return -1 end end

Das ist eine normale Auswertung: Datenfile laden, Befehle lesen, Befehle abarbeiten, Passworte schreiben, Reports schreiben, Datenfile wieder speichern.

Für WdW müssen wir haufenweise Parteien in Allianzen einordnen, Aussetzen, und eine Menge Einheiten mit Startitems für jede der Parteien machen. Da die Daten dafür in der Datenbank stecken, generiere ich mir einfach ein kleines lua-skript daraus:

alliance = add_alliance(13, "Einwohner von Lummerland") position = get_position(13) faction = make_faction(position, alliance, 5, "bla@fasel.de", "Dämonen") ... for faction in factions() do local u = add_unit(faction, position) u:set_skill("magic", 3) u:add_item("money", 1000) end

Das ist nur beispielhaft, das wirkliche Skript ist 200 Zeilen lang.

Das schöne ist, sowas kann ich beliebig weitertreiben. Ich brauche eine Datei, in der der aktuelle Spielstand steht? Kein Problem, einfach eine lua-funktion gemacht, die den in eine Datei rausschriebt.

Das gute daran ist, dass man verschiedene Skripte für verschiedene Vinyambars (oder Eressea) benutzen kann, aber alles den gleichen Server benutzt. Der spielbezogene Teil muss nicht neu kompiliert werden, weil die Skripte zur Laufzeit interpretiert werden.

Das ist toll. Ich kann jedem, der ein eigenes PBEM schreibt, nur empfehlen sich einer Skriptsprache zu bedienen, zumindest um die Kern-Funktionen seines Programmes steuern zu können.

Als Tool benutze ich dazu [url=http://luabind.sf.net]luabind[/url], das erlaubt es sehr einfach, C und C++ Code nach lua zu binden. Dafür ist der ganze Eressea-Server jetzt C++-verträglich geworden (schon vor einer Weile). Der luabind-code sieht in etwa so aus:

void bind_region(lua_State * L) { module(L)[ def("regions", &get_regions, return_stl_iterator), def("get_region", &findregion), class_<struct region>("region") .property("name", &region_getname, &region_setname) .property("info", &region_getinfo, &region_setinfo) .property("terrain", &region_getterrain) .def_readonly("x", &region::x) .def_readonly("y", &region::y) .def_readwrite("age", &region::age) .property("units", &region_units, return_stl_iterator) .property("buildings", &region_buildings, return_stl_iterator) .property("ships", &region_ships, return_stl_iterator) ]; }

Ja, das ist [b]wirklich[/b] reines C++, auch wenn es nicht so ausschaut. Habe ich auch erst nicht glauben können 🙂

Wo die Liebe hinfällt

Auch dieses Jahr schaffe ich es nicht, glücklich Single zu bleiben. Und auch wenn die Hoffnung war, dass sich etwas an meinem “Glücklich Single” Status ändert, sieht es so aus, als wenn lediglich der “glücklich” Teil des Status eine Revision erfährt.

Der Grund für meine emotionale Berg- und Talfahrt ist eine Norwegerin. Endlich, werden diejenigen sagen, die mich kennen. Endlich hat er mal eine getroffen, die ihm gefällt. Ich bin da ja wählerisch, vielleicht sogar zu sehr. Sie ist aber scheinbar noch wählerischer, und so sitze ich hier denn nun mit gebrochenem Herzen.

Habe mir daraufhin prompt Urlaub bis zum nächsten Jahr genommen.