kuarepoti-dju - the josef multilingual blogosphere


Switch to new GGZ project server

Categories: — josef @ 20:20

At hq.ggzgamingzone.org the GGZ project has found a new home. Since the server is located in Germany, the old one has been renamed to us.ggzgamingzone.org and will remain available for the time being to the developers and for various other projects.

The installation took quite some time. Instead of just moving over the old files, most if not all was installed from scratch. New software such as greylistd, integrit, buildbot, lurker and awstats was also added (although we once had awstats already).

There doesn’t seem to be a way around greylisting. This is what happened within the first hour after the installation:

  2 items, matching   4 requests, are currently whitelisted
  0 items, matching   0 requests, are currently blacklisted
108 items, matching 112 requests, are currently greylisted

I suppose there will be some more work to do on the server in the following days. Afterwards, we should increase our efforts to find a dedicated game server where we can run the software for us and on behalf of other game projects. Sponsors welcome, but be aware of the minimum requirements :)


Nouvelles du jour

Categories: — josef @ 15:40

There’s now an article on GGZ on Jeux Libres, thanks to phh.
But this is not the only news. We’ve got board game engines for Sudoku and Shogi, the Debian packages see some more uploads, and finally, the web tools like Mantis for bug tracking or Trac for a web interface to SVN were introduced or upgraded.

GGZBoard alone encompasses more than 4500 lines of Python code now, whereas the rest of GGZ-Python has been sexied up so that new game projects like OpenRTS can use GGZ to build a gaming community.

We also run for the Trophées du Libre again, even though the event is still some months ahead.


遊樂場: CLT & OSDC Taiwan 2006

Categories: — josef @ 19:13

After giving the talk on GGZ at Chemnitzer Linux-Tage the past weekend, another talk will be given at OSDC Taiwan in April. See http://www.osdc.tw/schedule/ for the planned schedule. This will be the first GGZ talk ever to be given not by me, so kudos to yinjieh for spreading the word!

Also, GGZ 遊樂場 0.0.13 will be released soon. Stay tuned!

And if you wondered what 遊樂場 means: it translates to Gaming Zone.

Whereas 測試 only meant Test. Ooops :)


Browserspiele abseits des Kommerz

Categories: — josef @ 21:52

Dank der fleißigen Beiträge von Helg kann man freie Onlinespiele jetzt auch online direkt im Browser spielen, und zwar über GGZ-Java, welches auf dem Spielerportal GGZ-Community eingebunden ist.

Dieser Zugang ist vor allem für Windowsnutzer und Umsteiger interessant. Leider ist die Unterstützung für Java 1.5 in der freien Welt noch in den Kinderschuhen: Classpath hat zwar schon den Generics-Branch hineingenommen, aber GCJx (die Java 1.5-Variante von GCJ) scheint wohl zugunsten von ECJ aufgegeben zu werden. Das ist der Java-Compiler von Eclipse, der erst so langsam auf eigene Beine kommt, und gleich mal in der README davor warnt, dass Disassemblieren illegal sein könnte. Hingegen wird in dieser Datei völlig verschwiegen, um was es sich bei ECJ überhaupt handelt. Nunja, das wird schon noch…

Für die Veröffentlichung von GGZ 0.0.13 wäre eventuell eine Quick-and-dirty-Umschreibung auf Java 1.4 z.B. in einem Branch sinnvoll, sobald sich die Entwicklung etwas stabilisiert hat. In den letzten Tagen war es hingegen der aktivste Bereich des ganzen Projekts.
Probleme könnte dann noch die graphische Oberfläche bereiten, denn bekanntermaßen sieht es mit der Unterstützung von Swing im Gegensatz zu AWT eher mau aus.

Und zur Nutzung das GCJWebPlugin? Dieses steckt leider auch noch tief im Fehlersumpf, selbst das Testapplet auf der Classpath-Seite funktioniert nicht.

GGZ-Java wird demnächst um weitere Spieleclients erweitert werden. Kandidaten sind Tic-Tac-Toe (es hat dann wohl insgesamt schon 6 Clients), Reversi und Schach.

Als Fazit, wie schon angesprochen, soll dieses Applet vor allem Windowsnutzer anziehen, um damit den berühmten Huhn-Ei-Effekt in Onlinespielen zu überwinden. Nutzer von Linux und BSD dürfen auf wesentlich mehr Eye-Candy aufgrund der Desktopintegration hoffen.

Wichtig ist im Endeffekt, dass es eine allumfassende Basisplattform für freie Onlinespiele gibt, und diesem Umfang wird außer GGZ bisher noch kein Projekt gerecht. Und auch wir selbst noch nicht so ganz, aber es verbessert sich ständig :)


The world ends at 35

Categories: — josef @ 15:37

Recently, while working on adding multiplayer capabilities to Ludo, I ran across this never-seen-before error message:

$ ggzd -F
Ignoring game server_arimaa, already at MAX_GAME_TYPES
Invalid GameType specified in room server_arimaa
No GameType given for room server_arimaa
GGZ Server: started

What did it mean? Well, apparently there was a limit which was never supposed to be crossed:

$ grep MAX_GAME_TYPES svn-version/ggzd/ggzd/ggzd.h
#define MAX_GAME_TYPES 35

Oddly enough, we DID cross this limit now, with the help of some external games.

$ ls BUILD/etc/ggzd/games/
ccheckers.dsc escape.dsc ggzcards-hearts.dsc goserver.dsc reversi.dsc spades.dsc
chess.dsc freelords-server.dsc ggzcards-lapocha.dsc hastings.dsc rubytoe.dsc teg.dsc
civserver.dsc geekgame.dsc ggzcards-spades.dsc kamikaze.dsc server_arimaa.dsc tictactoe.dsc
combat.dsc ggzcards-bridge.dsc ggzcards-suaro.dsc keepalive.dsc server_checkers.dsc tuxman.dsc
connectx.dsc ggzcards.dsc ggzcards-sueca.dsc krosswater.dsc server_hnefatafl.dsc widelands.dsc
dots.dsc ggzcards-fortytwo.dsc ggzcards-whist.dsc muehle.dsc server_ludo.dsc xadrez-chines-server.dsc
$ ls BUILD/etc/ggzd/games/ | wc -l

The new limit is now 50 gametypes. Let’s see how long it will take to get to this point…


Random GGZ activities

Categories: — josef @ 18:26

This is what is happening in GGZ-land right now:

  • RubyToe, the Tic-Tac-Toe server based on the RuGGZdMod library wrapper, is being worked on; the goal is to have the wrapper and its demo application working for version 0.0.13
  • New Debian packages announced; in fact they exist already and need to be uploaded
  • some people planning to revive the wxWindows client
  • massive web page updates with separate engine pages and icons to indicate the game frontend

So much, stay tuned…


GGZ development continues

Categories: — josef @ 20:47

After the switch to Subversion a few days ago, the summer holidays finally gave me some time to start some serious hacking on GGZ again. Recently the new Libraries section went live on dev.g.o and explains the wealth of libs we currently offer. It was a bit fast though, because only today libggzdmod++ was founded based on old sources used in various game servers such as Widelands, Tuxman, Muehle and Geekgame.
The library contains the C++ classes for Net/MNet, a multicast-enabled network transport library with convenient buffering support, and the GGZGameServer class as a ggzdmod abstraction, handling joins, leaves, data and error events and so on.

Other new features include a Connect-the-Dots savegame handler for the GGZ Community portal, and upcoming support for improved integration of player photos, buddy lists and non-anonymous AIs. On top of this, the build system has been improved again, removing long-lasting trouble with both source-based and binary-based distributions: When a game module file is registered, it can now be turned into a copying so that it can be registered later by running a loop over the list of files, and more importantly, it can be de-registered automatically.


Talk about Free Games

Categories: — josef @ 07:21

Next weekend (on Saturday, July 16) I’m going to give a talk entitled The World of the Free Games at the Pforzheimer Linux-Infotag. Thankfully there’s someone (hi kniffo) driving down there also as the location is close to where LinuxTag Karlsruhe took place, and it’s not quite the norm for me to travel to the other end of Germany once per month….

The topics will include: Early game efforts (like BSD games or Nethack), the development of games before the hype started (Freeciv, for instance), the big hype in Linux games in 1999 and the history from then onwards. Of course, some adverts for GGZ will also be included.


Freelords running on GGZ; gcc 4.0

Categories: — josef @ 22:56

The turn-based strategy game Freelords is getting GGZ support. This means that if people want to play against each other online, they don’t have to look for a server anymore. Instead, they simply log into GGZ and then all join the Freelords - Experimental room, which will hopefully soon not be experimental anymore.
The web interface already has a basic savegame handler so that played games can be watched on the web. Somewhat tricky is the integration of network input with the ParaGUI main loop, since apparently there’s no way around polling for data. More on this soon.

On a side note, GGZ from CVS compiles with GCC 4 now. More or less each module had its share among the commits which fixed the sources, and while some of them were merely disturbing casting nitpicks, some real bugs could be found too.


Release of GGZ 0.0.11

Categories: — josef @ 20:03

Yep, it’s finally true - GGZ 0.0.11 has gone gold!
To celebrate I did not only roll the tarballs, but also wrote an article aimed at administrators and packagers. You can read it here.

What is new in version 0.0.11, you might ask? For networkers, there’s IPv6 support and the SILC plugin for our chatbot, as well as reconnection support, HTML MOTD in addition to ANSI-escaped text MOTDs, initial password submission and registration including the email so lost passwords can be resent or reset. For gamers, there’s savegames in chess and a kick-ass Ludo client for local game against the AI, which admittedly is rather dumb. Also Koenig, the chess game, does now offer single-player mode. Then there’s a whole lot of new documentation, about 60% have been rewritten entirely, and they contain many graphics and diagrams now to make it easier to understand the structures and processes. Another cool patch on the server side which has been included enables players to abandon their seats, thus still being punished or rewarded when the game ends without them. And many more… look at the announcement to view all of it!

Downloads will be enabled step by step as soon as the mirror servers are catching on. Many thanks to Dotsrc (the former SUNsite!), ibiblio, BelNet and KGT.
And no, PLEASE do not offer additional mirrors anymore, we don’t really need millions of them. What is needed right now is a dedicated project server to host CVS, the bug tracker, the mailing lists and mail forwarders, the master website and the shell logins for developers, as well as several automated scripts to generate statistics and the like.

Hash: SHA1

c060660aed9061030aff5b502800068e ggz-client-libs-0.0.11.tar.gz
35ca8fe127ce8a802f69f609c6fb5bd0 ggz-community-0.0.11.tar.gz
4c2c12634510b5546c5f9c0b55a2b384 ggz-docs-0.0.11.tar.gz
8aff4d8cc87c5174670d807574976cfe ggz-gnome-client-0.0.11.tar.gz
cc56748ba9b6f2113264e5e7073670ad ggz-grubby-0.0.11.tar.gz
cb9aef98d19b6f55507f9b92b0f9f831 ggz-gtk-client-0.0.11.tar.gz
ac07b5d58bd3d5a885078c6561342637 ggz-gtk-games-0.0.11.tar.gz
d19589789040e0e064904dd79d911b02 ggz-kde-client-0.0.11.tar.gz
47990b872f6f9cb36d697f8fa737cfd0 ggz-kde-games-0.0.11.tar.gz
d31dcfcf78ad5f1aae0f5c3789b7c41c ggz-python-0.0.11.tar.gz
7e11f98a6e926cffdcbc7df6ceb200aa ggz-sdl-games-0.0.11.tar.gz
f4ccb7d76adba5091e0aa0cc4f981abc ggz-server-0.0.11.tar.gz
f36ce7ca35e147867fc694148c617e86 ggz-txt-client-0.0.11.tar.gz
e942d9e19687c632656ff3e5bab20499 ggz-utils-0.0.11.tar.gz
6a3cac71b3b444c7b46dc27d166402e4 libggz-0.0.11.tar.gz
Version: GnuPG v1.2.5 (GNU/Linux)


Of course, rolling out a release always takes several hours. However with nice QA tools such as TarDiff it’s much easier to spot hick-ups, and in the end it’s still fun.


GGZ release preparations

Categories: — josef @ 23:13

While being offline for a day, I looked into the list of open issues for GGZ 0.0.11.
There is not so much to fix anymore, compared to two weeks ago, so targetting the next weekend is quite realistic. The only patch not yet committed is the one which allows reconnections to happen automatically after a drop of the connection. This is achieved by introducing a new state (RECONNECTING) and a modifier to the initialization:


It will then setup a timer using the alarm() and signal() functions from glibc, and try to reconnect periodically. This is what irssi does for instance, and I thought it’s quite cool to have. Now all the clients will support it automatically - even the chatbot which usually dies if the server is shut down.



Categories: — josef @ 13:09

The German magazine c’t had the idea of letting people write articles, blog entries or link to such about the Hommingberger Gepardenforelle, a ficional fish with its own homepage, to see how search engines would react. Within hours tens of thousands of search results were available. Now some funny boys have started to code Hommingberger Gepardenforelle (The Game). It’s written in pygame (yeah!) and looks quite nice. Try it out!


More features

Categories: — josef @ 18:05

Beside extending the protocol specifications (ggzmod spec and ggzdmod spec), I compiled a new “GGZ Game Modules” document today, including three diagrams. This should make it easier for new hackers to get an own module up and running or port an existing game.

Since TEG development seems to be alive again, it was time to implement the savegame stuff. Now it is possible to review a map which has been used. This is very rough and doesn’t even include the player names yet but it should be enough to give an impression of what can be done.

TEG map


Community move

Categories: — josef @ 18:21

GGZ Community has moved to a French server. Along with the update, GGZ is now reachable over IPv6! Thanks to the 4 years old patch from riq.

Savegames for Chess are underway. They basically work for pawn moves, and could even be extended to piece captures, but unfortunately libcgc doesn’t store the piece type in its linked list of moves. That’s a pity.


¿Hablas español?

Categories: — josef @ 18:46

A new developer has joined our ranks, welcome Luis Pérez Meliá. He is currently providing Spanish translation for kde-games and kde-client, as well as some web pages.

On a related note, we’re now mirrored by ibiblio as well, so finally a download mirror in the US is available to our users. This is not that much of an issue for tarballs, but as soon as game data is made available there (via GHNS), even users of distributor-supplied GGZ packages will start usurping some bandwidth.



Categories: — josef @ 14:50

The latest development takes place in the area of (server-side) savegames. Games are equipped with a standard way of keeping a game log or savegame on hard disk, associated with the respective match. Then, a lot of things are possible: Continuation of hard-aborted games (i.e. in the case of a server crash), game replays, and downloading/viewing the log and result on the web via GGZ Community.
It has been implemented for TTT already (what else did you expect), and chess is next, since there’s a standard format all games understand (PGN). Afterwards it’ll be the turn of GGZBoard.


Development news

Categories: — josef @ 23:30

There are several new features available in CVS already. The documentation has been updated, and a local index page is now available. Several German translations were added as well, including the API docs for libggz. The KDE core client KGGZ got some new features, but more importantly is being cleaned up internally, and the chess game Koenig does now handle local games against the AI.
Finally, a nasty crash was fixed in TelGGZ.
Join the development now!


3D table tennis

Categories: — josef @ 21:29

TU Chemnitz has developed a 3D gaming environment, using OpenGL and a table tennis model. They’ve focused 5 (quite expensive) cameras on the player who wears a special data glove-like bat. The image is being projected onto the screen by two projectors with a stereo view configuration.
The system was just recently ported to Linux.
3D table tennis


GGZ Community updates

Categories: — josef @ 16:44

Some hacking on the PHP files and Python scripts in GGZ Community has led to several features worth checking out: a worldmap with locations of either registered players or website visitors (dubbed mundomap), including clustering of data, a player finder to find someone who matches you somehow, and a karma system to rate the others and prevent cheaters.
The screenshow below shows the nice new version of the Enlightenment desktop shell (DR17 from CVS) and the player finder menu in GGZ Community.


Chess vs. Arimaa

Categories: — josef @ 21:52

It is generally known that writing a Chess AI, although difficult, is a solveable problem, whereas existing Go AIs still suffer from major flaws. Where does Arimaa fit in? It’s a chess-like game, but using different pieces and rules. And it was only invented recently.
From wikipedia:

In 2002 Syed published the rules to Arimaa and announced a $10,000 prize, available through 2020, for the first computer program (running on an inexpensive, off-the-shelf computer) able to defeat a top-ranked human player in a match six games or longer.

This should be enough incentive for anyone to give coding said AI a try. I’m interested myself too, but right now I’m too busy unfortunately.

Powered by WordPress