Computerspiel "Code Hero": Programmieren mit der Wumme

Von

Das Computerspiel "Code Hero" soll Kindern und Spielkindern das Programmieren beibringen. Selbst wer noch nie eine Zeile Code geschrieben hat, soll es schnell lernen - dank einer Javascript-Kanone und mit der Hilfe von Ada Lovelace. Kann das funktionieren? Ein Selbstversuch.  

Computerspiel Code Hero: Programmieren mit der Javascript-Kanone Fotos
SPIEGEL ONLINE

Ich kann nicht programmieren, und das sollen die Männer in den weißen Kitteln jetzt ändern. Es sind die Programmierer des kalifornischen Start-ups Primerlabs, die in einem Video ihr neues Spiel erklären. Sie behaupten, dass selbst ein blutiger Anfänger wie ich Javascript lernen kann, ohne dabei sofort die Laune zu verlieren: Sie wollen mich mit einer Code Gun bewaffnen, einer Javascript-Kanone, mit der ich durch ein Videospiel laufen soll und den Code abschieße, den ich selbst geschrieben habe. Mache ich es richtig, entsteht dadurch zum Beispiel ein Gegenstand, den ich dringend brauche, oder Gegner werden eliminiert.

Ich bin spät dran mit dem Programmierenlernen. 2012 ist nämlich angeblich das Codeyear: Die Online-Programmierschule Codeacademy hat das Jahr des Programmierens ausgerufen, sogar der New Yorker Bürgermeister Michael Bloomberg macht mit. Seit Anfang des Jahres lese ich außerdem interessiert das Blog Fiona lernt Programmieren, in dem eine junge Frau davon berichtet, wie ihr zwei junge Männer das Schreiben von Software beibringen. Und der Deutsche Sebastian Thrun, Professor an der Stanford University, lässt mittlerweile Zehntausende von seinem eigenen Start-up Udacity per Fernstudium in die Geheimnisse des Computers einweihen. Wer die Welt von heute und morgen verstehen will, das ist die Idee, der muss zumindest eine Ahnung davon haben, wie die Software funktioniert, die sie am Laufen hält.

Nur ich habe mich noch nicht aufgerafft, teils aus Trägheit, teils aus Ehrfurcht. Jetzt ist die Schwelle niedrig genug: Ich will diese Kanone.

Dabei ist Code Hero noch gar nicht fertig. Die Mitarbeiter von Primerlabs werben zwar längst im Netz für ihr idealistisches Lernprojekt, mit der sie Spielkinder ans Coden bringen wollen. Weil sie dafür aber Geld brauchen, bieten sie die bereits spielbare Beta-Version gegen eine kleine Spende an. Dadurch soll ein Spiel entstehen, durch das Nutzer zu Machern werden.

Spenden, herunterladen, einloggen - los geht's. "Reality is broken. Gamers can fix it", begrüßt mich das Spiel mit einem Zitat der Spiele-Designerin Jane McGonigal. Die Realität ist kaputt, Spieler können sie reparieren. Ein bisschen "broken" sieht es in dem Spiel tatsächlich aus: Die Optik erinnert an frühe Computerspiele und wirkt kaum so, als lebten wir im Codeyear 2012. Außerdem ist es ziemlich leer. Wer zum Wohlfühlen mehr Inneneinrichtung braucht, muss sie sich herbeiprogrammieren.

Endlich eine Wumme

Schon vor dem eigentlichen Start wird die erste Zeile Code verlangt. print ( "Hello World" ) tippe ich brav ab und bin plötzlich mittendrin - in einem Raum, der an die Matrix erinnert. Es flackert und blinkt und ist insgesamt wenig anheimelnd.

Text und Pfeile lotsen mich raus da, gen "Gamebridge Unityversity" und zu dem Charakter, der mich durch das Spiel begleitet: Ada Lovelace, die erste Programmiererin der Welt. Sie erklärt mir, dass ich unterwegs meine Gegner besiegen muss, um zum Schluss in die "Humantheon Code Hero Hall" zu gelangen. Neben ihr sehe ich zwei Tore. Javascript steht über dem einen, Unityscript über dem anderen. Ich nehme den Javascript-Raum.

Endlich bekomme ich die Wumme und eine Konsole, mit der ich sie bedienen kann - sofern ich das Richtige eintippe. Es beginnt ganz leicht: Zunächst muss ich nur fertigen Code kopieren und einsetzen und darf dann zum ersten Mal schießen. Boom! Ich richte die Kanone auf bunte Würfel, die rechts neben mir aufgestapelt sind. Nach meinem Schuss purzelt einer von ihnen herunter. Aha! Auch wenn ich noch nicht weiß, wie das funktioniert, zeigt sich doch schnell, dass Ballern ein netter Weg sein kann, das Programmieren zu lernen: Prinzipiell sieht man sofort, was man da eigentlich baut. Beziehungsweise kaputtmacht.

Danach wird geübt. Ada erklärt mir, was es mit den Klammern und Anführungszeichen auf sich hat und an welcher Stelle ich ein Semikolon setzen muss, damit es weiter geht. Das Semikolon vergesse ich ständig, deshalb geht es bei mir nur langsam weiter. Aber außer einer Fehlermeldung kann nichts passieren - und wenn ich alles richtig eingebe, lobt mich die virtuelle Ada.

Wo bleibt die Ballerei?

Nach und nach lerne ich, mit Variablen zu hantieren, "if"-Bedingungen festzulegen und meinen Code zu kommentieren, also Anmerkungen einzufügen - bis schließlich das Kapitel "Math Operators" dran ist und mir wieder einfällt, warum ich das mit dem Programmieren so lange vor mir hergeschoben habe: Rechnen. "Mathematische Fähigkeiten sind sehr nützlich beim Coden", belehrt mich die Computerstimme auf Englisch. Ich ziehe kurz in Erwägung, mich lieber draußen in die Sonne zu legen, als im fahlen Bildschirmlicht Matheaufgaben zu lösen. Die Furcht ist aber unbegründet: Gerechnet wird hier wirklich nur auf Grundschul-Niveau, schließlich ist das hier vor allem ein Spiel für Kinder. Zum Beispiel soll im Console Output im unteren Fenster eine 15 erscheinen. Damit das passiert, tippe ich im Code Editor ein: print (10+5); Trockenübungen, geschossen wird nicht.

Doch plötzlich zieht das Niveau an. Nachdem alle kinderleichten Mini-Missionen erfüllt sind, soll ich mal eben ein FizzBuzz-Programm schreiben, ganz allein.

Statt nur einer einfachen Zahl soll im Output-Fenster die Zahlenreihe von 1 bis 100 erscheinen, bloß: Statt jeder Zahl, die durch drei teilbar ist, soll das Wort Fizz erscheinen, bei jeder Zahl, die durch fünf teilbar ist, das Wort Buzz. Statt aller Zahlen, die sowohl durch drei als auch durch fünf teilbar sind, soll da FizzBuzz stehen.

Das sei eine beliebte Aufgabe in Vorstellungsgesprächen für Programmierer, sagt Ada. Mich bringt das schon an die Grenze meiner gerade erst erworbenen Fähigkeiten. Zum Glück sitze ich allein vor dem Rechner; so sieht niemand, wie lange ich dafür brauche.

Das ist der Clou des Spiels: Man muss schon wollen. Allein mit Schießlust ist es hier nicht getan, sondern es braucht einen ausgeprägten Spiel- und Entdeckertrieb, eine Lust am Knobeln und Ausprobieren. Wer sich nicht entmutigen lässt und keine perfekt gestaltete heile Spielewelt braucht, kommt hier vorwärts.

Zum Beispiel glitzert ganz oben unter der Decke ein Stern, den ich gern hätte, aber den ich nicht erreiche. Hier bräuchte man wohl eine Treppe, aber Treppe kann ich noch nicht. Blöd. Wenn ich den Stern wirklich haben will, muss ich es eben lernen. Für ein wissbegieriges Kind müsste dieses Spiel perfekt sein. Ein Kind würde das auch viel schneller begreifen. Hierzulande dürfte es eher an der englischen Sprache hapern als an der Treppe oder einem Semikolon.

Ada Lovelace hilft bei der Treppe

Für meine Verhältnisse schlage ich mich aber gar nicht schlecht: Es gelingt mir nicht nur, mit Hilfe einer Zahlenreihe eine unförmige weiße Treppe in den Raum zu schießen (allerdings auch dort, wo niemand eine Treppe benötigt hätte). Sondern ich schaffe es auch tatsächlich, die 100 angreifenden FizzBots aus dem Weg zu räumen. Zugegeben, Ada Lovelace hat mir auf dem Weg ein paar Tipps gegeben, aber zum Schluss darf ich trotzdem in die Ruhmeshalle.

Hier wird mir attestiert, ich sei ein Code Hero. Natürlich bin ich keine Programmierheldin, und natürlich kann ich nach einem verspielten Nachmittag immer noch kein Javascript. Aber der Anfang ist gemacht, die ersten Zeilen sind geschrieben, und ich habe ein grobes Gefühl dafür bekommen, was Programmieren heißt.

Der Blogger und Programmierer Jeff Atwood hält davon allerdings wenig: Auf codinghorror.com schreibt er unter dem Titel "Please don't learn to code", es sei Unsinn, dass jeder plötzlich das Programmieren lernen wolle - nur um des Programmieren willens. Ich sehe das anders: Es ist erhellend, das einmal selbst auszuprobieren. Schaden kann es auf keinen Fall.

Meine Berührungsängste jedenfalls sind verschwunden, dafür ist mein Respekt vor Programmierern noch einmal gestiegen - vor der Disziplin, Ausdauer und Konzentration, die man braucht, um sauber zu programmieren und niemals den Strichpunkt zu vergessen. Das könnte ein schöner Nebeneffekt dieses Spiels sein: Es kann vermitteln zwischen Menschen, die programmieren, und Menschen, die es auch im Jahr 2012 immer noch nicht tun - trotz Kanone.

Diesen Artikel...
  • Aus Datenschutzgründen wird Ihre IP-Adresse nur dann gespeichert, wenn Sie angemeldeter und eingeloggter Facebook-Nutzer sind. Wenn Sie mehr zum Thema Datenschutz wissen wollen, klicken Sie auf das i.
  • Auf anderen Social Networks teilen

Forum - Diskutieren Sie über diesen Artikel
insgesamt 8 Beiträge
Alle Kommentare öffnen
    Seite 1    
1.
dafor 17.05.2012
Es scheint, dass Sie den Punkt noch nicht ganz erfasst haben. Es ist leider wahr, dass in manchen Programmiersprachen Konventionen der Syntax beachtet werden müssen, die eigentlich lächerlich sind, wie etwa die Semikolons, von denen Sie sprachen. Das sind zwar unangenehme aber im Prinzip nebensächliche Probleme. Schwierigere und bedeutendere Probleme, und damit würde ich dem Herrn Blogger teilweise recht geben, sind zum Beispiel: (1) welche Funktionalität wird in einem bestimmten Bereich wirklich benötigt, und welche schadet? (2) welche benötigte Funktionalität sollte per Computer Anwendung bereitgestellt werden, und welche nicht? (3) auf welche Weise kann diese Funktionalität überhaupt mittels eines Computers bereitgestellt werden? (4) in welcher Weise sollen Benutzer und Computer zusammenarbeiten um die bereitgestellte Funktionalität zu verwenden? (5) wie schafft man es die Programme so zu machen, dass sie später gegebenenfalls weiterentwickelt oder an neue Gegebenheiten angepasst werden können? Es gibt noch etliche andere Schwierigkeiten, die eigentlich viel wichtiger sind als die Semikolons etc. Trotzdem funktioniert ein Programm nicht, in dem die Syntaxkonventionen nicht beachtet worden sind. Es ist allerdings so, dass man die notwendige Priorisierung der Probleme erst erfahren kann, wenn man selber an länger andauernden und grösseren Projekten zur Entwicklung von Programmen teilgenommen hat und wenn man zudem noch die Gelegenheit hatte die praktischen Konsequenzen für Anwender wie Betreiber von Programmen zu erleben, die daher rühren, dass in der Entwicklung nicht gut gearbeitet wurde. Ich fürchte, dass derartige Dinge im Prinzip außerhalb der Möglichkeiten der beschriebenen Lernumgebung liegen. Das Bild vom Programmieren, dass diese Umgebung vermittelt ist mit ziemlicher Sicherheit sehr vereinfacht, geschönt und verfälscht.
2.
flachatmer 17.05.2012
Zitat von daforEs scheint, dass Sie den Punkt noch nicht ganz erfasst haben. Es ist leider wahr, dass in manchen Programmiersprachen Konventionen der Syntax beachtet werden müssen, die eigentlich lächerlich sind, wie etwa die Semikolons, von denen Sie sprachen. Das sind zwar unangenehme aber im Prinzip nebensächliche Probleme. Schwierigere und bedeutendere Probleme, und damit würde ich dem Herrn Blogger teilweise recht geben, sind zum Beispiel: (1) welche Funktionalität wird in einem bestimmten Bereich wirklich benötigt, und welche schadet? (2) welche benötigte Funktionalität sollte per Computer Anwendung bereitgestellt werden, und welche nicht? (3) auf welche Weise kann diese Funktionalität überhaupt mittels eines Computers bereitgestellt werden? (4) in welcher Weise sollen Benutzer und Computer zusammenarbeiten um die bereitgestellte Funktionalität zu verwenden? (5) wie schafft man es die Programme so zu machen, dass sie später gegebenenfalls weiterentwickelt oder an neue Gegebenheiten angepasst werden können? Es gibt noch etliche andere Schwierigkeiten, die eigentlich viel wichtiger sind als die Semikolons etc. Trotzdem funktioniert ein Programm nicht, in dem die Syntaxkonventionen nicht beachtet worden sind. Es ist allerdings so, dass man die notwendige Priorisierung der Probleme erst erfahren kann, wenn man selber an länger andauernden und grösseren Projekten zur Entwicklung von Programmen teilgenommen hat und wenn man zudem noch die Gelegenheit hatte die praktischen Konsequenzen für Anwender wie Betreiber von Programmen zu erleben, die daher rühren, dass in der Entwicklung nicht gut gearbeitet wurde. Ich fürchte, dass derartige Dinge im Prinzip außerhalb der Möglichkeiten der beschriebenen Lernumgebung liegen. Das Bild vom Programmieren, dass diese Umgebung vermittelt ist mit ziemlicher Sicherheit sehr vereinfacht, geschönt und verfälscht.
Ja, ganz schrecklich. Zum Glück sind die Bilder, die Spiele von Polizisten, Soldaten, Terroristen, Gangstern und Gitarristen zeichnen weitaus differenzierter.
3. Bevor Sie ...
frigor 17.05.2012
Zitat von daforIch fürchte, dass derartige Dinge im Prinzip außerhalb der Möglichkeiten der beschriebenen Lernumgebung liegen. Das Bild vom Programmieren, dass diese Umgebung vermittelt ist mit ziemlicher Sicherheit sehr vereinfacht, geschönt und verfälscht.
... ein derart langes Blabla schreiben, hätten Sie diese Umgebung ja mal testen können.
4.
darksystem 17.05.2012
Zitat von daforIch fürchte, dass derartige Dinge im Prinzip außerhalb der Möglichkeiten der beschriebenen Lernumgebung liegen.
Derartige Dinge lernt man in einer Berufsausbildung oder in einem Studium. Hier geht es darum auf spielerische Art und Weise einen Einstieg in die Programmierung zu bekommen. Und eben bei diesem Einstieg sind die von Ihnen aufgezählten Dinge, so relevant sie für die "richtige" Programmierung auch sein mögen, absolut nebensächlich. Und jeder Guitar Hero Spieler kann nach dem Spielen perfekt Gitarre spielen und hat den vollen Durchblick wie viel Lernarbeit, Talent und Können "echte" Spieler aufbringen müssen, ja ne is klar ;):
5.
ctrlaltdel 17.05.2012
Zitat von frigor... ein derart langes Blabla schreiben, hätten Sie diese Umgebung ja mal testen können.
testen geht nicht, die Jungs haben auf dem Demo Eingangsfenster das "registrieren" vergessen :-(((
Alle Kommentare öffnen
    Seite 1    
News verfolgen

HilfeLassen Sie sich mit kostenlosen Diensten auf dem Laufenden halten:

alles aus der Rubrik Netzwelt
Twitter | RSS
alles aus der Rubrik Web
RSS
alles zum Thema Software
RSS

© SPIEGEL ONLINE 2012
Alle Rechte vorbehalten
Vervielfältigung nur mit Genehmigung der SPIEGELnet GmbH



  • Drucken Senden
  • Nutzungsrechte Feedback
  • Kommentieren | 8 Kommentare

Anzeige
  • Christian Stöcker:
    Spielmacher

    Gespräche mit Pionieren der Gamesbranche.

    Mit Dan Houser ("Grand Theft Auto"), Ken Levine ("Bioshock"), Sid Meier ("Civilization"), Hideo Kojima ("Metal Gear Solid") u.v.A.

    SPIEGEL E-Book; 2,69 Euro.

  • Einfach und bequem: Direkt bei Amazon kaufen.