Daniel Galán y Martins

Softwareentwickler & Datenreisender seit 1992

Suchen

Projekte

Tags

18 Dec '11

Nachtrag zu "Book of unwritten Tales - Bugfix"

Vor einiger Zeit hatte ich erklärt, wie man im Spiel The Book of the Unwritten Tales den Regentanz-Bug beheben kann.

Leider ist diese Lösung nur kurzweilig, da schon kurz später beim Drachen den man eine gepräge Goldmünze geben soll das nächste Hindernis kommt - man kann es einfache nicht. Der Cursor verändert sich nicht und es ist somit niht möglich das Spiel zu beenden.

Nach einigen Recherchen und eigener Suche in den XML-Dateien des Spiels, bin ich diesmal auf folgende Pressemeldung gestoßen: JoWooD/Adventure-Company Version von “The Book of Unwritten Tales” fehlerhaft

Dies erklärt auch den Regentanz-Bug. Die Geschichte von KING Art und JaWooD, die dahinter steht, liest sich dagegen nicht so nett.

Zum Glück gibt es einen speziellen JaWooD-Patch, der die Probleme löst.

Umso erfreuter war ich, als ich gesehen habe, dass der Nachfolger (oder besser der Vorgänger, denn es handelt sich um ein Prequel) zu dem Spiel nun da ist:

Die Vieh Chroniken - Uneingeschränkte Kaufempfehlung :D

 

8 Dec '11

pack:tag 3.8 ist da

Ich habe eine neues pack:tag Release geschnürt, diesmal mit an Bord sind Unterstützung für die neuen async und defer Attribute von JavaScript, welche nochmals Lade-Performancesteigerungen ermöglichen.

Üblicherweise werden JavaScript-Elemente beim Einlesen von HTML synchron ausgeführt, so das dass eigentliche Rendern und Laden weiterer Resourcen ins Stocken gerät. Im Gegensatz dazu kann man auch unobstrusive JavaScript nachladen, indem man Platzhälter auf der Seite einfügt, die erst nach dem Laden der Seite gefüllt werden (DOM ready).

Diese Art des nachladens ist aber eher ein Hack und Sematisch nicht vom Browser unterstützt. Hier kommen nun async und defer ins Spiel, welche es dem Browser ermöglichen die angegebenen Scripte im Hintergrund auszuführen.
Wie immer in der Browserwelt, sind die Attribute noch nicht vollständig/unterschiedlich unterstützt. Man kann aber schon heute, bei der großen Verbreitung moderner Browser, den Benutzer hiervon profitieren lassen.

Für weitergehende Informationen zu dem Thema seien Euch die Artikel JavaScript muss asynchron werden und Asynchronous and deferred JavaScript execution explained wärmstens empfohlen.

Ladet euch pack:tag 3.8 bei sourceforge.net gleich runter.

9 Oct '11

Feuerblume

Wenn ich mit Acrylmalerei anfange, dann bestimmt nicht, um auf alten Wegen zu gehen. Und da ich bisher kaum Ambitionen in dieser Richtung hatte, werde ich mich auf etwas Gröberes, man möchte sagen Pixeligeres, konzentrieren.

Anstoß war die Suche nach einem Geburtstagsgeschenk für eine Frau und mit Blumen liegt man da meist nicht falsch:

( Das Super Mario Powerup wurde dann auch mit Begeisterung angenommen :) )

3 Oct '11

Neue Webseite

Hallo, wie Ihr vielleicht erkennt, habe ich das Layout der Seite verändert. Hinter den Kulissen hat sich mehr getan - die Trennung davon selbst zu hosten und auf einen fertigen Dienst zurückzugreifen. Da ich inzwischen keine weiteren Dienste mehr benötige (wie Tomcat, ical over WebDAV, Hudson, ..), und die Webseite minimalistischer werden sollte (weniger Wartung, klares Layout, Kostenreduzierung, ..) war dies ein logische Schritt.

Nach der Evaluierung diverser Dienste (u.a. Tumblr, Wordpress, LiveJournal, etc.) habe ich mich zunächst für (den eher unbekannten Dienst) Posterous entschieden. Die Vorteile hier sind: Kostenfrei, Layout sehr frei gestaltbar (CSS & dynamische Inhalte), keine Werbung, Integration von anderen Diensten (z.b. Flickr, Google Maps, und vielen weiteren), statische Seiten, Blog mit Tags, RSS, mappen des Blogs auf eine andere Domain (kostenfrei).

Für nostalgische Gefühle und zur Erheiterung habe ich mal Screenshots der Jahre 1997-Heute zusammengetragen, viel Spaß:

(download)

6 Feb '11

Book of unwritten Tales - Bugfix

Das (eher unbekannte) geniale point-and-click Adventure The Book of unwritten Tales hat einen Bug, welches das Spiel in Kapitel 4 zum absturz bringt. Dies geschieht genau dann wenn man den Regentanz bzw. Blitztanz vorführen soll.

Die Fehlermeldung besagt:

OGRE EXCEPTION(5:ItemIdentityException): Child with name Minigame/Tanzen/BG/unten/falsch4 not found. in OverlayContainer::getChild at..\src\OgreOverlayContainer.cpp (line 179)

Achtung: Die folgende Anleitung ist überholt, lest den aktuelleren Post, auf dem ich alles erkläre.

Es war relativ leicht das Problem zu identifizieren und zu fixen, dazu öffnet Ihr im Installationsverzeichnis die Datei
"\bout\bout_data\chapter4_1\landschaft\mg_tanzen.overlay".

Kopiert den folgenden Abschnitt zwei mal:

container Panel(Minigame/Tanzen/BG/unten/falsch3)
{
left 0.155
top 0.037
width 0.0195
height 0.03385
uv_coords 0 0.593 0.0391 0.6445
material minigame_tanzen_stuff
}

Ersetz in den beiden Kopien den Namen "falsch3" einmal durch "falsch4" und einmal mit "falsch5".
Das sollte es schon gewesen sein.

Die komplette Datei sollte nun wie folgt aussehen:

Minigame/Tanzen
{
zorder 500

container Panel(Minigame/Tanzen/BG)
{
metrics_mode relative
top 0.15
left 0.6
width 0.254
height 0.6667
//material Core/OgreText
uv_coords 0 0 0.508 1.0

container Panel(Minigame/Tanzen/BG/oben)
{
left -0.0156
top -0.036
width 0.285
height 0.0729
uv_coords 0 0 0.570 0.109
material minigame_tanzen_stuff
}

container Panel(Minigame/Tanzen/BG/overlay)
{
left -0.0156
top 0.4
width 0.295
height 0.2988
uv_coords 0 0.3 0.551 0.594
material minigame_tanzen_stuff
}

container Panel(Minigame/Tanzen/BG/unten)
{
left -0.0156
top 0.65
width 0.285
height 0.0996
uv_coords 0 0.109 0.557 0.20898
material minigame_tanzen_stuff

container Panel(Minigame/Tanzen/BG/unten/falsch1)
{
left 0.11
top 0.037
width 0.0195
height 0.03385
uv_coords 0 0.593 0.0391 0.6445
material minigame_tanzen_stuff
}
container Panel(Minigame/Tanzen/BG/unten/falsch2)
{
left 0.133
top 0.037
width 0.0195
height 0.03385
uv_coords 0 0.593 0.0391 0.6445
material minigame_tanzen_stuff
}
container Panel(Minigame/Tanzen/BG/unten/falsch3)
{
left 0.155
top 0.037
width 0.0195
height 0.03385
uv_coords 0 0.593 0.0391 0.6445
material minigame_tanzen_stuff
}
container Panel(Minigame/Tanzen/BG/unten/falsch4)
{
left 0.155
top 0.037
width 0.0195
height 0.03385
uv_coords 0 0.593 0.0391 0.6445
material minigame_tanzen_stuff
}
container Panel(Minigame/Tanzen/BG/unten/falsch5)
{
left 0.155
top 0.037
width 0.0195
height 0.03385
uv_coords 0 0.593 0.0391 0.6445
material minigame_tanzen_stuff
}
}
}

}

29 Nov '07

Every time you break a build

Was mir gerade so einfiel für schwer erziehbare Entwickler :)

Every_time_you_break_a_build

Every time you break a build...
God kills a kitten
Please, think of the kittens

 

26 Nov '07

JUGHH Treffen im Dezember - A Conversation with Sun's Java Technology Evangelists

Das Treffen im Dezember unserer JUG findet diesmal nicht wie gewohnt am 3ten Mittwoch im Monat statt. Wir bekommen “hohen” Besuch von zwei SUN-Mitarbeitern, die im Rahmen der Sun Tech Days in Deutschland sind und sich gern einmal Hamburg ansehen wollen ;o)

Von daher wird das Treffen vorgezogen. Es findet am Freitag, den 07.12.2007, um 20 Uhr statt. Auch diemal sind wir zu Gast bei der Lehmanns Buchhandlung.

Vortrag 1 : Programming with JavaFX (Sridhar Reddy)

Der erste Block behandelt JavaFX. Nachfolgend eine kurze Übersicht:

JavaFX is a new family of Sun products based on Java technology and targeted at the high impact, rich content market.

JavaFX Script is a highly productive scripting language that enables content developers to create rich media and content for deployment on Java environments. JavaFX Script is a declarative, statically typed programming language. It has first-class functions, declarative syntax, list-comprehensions, and incremental dependency-based evaluation. It can make direct calls to Java APIs that are on the platform. Since JavaFX Script is statically typed, it has the same code structuring, reuse, and encapsulation features (such as packages, classes, inheritance, and separate compilation and deployment units) that make it possible to create and maintain very large programs using Java technology.

Vortrag 2 : Java SE 6 Top 10 features (Joey Shen)

In unserem zweiten Block betrachten wir die Java SE 6 Top 10 Features ein wenig genauer und gehen auf Performanz und ähnliche Dinge ein. Nachfolgend ein Überblick über die Top 10 Features der Java SE 6.
1. Scripting
2. Web Services
3. Database (JDBC 4.0, Java DB)
4. More Desktop APIs
5. Monitoring and Management
6. Compiler Access
7. Pluggable Annotations
8. Desktop Deployment
9. Security
10. Quality, Compatibility, Stability

As the core of Java platform, Java SE 6 largely extends the landscope by integrating with scripting languages, web services, etc. It continues adding innovative features to the Java platform as well. This session will talk about the most important enhancements in Java SE 6.

Das Vortrag findet diesmal in der Buchhandlung Lehmanns statt: Kurze Mühren 6 (Lagebeschreibung). Die Vorträge selbst werden auf Englisch sein (nur zur Warnung ;o))

Wer mag, kann sich auch schon im Vorfeld anmelden. Das ist keine Pflicht, hilft uns aber bei der Planung (so können wir abschätzen, wie viele Leute kommen werden). Anmelden kann man sich hier.

Also dann, auf einen spannenden Vortrag am Freitag, den 07.12 & viele Grüße

Flyer-2007-12-07_04

2 Sep '07

JavaScript CompressorRater

Der CompressorRater stellt verschiedene JavaScript Minifier untereinander in Vergleich, so das man sehen kann welcher für seine Zwecke der optimale wäre. Hierbei wird wohl aber nur quantitativ gemessen, und nicht geprüft, ob das minifizierte Endprodukt auch noch ausführbar ist. Von daher sollte man nicht leichtfertig alle seine JavaScript Dateien blind minifizieren.

Gut zu sehen ist aber auch, das die Unterschiede zwischen dem JSMin und dem YuiCompressor (welche beide in pack:tag verwendung finden) nicht so riesig sind, besonders wenn sie zudem noch gzipped sind. Interessant sind die Vergleiche aber allemal.

Zum CompressorRater

Archiv

2011 (6)
2007 (8)

Sonstiges