Skip to content

Buch: Think Like a Programmer

Titel

Think Like a Programmer

Autor

V. Anton Spraul

Sprache

Deutsch (gedruckt), Englisch (EPUB)

Genre

Sachbuch

Herausgeber

mitp-Verlag (gedruckt), O'Reilly (EPUB)

Seitenanzahl

296

Aufbau des Buches

Das Buch beginnt recht unkonventionell mit einem Kapitel zu Rätseln wie Schiebepuzzeln und Sudoku. Genau hier sieht der Autor die Stärken von Programmierern, die es schaffen, solche Rätsel zu analysieren, zu abstrahieren und zu lösen.

Die folgenden Kapitel beschäftigen sich dann eher mit der Sprache von C++ und gehen auf einige Programmierprobleme ein, die man mit C++ lösen soll. Dabei werden Arrays, Zeiger, Listen, Klassen und Rekursion erklärt.

Die letzten zwei Kapitel versuchen die Bedeutung der Wiederverwendung von Code zu erklären und fassen alle vorherigen Aufgaben in einem großen Beispiel zusammen.

Die richtige Zielgruppe finden

Das Buch „Think Like a Programmer“ richtet sich vor allem an Programmieranfänger, die ihre ersten Schritte in der Programmierwelt gehen. Da C++ im Buch benutzt wird, setzt der Autor die Grundlagen der Programmiersprache voraus. Die Kapitel zu Arrays, Zeiger und Listen zeigen aber auch, dass das Wissen, was man mitbringen muss, nicht all zu hoch sein muss.

Hier ist aber nicht ganz klar, wer genau die Zielgruppe sein soll. Wenn man schon Erfahrung in C++ hat, wird man vermutlich keine Einführung in Arrays und Listen benötigen, da man diese sicherlich schon aus der STL (Standard Template Library) benutzt hat. Auf der anderen Seite muss aber auch klar gesagt werden, dass der Autor nicht einfach die STL-Container vorstellt, sondern tatsächlich das Konzept hinter diesen Konstrukten. So wird erklärt, wie die Verkettung von Listen in C++ funktioniert oder wie ein Array im Speicher aufgebaut ist. Hier können Programmieranfänger tatsächlich etwas lernen, selbst wenn sie schon einmal Listen in der Hand hatten.

Inhaltliche Auseinandersetzung

Die Einführung über das Thema „Rätsel“ halte ich für sehr gut gelungen. Es versucht den Leser spielerisch an das Thema Programmierung heranzuführen. Denn bei der Lösung von (logischen) Rätseln geht man normalerweise nicht anders vor als bei einem Programmierproblem. Man untersucht die Randbedingungen, versucht Schemen und Muster wieder zu erkennen, teilt die Aufgabe dann in Unteraufgaben auf und löst diese nacheinander.

Diese Grundzüge des Programmierdenkens sind dem Autor sehr wichtig. Ein Aspekt, den er immer wieder erwähnt, ist: „Niemals ohne Plan.” Bevor man eine Software schreibt, um ein Problem zu lösen, solle man sich klar werden, wie man es lösen will und in welchen Schritten man dazu vorgehen möchte. Der Plan könne dabei im Kopf entstehen oder auf (digitalem) Papier.

Ein weiterer wichtiger Punkt ist für Spraul die Zerlegung der Aufgabe in kleine Teile, sodass der Plan auch übersichtlich bleibt. Wenn man nur einen Planungspunkt „Problem lösen“ hat, ist die Wahrscheinlichkeit hoch, dass man sich bei komplexen Problemen leicht verläuft. Ebenso hilft es laut dem Autor, wenn man versucht, das Problem auf ein einfacheres herunterzubrechen, was man im Optimalfall bereits schon einmal gelöst hat.

Am Ende des Buches geht Spraul auch auf die Stärken und Schwächen von Programmierern ein. Er zeigt dabei natürlich nur ein paar Eigenschaften, arbeitet diese aber sehr gut heraus, sodass man sich sicherlich selbst als Programmierer darin wiederfindet. Vor allem das Thema „Schwächen“ sollte man ernst nehmen, da es oft dazu führt, dass ein Projekt scheitert oder zumindest nicht optimal läuft. Schwächen hat jeder. Wenn man sich derer aber bewusst ist, kann man sie gegebenenfalls elegant umschiffen.

Die Endaufgabe ist die Programmierung des Spiels Galgenmännchen. Dabei wird aber eine besondere Variante programmiert, in der der Computer betrügt und das gesuchte Wort nicht am Anfang auswählt, sondern dies erst im Laufe des Spiels je nach geratenen Buchstaben einschränkt. Die Idee halte ich für sehr gut, da es alle Aspekte der vorherigen Kapitel zusammenfasst. Vor allem ist die Aufgabe noch relativ einfach, aber gleichzeitig – vor allem für Programmieranfänger – kompliziert genug, dass man einfach nur durch Losprogrammieren nicht zum Ziel kommt. Hier ist also ein überlegtes Vorgehen sinnvoll.

Kritik am Buch

Vor allem die Kapitel 1 und 8 halte ich für sehr empfehlenswert. Hier geht Spraul zum einen auf die Grundlagen des Programmierdenkens ein und versucht zu vermitteln, welche Möglichkeiten man hat, ein Problem zu vereinfachen, um es zu lösen. Vor allem den Aspekt, niemals ohne Plan anzufangen, halte ich für sehr sinnvoll. Ob der Plan nur das Beschreiben der Teilaufgaben oder gleich das komplette Design umfasst, ist dabei unerheblich. Wenn man in kleinen Schritten vorgeht, kann man das Ergebnis zum einen viel leichter testen und prüfen und zum anderen hat man schneller Erfolgserlebnisse.

Im achten Kapitel halte ich vor allem die Herausstellung der Stärken und Schwächen für sehr wichtig. Dies ist etwas, was man sich selbst oft nicht klar macht. Anhand der vorgegebenen Beispiele kann man sich überlegen, welche Stärken und Schwächen man selbst hat. Dies hilft unter Umständen dabei, ein besserer Programmierer zu werden.

Auf die Art ist das Buch auch für erfahrene Programmierer empfehlenswert. Diese können den mittleren Teil mit Arrays und Listen überspringen und nur den Reintext lesen. Ebenso ist der Text in den ersten zwei und letzten zwei Kapiteln oft so allgemein gehalten, dass man auch mit C++ noch keine Berührung gehabt haben muss, um die Prinzipien zu verstehen.

Für echte C++-Anfänger ist das Buch insofern nicht empfehlenswert, dass man damit kein C++ lernt, was aber auch nicht der Anspruch des Autors ist. Man bekommt viel mehr die Prinzipien hinter Containern und Programmierparadigmen erklärt, die – rein zufällig – mit C++ umgesetzt werden. Man hätte aber auch fast jede andere Sprache nutzen können.

Dementsprechend wird auch nicht auf alle C++-Eigenheiten eingegangen, aber zumindest einige werden erwähnt. Sehr gut wird beispielsweise die Speicherverwaltung mit Stack und Heap erklärt, auf der anderen Seite wird das Thema Klassen nur so kurz angeschnitten, dass ihre wirklichen Vorteile wie Polymorphie gar keine Rolle spielen. Hier wurde etwas Potential verschenkt.

Alle Kapitel werden mit Übungen abgeschlossen, die man selbst umsetzen sollte. Leider gibt es keine Musterlösungen, was ich sehr schade finde. Wie der Autor schreibt, ist jede Lösung richtig, die die Randbedingungen erfüllt und das Problem löst. Aber sicherlich gibt es auch schöne und nicht so schöne Lösungen. Zusätzlich fehlt dem Leser eine Rückmeldung, ob es korrekt ist, was er gemacht hat. Oft merkt man bei solchen Aufgaben gar nicht, dass man einen Fehler begangen oder an etwas nicht gedacht hat. Gerade die Leser des Buches nehmen sich das Werk ja vor, weil sie damit noch Probleme haben.

Darüber hinaus stimme ich nicht in allen Punkten mit dem Vorgehen des Autors überein. So programmiert er die Endaufgabe anfangs rein prozedural und entscheidet sich erst später, Klassen einzusetzen. Hier bin ich eher Verfechter der Objektorientierten Programmierung und versuche gleich von Anfang mir die Klassen und Teilnehmer vorzustellen, die in der Problemstellung auftauchen und wie diese miteinander interagieren. Dies schafft oft ein klareres Design und bessere Schnittstellen.

Fazit

Alles in allem ist „Think Like a Programmer“ (was trotz des englischen Titels in Deutsch erhältlich ist) ein sehr empfehlenswertes Buch. Ohne die Programmierbeispiele in der Mitte hätte man sogar überlegen können, die Essenzen aus den Kapitel 1, 2, 7 und 8 zusammenzufassen und als kleines 50-seitiges Büchlein herauszubringen. Dann könnte man die wichtigen Themen sofort nachlesen. Für reine Programmieranfänger sind die Übungen und Beispiele in der Mitte des Buches aber sehr hilfreich.

Da das Buch auch für „alte Programmierhasen“ den einen oder anderen wichtigen Punkt bereithält, findet sich also wohl jeder wieder. Wer noch nie mit C++ programmiert hat, wird gegebenenfalls kleinere Probleme beim Verständnis haben. Wenn man aber bereits eine andere Programmiersprache beherrscht, ist dies kein so großes Problem mehr.

Dem Untertitel „Typische Programmieraufgaben kreativ lösen am Beispiel von C++“ wird das Buch also gerecht. Einzig das Wort „typisch“ könnte man streichen, da man in der „realen“ Welt sehr selten Container wie Arrays und Listen programmieren muss. Das Prinzip der Problemlösung ist aber auch in komplexeren Fällen sehr ähnlich und daher hilfreich.

Ein Hinweis zur E-Book-Version: Das Buch „Think Like a Programmer“ gibt es vom englischen O'Reilly-Verlag auch als EPUB-Version für E-Books. Die Code-Beispiele lassen sich alle gut lesen, auch wenn einzelne Code-Zeilen ggf. frühzeitig umgebrochen sind. Einige Abbildungen und Tabellen dagegen passen selbst bei kleinster Zoomstufe nicht immer voll auf das Gerät und können daher nicht im Ganzen betrachtet werden. Getestet wurde das EPUB mit einem PocketBook 622 Touch.

OSM-Radkarten selbst erstellt

Ich nutzte bis 2009 für meine Radtouren immer die Radkarte von Radfahrer. Das Typfile für mein Navigationsgerät Garmin Oregon 450 ist zum Radfahren optimal, da die Wege entsprechend ihrer Beschaffenheit dargestellt werden.

Die Karte wurde 2009 eingestellt, dann aber glücklicherweise von Johannes Formann fortgeführt. Das Projekt zur Erstellung einer Karte wird bei Launchpad gehostet.

Karte erstellen

Will man auf Basis des Radkarten-Projekts selbst eine Karte für das Garmin erstellt, geht man wie folgt vor.

Zuerst lädt man den Quellcode mit Bazaar herunter:


$ bzr branch lp:radkarte


Hier muss natürlich das Paket bzr installiert sein.

Danach wechselt man in den entstandenen Ordner:


$ cd radkarte

Theoretisch gibt man nun einfach nur


$ ant dist


ein, um die Generierung anzustoßen. Hierfür muss das Paket ant installiert sein.

Die Radkarten (also die entpackte Image-Datei gmapsupp.img aus dem Ordner build) speichert man danach auf der SD-Karte des Garmins im Ordner garmin/ ab.

Es gibt aber noch ein paar Besonderheiten, sodass man wahrscheinlich die Build-Datei build.xml anpassen muss.

Höhenlinien deaktivieren

Die vom Skript verwendeten Höhenlinien passen nicht auf Nicht-Deutschland-Karten, weswegen man die Zeile


<arg value="${basedir}/gmapsupp_Hoehenlinien.img"/>


im Target generate_full_gmapsup komplett entfernen sollte.

Andere Region generieren

Wenn man eine andere Karte als Deutschland generieren will (z.B. nur ein bestimmtes Bundesland), muss man den Downloadpfad und -dateiname anpassen:


<property name="dl_path" value="europe/"/>
<property name="dl_file" value="germany-latest"/>


Die jeweiligen Dateien und Pfade findet man auf geofabrik.de. Für Berlin wäre es z.B.


<property name="dl_path" value="europe/germany/"/>
<property name="dl_file" value="berlin-latest"/>

Karten-ID ändern

Wenn man mehr als eine auf die Art generierte Karte auf dem SD-Karte speichert, gibt es das Problem, dass diese zum einen zusammengefasst werden und zum anderen nur eine der Karten angezeigt wird. Grund hierfür ist, das diese alle die gleiche ID bekommen und somit nur eine gewinnt.

Daher ändert man die Zeilen


<property name="family_id_singleMap" value="5940"/>
<property name="family_id_fixMeLayer" value="5947"/>
<property name="family_id_RadRouten" value="5944"/>
<property name="family_id_Steigungen" value="5946"/>
<property name="family_id_Basiskarte" value="5942"/>
<property name="family_id_Hoehe" value="5948"/>


ab und vergibt dort bei jeder Karte andere IDs. Man kann z.B. die ersten zwei Ziffern hochzählen lassen. Erst dann erscheinen beide Karten auf dem Navi für eine eigene Anwahl und können auch gleichzeitig dargestellt werden.

Fazit

Das Erstellen eigener Karten geht Dank dem Build-Skript sehr schnell und einfach. Man muss zwar manchmal Hand anlegen, aber die Arbeit hält sich in Grenzen. Als Ergebnis erhält man eigene Radkarten für sein Garnin-Gerät, die immer aktuell sind.

Update zum Humble Indie Bundle 8

Wie üblich gab es eine Woche nach der Veröffentlichung des Humble Indie Bundle 8 ein Update, welches 4 weitere Spiele dem Bundle hinzufügte. Diese erhält man, wenn man mehr als den aktuellen Durchschnitt zahlt bzw. bereits zahlte.

„Tiny & Big in Grandpa's Leftovers“ ist ein interessantes 3-D-Spiel, bei dem Tiny, ausgerüstet mit Greifhaken, Laserschneider und Raketenwerfer, den bösen Big verfolgt, der die magische Unterhose von Tinys Großvater gestohlen hat. Im Spiel geht es darum, die Umwelt physikalisch so zu verändern, dass man zum Ziel kommt.

„Intrusion 2“ ist ein schnelles Actionspiel, bei dem man sich seitwärtsscrollend und schießend den Weg durch das Level bahnt. Besonders ist dabei die Grafik und die Gegnergestaltung, die auf einiges an Kreativität schließen lässt. Ich habe es noch nicht gespielt, aber es erinnert etwas an „Turrican“ vom Spielprinzip.

„English Country Tune“ ist ein Puzzlespiel mit über 100 Leveln. Eingebracht in das Spiel sind verschiedene Ideen aus dem Puzzlegenre wie Blöcke schieben oder Muster nachbauen.

Der letzte große Hit ist „Oil Rush“, das bekannte Strategiespiel, in dem in einer Welt, in der die Öl-Ressourcen zur Neige gehen, man um jeden Tropfen kämpfen muss.

Das Humble-Angebot gibt es nur noch 4 Tage!

Dear Esther – Briefe eines Unbekannten

Das Spiel Dear Esther gibt es bereits seit 2010. Die Linux-Version, die einen Wine-Wrapper nutzt, ist aktuell im Humble Indie Bundle 8 enthalten. Der Artikel soll das ungewöhnliche Spiel vorstellen.

Die Geschichte

Die Spielfigur „erwacht“ auf einer Insel, direkt am Strand an einem Bootsanleger vor einer kleinen Hütte. Erwachen ist dabei aber nicht das richtige Wort, denn das Spiel beginnt dort einfach nur. Als Spieler wirkt es so, als würde man an der Stelle nur in die Ego-Perspektive einer unbekannten Person schlüpfen. Das Vergangene ist unbekannt. Die Fragen „Wer bin ich?“ und „Wo komme ich her?“ haben bei Dear Esther eine besondere Bedeutung

Der Leuchtturm ist der Startpunkt der Reise.

Der Leuchtturm ist der Startpunkt der Reise.

Was man als Spieler zu tun hat, ist nicht klar. Also läuft man in die Hütte. Der Wind pfeift durch die zahlreichen Löcher im Dach und den Wänden. Ein Schauer fährt einem über den Rücken. Dazu fängt ein Erzähler an, die Geschichte mit „Dear Esther“ einzuleiten. Spielt man Esther? Oder spielt man den Mann, der Esther eine Nachricht hinterlassen will?

In der Hütte kann man nichts tun. Kein Untersuchen, kein Bewegen, kein Aufsammeln von Gegenständen. Man merkt hier schon, Dear Esther ist ein anderes Spiel. Etwas fällt aber sofort ins Auge, wenn man die Hütte verlässt: In der Ferne blinkt ein rotes Licht. Allein die Neugier eines Menschen treibt einen an, herauszufinden, was es damit auf sich hat. Sind dort andere Personen? Erfährt man dort endlich mehr über die Insel und sich selbst?

Dem Ziel ganz nah. Oder doch nicht?

Dem Ziel ganz nah. Oder doch nicht?

Geht man weiter, teilt sich Weg: entweder den Hügel hinauf oder am Strand entlang. Die Wahl bleibt dem Spieler überlassen. Eingeschränkt wird man nur durch Zäune und Wegmarkierungen. Das Spiel beschränkt dadurch den Weg, den man zu gehen hat. Es sind keine Schienen, auf denen man sich bewegt, aber ein freies Erkunden der Insel ist ebenso nicht möglich. Vielleicht ist dies aber auch gewollt, um den Fortgang der Geschichte zu gewähren.

Egal, wo man auf der Insel entlang läuft, findet man seltsame Gegenstände. Brennende Kerzen stehen am Wegesrand. Wer hat dieser aufgestellt? Und vor allem seit wann brennen diese da? Es kann nicht lange her sein, sonst wären sie abgebrannt.

In einer Schlucht findet man die Überreset eines Autos. Hier eine Tür, da noch eine. Noch weiter im Dunkeln liegen Auspuff und Katalysator. Ist hier jemand mit dem Auto verunglückt? Auf dieser kleinen Insel, auf der es keine Straßen gibt. Und wo ist der Rest des Wagens?

Am Strand sind zwei große Schiffe gestrandet. Wie lange diese wohl hier schon liegen? Die Korrosion ist weit fortgeschritten, aber überall liegt noch die Ladung am Strand. Wollte dies niemand aufsammeln? Und dort am Horizont mitten im Meer blinkt ein weißes Licht. Kann man dorthin schwimmen? … Nein, keine gute Idee, wie man bald merken wird. Aber eine Stimme ruft „Come back“ und man kommt zurück.

Zwei gestrandete Schiffe. Welche Bedeutung haben sie?

Zwei gestrandete Schiffe. Welche Bedeutung haben sie?

Die Stimme des Erzählers ist auch das, was einen die ganze Zeit begleitet. Jeder Fund, jede besondere Ort auf der Insel lässt einen mehr über die Geschichte erfahren. Neue Namen kommen hinzu. Nicht nur Esther, nein, auch Paul, Jakobson und Donnelly scheinen eine Rolle zu spielen. Ob man bis zum Ende die ganze Geschichte erfährt?

Fazit

Dear Esther ist kein Spiel, sondern eher eine Erfahrung. Würde man es als reines Spiel ansehen, gäbe es für das Spielprinzip (man kann eigentlich nur vorwärts laufen, in der Hoffnung, dass die Stimme etwas erzählt) eine sehr schlechte Note.

Aber glücklicherweise will Dear Esther so etwas auch gar nicht sein. Es geht einzig und allein darum, in die Geschichte einzutauchen und Verlust, Tragik, Trauer und die Melancholie der Insel zu erfahren.

Wäre es nicht so traurig, wäre es direkt schön.

Wäre es nicht so traurig, wäre es direkt schön.

Hieran scheiden sich aber auch die Geister. Die meisten Spielkritiker loben das Spiel und den andersartigen Ansatz, bei den Spielern geht die Meinung etwas mehr auseinander. Manche sehen es als interaktives Hörbuch, wobei sich die Interaktion sogar einschränkt, da man theoretisch nur die Seiten umblättert (Analogie zum Vorwärtsgehen auf der Insel). Andere Spieler sind wiederum begeistert aufgrund der Interpretationstiefe.

Interpretieren ist auch das, was man das Spiel muss. Zumindest mir gelang es (nach einmaligem Durchspielen) nicht die gesamte Geschichte zu verstehen. Ich habe eine Theorie, die sich auch mit anderen Theorien im Dear-Esther-Forum deckt, aber es scheint keine absolute Wahrheit geben.

Dies ist wohl auch mein großer Kritikpunkt an Dear Esther. Ich mag Spiele, über die man später noch sprechen kann. Wenn aber nicht einmal die Grundlage der Geschichte klar ist und bereits hier gestritten wird, ergibt sich keine gute Diskussion über das Spiel, sondern jeder stellt nur seine eigene Sichtweise dar. Hier hätte ich mir wohl mehr Hinweise und eine klarere Linie gewünscht.

Es geht hoch hinauf. Oder ist man nur tief unten angelangt?

Es geht hoch hinauf. Oder ist man nur tief unten angelangt?

Gegebenenfalls hat das Problem auch mit der englischen Sprache zu tun. Einige der Texte, die erzählt werden, ergaben für mich selbst beim Lesen und nicht nur beim Hören keinen Sinn. Somit lässt sich deren Bedeutung für die Geschichte nur schwer einschätzen. Eine Interpretation fällt fast völlig weg. Es gibt zwar eine inoffizielle deutsche Übersetzung, die aber – das Wort „inoffiziell“ deutet es an – nicht per Standard mit ausgeliefert wird. Installiert man diese, wird das Verständnis des Spiels gerinfügig klarer – aber auch nicht massiv.

Zur Technik: Grafisch beeindruckt Dear Esther durch viele Details – vor allem im späteren Höhlensystem – was leider durch einige flache und matschige Texturen getrübt wird. Die künstlichen Begrenzungen wirken – nun ja, gekünstelt. Man bleibt bereits an wenige Zentimeter hohen Balken hängen und kann somit nur auf den vorgegebenen Wegen bleiben. Auch das Schwimmen durch das Meer ist oft durch unsichtbare Barrieren eingeschränkt. Hier verliert man als Spieler wieder den Kontakt zum Spiel und wird in die reale Welt zurückgeworfen.

Das Höhlensystem sieht fantastisch aus.

Das Höhlensystem sieht fantastisch aus.

Woran es rein gar nichts auszusetzen ist, ist die Audio-Qualität. Sowohl die Erzählerstimme von Nigel Carrington ist großartig als auch der Soundtrack von Jessica Curry, die das Spiel musikalisch untermalt hat. Der Soundtrack kann auch kostenlos bei Bandcamp angehört werden, was ich nur jedem empfehlen kann, der melancholische Klavierstücke mag.

Ingesamt fällt es schwer, Dear Esther für eine bestimmte Zielgruppe zu empfehlen. Man muss es wohl gespielt haben, um sagen zu können, ob es einem gefällt. Die geringe Spielzeit von ein bis zwei Stunden mag den einen oder anderen aber ggf. abschrecken. (Wobei es bei diesem Spielprinzip auch nicht viel länger hätte sein sollen.)

freiesMagazin 06/2013 erschienen

freiesMagazin 06/2013 Titelseite

Heute ist die Juniausgabe von freiesMagazin erschienen und bringt viele spannende Artikel aus den Bereichen Linux und Open Source mit.

Inhalt der Ausgabe 06/2013

  • Der Mai im Kernelrückblick
  • Firefox-Erweiterungen mit dem Add-on-SDK erstellen – Teil IV
  • LibreOffice 4.0 selbst kompilieren
  • PDF-Dokumente schreiben mit Pandoc und Markdown
  • Humble Indie Bundle 8
  • Raspberry Pi
  • Raspberry Pi als Multimedia-Zentrale
  • Rezension: Raspberry Pi – Einstieg und User Guide
  • Rezension: Python 3 – Lernen und professionell anwenden
  • Rezension: Netzwerk mit Schutzmaßnahmen
  • Leserbriefe und Veranstaltungen

Downloads

Unter der Adresse http://freiesmagazin.de/mobil/ findet man immer die aktuelle und alle bisher erschienenen HTML- und EPUB-Ausgaben. Auf der Magazin-Seite können die letzten drei Ausgaben von freiesMagazin abgerufen werden, ältere Ausgaben findet man im Archiv.

Kontakt

Wer jeden Monat an die neue Ausgabe erinnert werden will, kann auch den RSS-Feed abonnieren. Leserbriefe mit Lob, Kritik, Anregungen oder Fragen und neue Artikelvorschläge können an die Redaktion geschickt werden.

Full Circle Magazine 73 erschienen

Gestern ist die neue Ausgabe des englischsprachigen Magazins Full Circle Magazine erschienen. Themen der 73. Ausgabe sind unter anderem

  • Kostenlose (englischsprachige) Online-Programmierkurse
  • Python-Programmierung – Teil 44
  • Libre Office – Teil 26: Matheformeln
  • Einführung in SQLite
  • Blender-Tutorial – Teil 6a
  • Bilder-Slideshows auf DVD mit Imagination
  • Review: TV-Browser
  • Review: CMUS Music Player
  • Auswertung der Umfrage der letzten Ausgabe
  • Ubuntu Games News
  • Ubuntu Games: Full Steam Ahead
  • Ubuntu Games: Aeon Command
  • News, Leserbriefe und mehr

Hinweis: Den Artikel „Linux Lab: Sony Dash HID-C10/TX“ findet man in der letzten Ausgabe 72. Der Titel des Artikels auf Seite 34 ist falsch. Zusätzlich stimmt das Inhaltsverzeichnis von den Seitenzahlen nicht.

Links: Webseite, Forum und Wiki

Umfrage-Auswertung

Ein paar Worte möchte ich noch zu der Umfrage-Auswertung ab Seite 43 sagen, weil ich wegen freiesMagazin natürlich Interesse an den Aussagen der fast identischen Zielgruppe habe. Wenn ich von fortan von „Leser“ spreche, sind natürlich nur die Umfrageteilnehmer gemeint.

Der Frauenanteil der Leser liegt bei gut 3 Prozent. Das ist nicht viel, aber deckt sich mit anderen Linux-Bereichen (z.B. Anzahl der weiblichen Ubuntu-Mitglieder).

Mindestens 42% der Leser stammt aus englischsprachigen Länder (mit Ausnahme von Italien) bzw. Länder, die viel mit Englisch zu tun haben (auf Indien bezogen). (Leider wurden nicht alle Länder aufgeschlüsselt.)

Bei der Auswertung der Ubuntu-Version steht die letzte LTS-Version Ubuntu 12.04 an erster Stelle. Interessant ist, dass danach 12.10 folgt und nur so wenig Leute 13.04 nutzen. Dies könnte etwas damit zu tun haben, dass es in 13.04 wenig Änderungen gab, die ein Upgrade rechtfertigten. Oder an der geringen Unterstützungszeit von neun Monaten. (Ubuntu 12.10 wird länger unterstützt als 13.04.)

Bei der genutzten Desktop-Umgebung fehlt mir irgendwie Unity. Ggf. ist dies unter „Other“ aufgeschlüsselt worden. Interessant ist, dass die Benutzung von Xfce noch vor KDE liegt.

Der für mich interessanteste Teil: Wie wird FCM gelesen? Und hier greifen immerhin noch 96% der Leser zum PDF. Danach folgt das EPUB mit 18%. (Achtung: Mehrfachantworten waren erlaubt, daher ergibt das keine 100%.) Andere Lesearten via Issuu, Ubuntu Software Center oder Google Currents sind fast zu vernachlässigen.

Extrem interessant (und aus meiner Sicht unverständlich) ist, dass sich die Leser weniger Spiele-Artikel wünschen. Bei dem Gebiet ist der Balken für „less“ als einziger größer als bei „more“. Bisher hatte ich immer gedacht, dass gerade das Thema Spiele ein Zugpferd ist für Linux-Nutzer allgemein, aber auch für Leute, die zu Linux kommen sollen.

Die Umfrage-Auswertung selbst ist eher unglücklich gelungen. Die Basis der Graphen (also die Einteilung der X-Achse) variiert von Frage zu Frage, sodass man die Balken gar nicht mehr miteinander vergleichen kann. Sprich, ob 275 Leser bei LibreOffice oder 320 im Editorial, der Balken ist gleich lang. Zusätzlich wurden extrem krumme Einheiten als Maximum genommen. 546 oder 1104 als Grenzwert sind irgendwie seltsam.

Costume Quest – Halloween im Sommer

Das Wort „Sommer“ scheint bei dem aktuellen Wetter (Ende Mai 2013) vielleicht etwas übertrieben, dennoch war das Halloween-Spiel Costume Quest Teil des Humble Double Fine Bundle, welches Anfang Mai veröffentlicht wurde.

Vorgeschichte

Wren und Reynold sind zwei typische Geschwister. Ständig streiten und zanken sich die beiden und selbst an Halloween hacken sie aufeinander ein. Ihre genervten Eltern wollen die zwei aus dem Haus haben und schicken sie gemeinsam los, um von Tür zu Tür zu laufen und „Trick or Treat“ zu rufen. Der Aufgabe hilft es nicht, dass die Kostüme der zwei Kinder nicht gerade großartig aussehen.

Etwas entmutigt versuchen Wren und Reynold weiter ihr Glück. An einer Tür steht aber kein Mensch, sondern ein seltsames Monster, was einen der Geschwister einpackt und verschleppt. Da bleibt dem anderen nichts anderes übrig, als hinterherzulaufen, da sonst ihre Eltern extrem sauer werden würden.

Ohne Kostüme fühlt man sich irgendwie nackt.

Ohne Kostüme fühlt man sich irgendwie nackt.

Spielablauf

Im Spiel übernimmt man die Rolle von Wren oder Reynolds. Danach richtet sich dann auch, wer entführt wird und wer den Retter spielen darf. Anfangs nur ausgerüstet mit einem Roboterkostüm zieht man durch die Stadt und löst Aufgaben.

Dabei sind die Aufgaben in jeder der drei Welten immer gleich. Man zieht von Haus zu Haus und klopft an die Tür. Steht ein Mensch dahinter, ist alles gut und man erhält Süßigkeiten als Belohnung. Ist es dagegen eines der Monster, die auch gerade dabei sind, die Süßigkeiten zu stehlen, muss man gegen diese kämpfen.

Weitere Aufgaben ist das Erkunden der Nachbarschaft, um in Mülltonnen oder Laubhaufen versteckte Süßigkeiten oder – was noch wichtiger ist – weitere Materialien für neue Kostüme zu finden. Denn es bleibt nicht beim Roboterkostüm, man findet auch die Baupläne für andere Kostüme wie einen Ritter, einen Weltraumhelden mit Lichtschwert, die Freiheitsstatue und mehr. Um die Kostüme nutzen zu können, muss man aber immer erst die Materialien finden, die man zum Basteln des jeweiligen Kostüms benötigt.

Beim Versteckspiel muss man andere Kinder finden.

Beim Versteckspiel muss man andere Kinder finden.

Wieso aber überhaupt verschiedene Kostüme? Diese sind im Kampf, manchmal aber auch bei der Erkundung der Nachbarschaft wichtig. So haben die Kostüme in der realen Welt hilfreiche Eigenschaften wie Skate-Rollen, um sich schneller fortzubewegen, oder eine Hakenhand, um an Seilen entlangzugleiten.

Im Kampf sind die Eigenschaften aber noch wichtiger. Wird man in einen Kampf verwickelt, transformiert das Kostüm zu einem riesigen Kämpfer, der sich den Monstern entgegenstellt. Die Angriffe und Spezialattacken unterscheiden sich dabei mehr oder weniger stark. So gibt es Kostüme, deren Angriff allen Monstern auf dem Schlachtfeld schadet, andere machen nur Einzelschaden, sind dafür umso stärker. Mit den Spezialattacken kann man die Gruppe heilen, gegen Angriffe schützen oder gar Gegner in die Flucht schlagen.

Zwei gegen drei ist unfair …

Zwei gegen drei ist unfair …

Gruppendynamik

Damit man sich den Monstern nicht alleine stellen muss, erhält man im Laufe des Spiels zwei weitere Helfer an die Seite gestellt. Dies ist auch immens wichtig. Die Kämpfe gegen ein Monster kann man alleine bestehen, gegen zwei Monster wird es schon sehr schwer und gegen drei wäre man hoffnungslos unterlegen.

Grund hierfür ist, das die Kämpfe rundenbasiert in beiden Gruppen ablaufen. Zuerst greift jeder Spieler der eigenen Gruppe an, dann sind die Monstergruppen dran. Kämpft man alleine gegen drei Monster, kommt man nicht umhin, dreimal Schaden einzustecken, bevor man wieder austeilen kann. Ein Angriff oder eine Verteidigung im Kampf beschränkt sich – je nach Kostümwahl – auf ein simples Quick-Time-Event. Das heißt, zum richtigen Zeitpunkt die richtige Taste drücken. Schafft man dies nicht, ist der Angriff nicht so kraftvoll oder – bei einem Angriff der Monster – er wird nicht geblockt.

Auch bei einem Kostümwettbewerb kann man mitmachen.

Auch bei einem Kostümwettbewerb kann man mitmachen.

Motivierend sind die Kämpfe somit nicht, außer dass man versucht, keine Fehler zu machen. Man kann zwar in den Kämpfen nie endgültig sterben, verliert man aber einen Kampf muss man von vorne anfangen – ärgerlich, wenn von den drei Gegnern nur einer übrig war und man beim Blocken mal wieder nicht die richtige Taste getroffen hat.

Etwas schöner sind die eingestreuten Rollenspielelemente. Für die erkämpften und gefundenen Süßigkeiten kann man sich bei einem lokalen Briefmarkenhändler sogenannte „Battle Stamps“ kaufen. Diese werden den Kindern zugeordnet – leider nur eine Marke pro Kind. Zusammen mit dem ausgewählten Kostümen (auch diese können frei zugeordnet werden) ergibt sich für den einen oder anderen Kampf ein starker Vorteil. So gibt es Marken, die die Angriffsstärke oder die Lebenspunkte erhöhen oder den Angriff auf die gesamte Monstergruppe ausweiten.

Mit Kampfmarken kann man seine Eigenschaften verbessern.

Mit Kampfmarken kann man seine Eigenschaften verbessern.

Es sei angemerkt, dass die Auswahl der Kostüme und der Kampfmarken für den ein oder anderen Kampf enorm wichtig ist. Vor allem bei den Bosskämpfen gibt es Kostüme, deren Spezialattacken eher nutzlos sind und somit nicht gewählt werden sollten.

Insgesamt ist der Rollenspielanteil mit obigen Elementen eher gering. Das Aufleveln und die Erhöhung der Lebenspunkte und Angriffsstärke geschieht ganz automatisch. Auch unterscheiden sich die Grundwerte der Kinder keineswegs, sodass allein Kostüme und Kampfmarken den Unterschied ausmachen.

Kampf gegen einen Zwischen-Boss.

Kampf gegen einen Zwischen-Boss.

Add-On „Grubbins on Ice“

Zu Costume Quest gibt es zusätzlich noch das Add-on „Grubbins on Ice“, welches beim Humble-Bundle-Kauf bereits enthalten war. Die Geschichte schließt direkt an das Hauptspiel an. Nachdem man seinen Bruder oder seine Schwester gerettet hat und einige Wochen ins Land gegangen sind, kehren die vier Kinder an den Ursprung ihres Abenteuers zurück – und prompt wird wieder eines entführt.

Die Geschichte ist also wieder sehr ähnlich. Und auch die Levels unterscheiden sich nicht groß. Sicherlich sind sie anders aufgebaut, aber die Aufgaben bleiben identisch zum Hauptspiel.

Fazit

„Costume Quest“ ist ein sehr interessantes und kurzweiliges Vergnügen, das nach ca. 12 Stunden Spielzeit vorbei ist. Der Humor des Spiels erinnert sehr an „Psychonauts“, welches ebenfalls von der Spieleschmiede Double Fine Production erschaffen wurde. Wo Psychonauts aber durch extrem witzige Dialoge, abgefahrene Welten und Rätsel zu überzeugen wusste, hängt Costume Quest dem doch etwas hinterher. Eine Sprachausgabe gibt es leider nicht, nur die witzigen Dialoge sind geblieben.

Cutscenes erzählen die Geschichte – leider ohne Sprachausgabe.

Cutscenes erzählen die Geschichte – leider ohne Sprachausgabe.

Die vier Welten (inkl. Add-on) und vor allem die Aufgaben ähneln sich sehr, sind aber zumindest nicht so groß, dass es zu repetitiv wird. Die Kämpfe sind eher Mittel zum Zweck, fordern aber auch etwas Geschick beim Drücken der Knöpfe und Strategie bei der Auswahl der Kostüme und Kampfmarken.

Positiv ist die Steuerung über einen Controller. So wird auch ein Playstation3-Controller ohne Probleme erkannt. Blöd nur, dass bei allen Events die Xbox-Controller-Tasten angezeigt werden. Man kommt irgendwann von selbst dahinter, dass ein angezeigtes „X“ auf dem Schirm nicht die gleiche Taste auf dem PS3-Controller meint. Besser als mit Tastatur spielt es sich so aber auf alle Fälle.

Auch wenn es das Humble Bundle nicht mehr zu kaufen gibt, so kann man das Spiel noch über Steam erstehen.