„The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793 at every appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant. This also simplifies modifying the program, should the value of pi change.“
– FORTRAN manual for Xerox computers

Das ist der aktuelle Stand der Karte mit Beispielobjekten. Im Unterschied zu Freelancer sind die Objekte wesentlich größer dargestellt und das Raster hat einen stärkeren visuellen Effekt - der für ein Browsergame für gute  Usability IMHO nötig ist.

Die neue Karte: Nouron Galaxy Map

Im letzten Blogeintrag zum Stand von Nouron erwähnte ich, dass ich an einer neuen Karte arbeite welche universell einsetzbar sein soll. Und weil es dich sicher brennend interessiert möchte ich dazu etwas mehr Hintergrundinfos veröffentlichen…😉

Nochmal kurz meine Beweggründe für dieses (Teil-)-Projekt:

  • Einsatz von mehr SVG
  • Training für meine (eher durchschnittlichen) Javascript/JQuery/Ajax-Skills
  • Wiederverwertbarkeit von Teilen meines Browsergames…
  • Einstiegshürde für Entwickler die mir evtl. helfen wollen verringern
  • … und eine Referenz mehr auf GitHub😉

Mittlerweile hat das Projekt einen brauchbaren Stand. Ich habe die Karte auch schon testweise in Nouron eingebaut und es funktioniert soweit. Es gibt noch fehlende Funktionalität für den wirklichen Gebrauch im Browsergame, aber dazu mehr weiter unten.

Wie ist die Karte konzeptionell aufgebaut?

Zunächst einmal handelt es sich um eine klassische 2D-Karte ohne viel Schnick-Schnack. Die Karte ist in 9 Felder aufgeteilt – bei einem Weltraumbrowsergame wie Nouron kann man sie als Systeme oder Sektoren bezeichnen. Die 9 Felder sind nach Himmelsrichtungen + Zentrum angeordnet. Jedes Feld ist eine SVG-Karte für sich, so dass das Nachladen von Inhalten beim Scrollen von oben/unten bzw. links/rechts sehr einfach möglich ist.

Ebenso war es mein Ziel bereits Teile des Nachbarfeldes/systems/sektors sehen zu können. Somit ist das Feld im Zentrum vollständig dargestellt – die Felder außen herum nur zum Teil. Je nach gewählter Skalierung kann man dass aber auch anders einstellen.
Die angezeigten Objekte selbst sind extra etwas größer dargestellt (momentan ca. 30px) um sie besser anklickbar zu machen. Das kann in Zukunft aber noch anders skaliert werden. Je nach Einsatzzweck für die Karte kann man die Skalierung wunschgemäß in der Konfiguration eintragen.
Außerdem werden mehrere Ebenen unterstützt. Für Nouron liegen z.B. auf der untersten Ebene die Objekte für großflächige Felder wie Asteroidenfelder und Trümmerhaufen. Darüber dann die Ebene mit Planeten und Monden. Und darüber dann die Ebene für Schiffe/Flotten.

Was habe ich bisher durch dieses Projekt gelernt?

  • ich konnte einige meiner eingestaubten SVG-Grundlagen auffrischen
  • ich habe gelernt wie man mit Javascript SVG erzeugt,
  • dass man aufgrund des in den meisten Browser umgesetzten Sicherheitskonzepts namens ‚Same Origin Policy‚ nicht mal eben eine JSON-Datei vom Dateisystem als Beispiel-Datenquelle nutzen kann,
  • dass man mit SVG keine Techniken ähnlich der CSS Sprites anwenden kann (!) und
  • wie man ein Projekt mit Bower.js – Support austattet

Bisher aufgetretene Probleme

Die erwähnte ‚Same Origin Policy‘-Problematik kann man durch Webserver-Einsatz umgehen. Entsprechenden Hinweis habe ich in der README hinzugefügt und damit ist das Problem vom Tisch. Die fehlende Möglichkeit jedoch mit SVG eine Technik ähnlich der CSS-Sprites einzusetzen hat mir schon einen gehörigen Strich durch die Rechnung gemacht. Um Requests zu sparen ist eine Sprite-Technik sehr wichtig. Leider ist das wie gesagt mit SVG nicht wie gewünscht möglich. Insofern sah ich mich gezwungen einen zweiten Modus einzubauen: den Hybrid-Modus. Dies ist wie der Name vermuten lässt eine Kombination aus HTML und SVG. Somit kann ich hier auf klassische CSS-Sprites setzen. SVG wird dabei momentan eigentlich nur noch für den Hintergrundraster verwendet.

So richtig glücklich bin ich damit nicht weil ich jetzt zwei Modi unterstützen muss und das natürlich zusätzliche Komplexität in den Quellcode des Projekts bringt. Ich bin schon stark am überlegen ob ich die SVG-Komponente doch wieder ganz entfernen werde. Wollen tue ich das aber eigentlich nicht – schließlich war es ursprünglich das Primärziel dieses Projekts.

Welche Funktionalität fehlt jetzt noch?

Es muss eine Möglichkeit geben Objekte anzuklicken und deren Informationen anzuzeigen. Dies soll so universell wie möglich geschehen. Es wird also auf einen Ajax-Request auf eine individuell einstellbare Url hinauslaufen, deren Response-Daten entweder in ein zuvor definiertes DOM-Element wie z.B. ein Popup geladen werden.

Wenn ich dann noch irgendwann Lust drauf habe, baue ich vielleicht noch einen Editor, mit dem man sich Karten aus gegebenen Sets zusammenklicken kann – aber das ist momentan noch eher Wunschdenken.

Wie gehts weiter?

Von Zeit zu Zeit werde ich weiter an der Karte basteln und sie so anpassen, dass ich sie für Nouron einsetzen kann – aber auch so dass sie für andere Browsergameprojekte einsetzbar wird. Für die oben angesprochenen SVG-Problematik muss ich noch eine Lösung finden… vielleicht ein Fork ohne SVG-Support?

Wie dem auch sei: ich hoffe ich konnte mal wieder einen kleinen Einblick gewähren und würde mich über Feedback sehr freuen!

Bis zum nächsten Mal,
tector🙂

Nouron – Stand: April 2014

Stand: November 2013
Stand: Januar 2013
Stand: März 2014
Stand: April 2014

Fast ein halbes dreiviertel Jahr ist die letzte News zu Nouron her… und noch schlimmer: ich habe mehrmals einen neuen Blogeintrag angekündigt und es dann nicht eingehalten! Das tut mir leid für die 1-2 Leute die wirklich interessiert sind und darauf gewartet haben.
Wie du an den (symbolischen) Streichungen oben im Text sehen kannst habe ich durchaus mehrfach angefangen diesen Blogpost zu schreiben aber nie richtig vollendet und veröffentlicht. Das hole ich nun hiermit nach.

Und auch wenn es so von außen aussieht als ob sich nix getan hätte, ist das Gegenteil der Fall.
In den letzten Wochen gab es auch wieder vermehrt Commits auf GitHub – Meine Aktivität ist also wieder deutlich gestiegen. Aber ich erläutere einfach mal was sich so im letzten Jahr getan hat:

Phase 1: Sommer 2013 – November 2013

Es gab zwei sehr große Baustellen in dieser Zeit

Restrukturierung der Techtree-Objekte

Teil 1 von 2 großen Umbauten in diesem Jahr. Letztendlich eine sehr technische Sache von der man im Frontend gar nichts spürt. Aber für diesen Umbau musste ich gefühlt 60-70% des bestehenden Codes umschreiben. Statt alle Technologie-Arten (Gebäude, Forschungen, Schiffe, Berater) wie bisher in einer Tabelle der DB zu speichern werden sie jetzt in jeweils einzelnen Tabellen gespeichert. Also ein Schritt weg von ‚Oh, erfinde jetzt mal was bahnbrechend Neues und lege mir dabei selbst Steine in den Weg’… Bitte nicht falsch verstehen: Das Konzept hätte aufgehen können, aber es wurde einfach zu kompliziert für einen einzelnen Entwickler den Überblick zu bewahren. Und es ist schwer verständlich für andere Entwickler die vielleicht mal in das Projekt einsteigen wollen.
Insofern jetzt der klassische Ansatz den jeder Browsergame-Programmierer versteht.
Aber es mussten ja nicht nur die Tabellen der Datenbank umgeschrieben werden sondern auch die zugehörigen Model-Klassen. Außerdem mussten fast alle bereits implementierten Funktionen (Techtree, Flottenzusammenstellung, Handelsangebote) nochmal angefasst werden. Also das war schon eine Menge Arbeit.
Ich kann noch nicht mal behaupten, dass das wirklich schon 100% abgeschlossen ist. Hier und da stoße ich noch auf Probleme die mit dieser Umstellung zusammen hängen, wobei die Lösung mittlerweil recht einfach ist, da ich genau weiß wie ich es haben möchte! (das war auch nicht immer so😉

Beim Techtree habe ich optisch nichts verändert. Bei der Flottenzusammenstellung jedoch habe ich die Oberfläche in diesem Zusammenhang komplett überarbeitet. Es ging dabei vor allem um eine Vereinfachung und die Möglichkeit auch auf kleinen Bildschirmen (Smartphones, Tablets) gut bedienen zu können.

Einführung von Aktionspunkten

Das war der zweite ganz große Umbau in diesem Jahr. Es gab so ein Gefühl in mir das irgendetwas an dem Spiel noch nicht stimmte aber ich wusste nicht was. Irgendwo fehlte einfach etwas.
Dann machte ich zusammen mit meinem besten Freund ein Brainstorming und heraus kam die Idee der Aktionspunkte. Personal gibt Aktionspunkte pro Tick. So wird neben dem statischen Supply auch eine dynamische Ressource eingesetzt. Es fühlt sich jedenfalls richtig an. Bei rundenbasierten Brettspiele ist der Einsatz von Aktionspunkten ja auch gang und gebe. Und ich glaube hier konnte ich eine große Lücke im Spieldesign schließen. Nach der Idee der Einführung der Aktionspunkte sprudelten die Ideen was man damit anfangen könnte nur so über. Ich bin jedenfalls schwer begeistert und denke dass da in Zukunft noch einiges kommen wird was ich dann genauer erklären kann.

Sonstiges

Neben diesen großen Umbauten gab es noch kleinere Baustellen und Experimente

  • Migration vom Frontend-Framework Bootstrap 2 zu Bootstrap 3
  • Update der verwendeten JQuery-Version
  • Behaviour Tests mit Behat [experimentell]
  • Kontaktaufnahme mit einem Texter der vielversprechend war, aber leider ist der Kontakt wieder ohne Ergebnisse abgebrochen

Phase 2: Dezember 2013 – Anfang Januar

Hier passierte nichts! Nicht weil ich nicht wollte, sondern weil daran gehindert wurde:
Zum einen hatte ich über einen Zeitraum von mehr als 2 Wochen kein Inet und zum anderen gab meine Festplatte den Geist auf und musste ersetzt werden. Ich hatte also eine neue Platte ohne die Tools die ich zum programmieren brauchte und kein Inet um mir die Tools zu besorgen aber ich hatte ganz viel Zeit die ich sonst nicht habe …
Scheiß Kombination >:-/

Phase 3:

Im Januar konnte ich dann wieder anfangen und habe erstmal die Umstellung auf Bootstrap 3 und JQuery-Update fertig gemacht. Dann war erstmal alles auf einen guten Stand und ich wollte mich daran machen die Aktionspunkte auch bei Flottenbewegungen zu implementieren. Nach längerem Überlegen bin ich zu dem Schluss gekommen, dass die momentane Karte nicht gut ist: alles viel zu klein und fummelig – außerdem nicht ansatzweise auf mobilen Geräten tauglich. Also Flottenbewegungen erstmal nach hinten verschoben. Jetzt muss erstmal eine neue Karte her…

Phase 4:

… und weils sonst langweilig wird, ist daraus ein eigenes Projekt entstanden. Naja es gab gute Gründe dafür:

  • ich will mehr SVG einsetzen und mit den aktuellen Browsern ist das nicht mehr so ein Krampf wie früher
  • ich will meine Javascript/JQuery/Ajax-Skills trainieren
  • ich will Teile meines Browsergames wiederverwertbar machen… so eine Karte kann man auch leicht in andere Browsergames einbauen
  • ich will damit die Einstiegshürde für Entwickler die mir evtl. helfen wollen verringern, da bei diesem Projekt keine Einarbeitungszeit in das komplexe Zend Framework 2 nötig ist
  • und nicht zuletzt: eine Referenz mehr auf GitHub😉

Das Projekt heißt momentan ‚Nouron Galaxy Map‘ (Name kann und wird sich wohl noch ändern) und ist unter https://github.com/tector/ngm erreichbar.
Ich würde es auf dem aktuellen Stand noch niemandem empfehlen produktiv einzusetzen! Aber ich werde weiter dran arbeiten, dass das irgendwann mal der Fall ist.

Jedenfalls bin ich seit ein paar Wochen wieder deutlich aktiver und öfter am programmieren. Vielen Dank auch an @xBlackScorpx für die zusätzlich Motivation🙂

BlackScorp hat mich auch auf das Tool Scrutinizer.com gestoßen, mit dem man leicht die CodeQualität seines Projekts überprüfen kann – was auch sehr motiviert diese zu verbessern. Tja, da ist mir erstmal aufgefallen an wievielen Stellen im Code man deutlich erkennen kann, dass ich meine Arbeit mittendrin aufgrund von Zeitmangel eingestellt habe und dann vergessen habe.. Solche Probleme versuche ich derzeit zu fixen. Und in diesem Zusammenhang schreibe ich nun auch wieder vermehrt Unittests. In der alten Version mit ZF1 hatte ich schon einiges an Unittests zusammengetragen und eine Code Coverage von ca. 75%. Das ist jetzt nicht mehr der Fall.. ich würde gerne wieder da hin kommen… momentan sind es aber gerademal 20%.

So das war doch jetzt mal ein sehr ausführlicher Blogpost😉 Entschuldigt evtl. Rechtschreib/Grammatikfehler.. ich werde sie nachträglich beseitigen sollten mir welche auffallen aber jetzt wollte ich den Post endlich mal fertig stellen und nicht weiter verzögern. Deshalb leider auch NUR Text und keine Bilder… ich bin leider kein guter Blogger😦

Abschließend möchte ich noch betonen, dass ich mich wie immer über jede Form von Feedback freue!
Folgt Nouron auch auf Twitter, Facebook und Google+
Vielen Dank und bis zum nächsten Mal! Have Fun!

In Response to Fabien Potencier: Twig & PHP Templating

… nach wie vor ein Streitthema: PHP Template Engines … ich kann beide Seiten verstehen – mich aber keiner 100% anschließen…

Eli's Ramblings

This evening I saw that the most excellent programmer, and lead of the the Symfony Framework: Fabien Potencier, had posted a new article on his blog about Templating Engines in PHP, and announcing a new templating engine: Twig

It’s a good article, and I highly recommend that you all go read it. But I took a few exceptions to some of his arguments against PHP as a templating language itself, I think he grossly undersold PHP-as-template in his enthusiasm to promote his new templating language that he created. This blog post is therefore simply a response to that. To that end, I’d like to start off with a few groundrules for my discussion:

  1. Fabien’s ideas, and blog post, are solid.
  2. Twig appears to be a great looking templating language
  3. While I prefer PHP-as-template, I understand why, and when, using a templating language makes sense

So now, what…

Ursprünglichen Post anzeigen 1.545 weitere Wörter

Nouron – Stand: Juli 2013

Hallo verehrter Blogbesucher und alle Interessierten! Ich habe diesen Post fürs Wochenende versprochen und.. nunja.. es ist ja noch nicht ganz vorbei😉 Es ist schon wieder zu lange her, dass ich etwas zum aktuellen Stand von Nouron geschrieben habe. Das möchte ich hiermit nachholen: Was hat sich bei Nouron getan?

Aktionspunkte
Das ist wirklich ein großes Thema! Aktionspunkte (kurz: AP) kamen im Rahmen einer ‚Brainstorming-Session‘ mit meinem Kumpel ins Gespräch und lassen mich seitdem nicht mehr in Ruhe! Wie ich bereits einmal twitterte schießen mir ständig tolle Ideen vor allem im Zusammenhang mit Aktionspunkten in den Kopf. Ich habe das Gefühl, dass man mit Aktionspunkten das ganze Spiel vielseitiger und interessanter machen kann. Vor allem vermeide ich damit auch etwas Leerlauf gerade für Neueinsteiger, weil es etwas mehr Klicks benötigt und man dann nicht so stark das Gefühl bekommt am Anfang wenig machen zu können. Andererseits muss ich aber aufpassen damit nicht gegen das Grundkonzept ‚wenig Klickaufwand‘ zu verstoßen – aber solange man nicht jeden Aktionspunkt einzeln klicken muss werde ich das schon in Einklang bringen können.

Ich wundere mich selbst, dass ich bei einem quasi rundenbasierten Spiel – wo Aktionspunkte ja nichts unübliches sind – nicht von vornherein die Möglichkeit von Aktionspunkten bedacht habe. Man kann damit viel flexibler agieren z.B. beim Bau von Gebäuden indem man den Bau auch unterbrechen oder die Fertigstellung verschiedener Gebäude allein durch die richtige Verteilung von AP synchronisieren kann. Aber wie soll das Ganze überhaupt funktionieren?
Zunächst einmal ergänzen sich das Versorgungssystem (=Supply) und die Aktionspunkte wunderbar! Denn nun kommt zu den statisch investierten Versorgungspunkten (konstant verbraucht pro Tick) die dynamisch einsetzbaren AP (stehen pro Tick erneut zur Verfügung). Hier kommen dann auch die Berater bzw. Personal ins Spiel: um Personal zu bekommen investiert man Versorgungspunkte (=VP bzw. Supply) und bekommt dafür AP. Je nachdem in welches Personal man VP investiert bekommt man unterschiedliche Arten von AP (BauAP, ForschungsAP, HandelsAP, FlottenAP, DiplomatieAP). Diese wiederum braucht man um Gebäude oder Forschungen fertigzustellen (neben den benötigten Ressourcen), Verträge zu schließen oder Gesetze zu entwerfen. Und so weiter, und so fort… Ich hoffe ich kann ansatzweise verdeutlichen wieviel Potential da drin steckt. Hoffe es wird nicht zu kompliziert… die nächste Brainstorming-Session ist bereits geplant😉

Unittests

Ein heikles Thema aus der technischen Ecke! Info für alle Nichtprogrammierer: Es geht darum den geschriebenen Code mit automatisierten Tests abzudecken um die Codequalität und -zuverlässigkeit zu erhöhen und die Wartbarkeit zu erleichtern. Vor der Umstellung auf das Zend Framework 2 hatte ich mit der alten Version eine recht gut Testabdeckung des Quellcodes von über 70%. Mit dem ZF2 habe ich lange gebraucht überhaupt die Testfunktionalität zur verfügbar zu machen. Dies ist mir nun aber gelungen und ich werde langsam aber sicher mehr und mehr Tests hinzufügen.

Flottenmanagment
Nachdem ich mit der Art und Weise wie die Flotten zusammengestellt werden irgendwie nicht zufrieden war, habe ich diesen Teil nochmal komplett überarbeitet und radikal vereinfacht. Das ging eigentlich ziemlich gut und ich bin ganz zufrieden damit. Jetzt sollte das auch auf mobilen Geräten ganz gut funktionieren – habe es aber noch nicht getestet.

Handel (insbesondere Gebote einstellen)
Die Handelskomponente ist jetzt erstmal die letzte dringende Kernkomponente die ich von der alten Version auf die neue portieren muss. Dann wären Techtree, Galaxie, Flotten und Handel grob fertig – und fast ein spielbarer Status erreicht (naja ‚fast‘). Am Anfang ging das mit dem Handel auch ganz gut: Suchform, Angebotsform, Tabellarische Übersicht, Seitennavigation.. Aber irgendwas hindert mich daran die Funktion zum ’neues Angebot erstellen‘ fertigzustellen. Es ist ziemlich komplex, da hier sowohl (Zend) Formularkomponente, Validierung, Formatierung/Fehlerausgabe, Datenbank (zum abspeichern) und dieser ganze Ajax-Mist mit reinspielen. Das ist schon heftig für eine eigentlich doch so simple Funktion… Aber ich bleibe dran und das wird schon noch werden!🙂

neuer Texter
Ich habe jemanden kennengelernt, der als begeisterter Rollenspieler sehr viel Lust hat in Zukunft für Nouron die Story, Beschreibungen, Charaktere etc. zu entwerfen. Bin gespannt was die Zukunft bringt… Mehr dazu bald.

Was steht als nächstes auf dem Plan?
Ich muss jetzt erstmal weiter an den neuen Aktionspunkten arbeiten – was hier und da leider wieder Umbauten erfordert. Bin aber trotzdem ganz zuversichtlich, dass das relativ problemlos laufen wird. Weiterhin versuche ich demnächst die Ajax-Funktionen in den Griff zu kriegen und einheitlich zu gestalten… (z.B. beim Gebäude bauen oder Handelsgebot einstellen).
Javascript und vor allem Ajax sind wirklich nicht mein Ding – aber es muss ja leider sein in der heutigen Zeit… Desweiteren werde ich parallel mehr und mehr Unittests schreiben um den bestehenden Code abzudecken. Mehr möchte ich erstmal nicht vorausplanen. Wenn ich das Entwicklungtempo der Vergangenheit als Schätzungsgrundlage nehme werden diese Dinge wohl wieder einige Monate in Anspruch nehmen (da ich meist nur am Wochenende Zeit für Nouron habe). Bis dahin gibt es dann natürlich wieder Updates per Twitter, Facebook, Google+ und natürlich hier im Blog. Bitte unterstützt das Projekt indem ihr folgt, kommentiert, teilt und/oder liked… Vielen Dank und bis bald!

Max Payne 3 – mein Test

Als großer Fan von Max Payne 1+2 war ich bei der Ankündigung von Max Payne 3 überaus skeptisch, ja sogar enttäuscht: ein fetter, alter „Bruce Willis“ -Verschnitt im sonnigen, farbenfrohen Brasilien? Was hat Rockstar eigentlich an „Noir York City“ und „Max journey through the night“ nicht verstanden? Das kann doch nix werden! Das werde ich nie und nimmer spielen – R.I.P. Max! Mit dieser Meinung war ich auch keinesfalls alleine wie ich anhand vieler Kommentare in Foren und Co lesen konnte.

Nachdem nach und nach mehr über das Spiel bekannt wurde sank meine Skepsis etwas und es machte sich ein neben dieser anderes Gefühl breit: neugieriges Interesse. So war ich am Releasetag wirklich hin und hergerissen ob ich es mir kaufen sollte oder nicht. Die letzten Kritiken und Usermeinungen waren überwiegend sehr positiv. Und so kaufte ich es mir – nicht mit voller Überzeugung, aber in der Hoffnung positiv überrascht zu werden.

Nun nachdem ich das Spiel durch habe kann ich sagen: der Kauf hat sich gelohnt! Es ist kein 08/15-Shooter – wer das behauptet kann das Spiel nicht gespielt haben..

Der Soundtrack ist Rockstar-typisch genial – auch das typische Klavierthema kommt vor. Jedoch finde ich es nicht so passend und es kommt nicht an die orchestrale Version des zweiten Teils heran – schade.  Dafür sind die restlichen Tracks sehr treibend und immer stimmig. Für mich gipfelte die Musikuntermalung in der Flughafenmission in dem die Hintergrundmusik von Health eine Wahnsinnsatmosphäre kreierte – wirklich eine Ausnahmeerscheinung!

Das Leveldesign ist durchweg gut und immer sehr glaubwürdig.  Viele der Orte erinnern an die ersten Serienteile, wie z.B. eine Tiefgarage oder ein Polizeirevier – sehr schön. Die extravagante Genialität einiger Levels der Vorgänger wird leider nicht erreicht (wie z.B. Monas Funhouse oder die Mission in der Vinnie Cognitti im Captain BaseBallBat-Boy -Kostüm steckt). Leider fehlen auch komplett die Alptraumpassagen wie in den Vorgängern üblich.. – was ich persönlich sehr schade finde, weil sie für mich eine Grundsäule von Max Payne darstellen..
Etwas Humor in Form von Fernsehsendungen gibt es auch wieder. Allerdings bei weitem nicht so konsequent wie in den ersten beiden Teilen und auch nicht halb so kultverdächtig.

Die Story ist sehr gut und die Charaktere gut gezeichnet. Leider konnte ich stellenweise der Story schlecht folgen, weil ich lange an bestimmten schweren Stellen nicht weiterkam und anschließend nicht mehr genau wusste an welchem Punkte der Story ich eigentlich gerade war. Dazu kommen halt gewisse Zeitsprünge wo man Max in der Vergangenheit spielt. Letztendlich muss man da schon dankbar sein den Glatzkopf vom alten Max Payne und der Zwischenversion mit Bart unterscheiden zu können – sonst hätte man der Story wohl noch schlechter folgen können😉  Ich glaube zwar, dass man die Verwandlung auch anders hätte darstellen können, jedoch machen Max zynische, selbstkritische Kommentare wie lachhaft er doch aussieht die ganze Verwandlung wiederum glaubhaft.

Nochmal zurück zum Schwierigkeitsgrad: der ist durchgehend recht anspruchsvoll.. ich habe auf normal gespielt (was den zweiten von vier Schwierigkeitsgraden entspricht) und ich hatte an einigen Stellen schon ein paar mehr Versuche gebraucht.  Eine freie Speicherfunktion hätte das ganze angenehmer und einfacher gemacht – die automatischen Speicherplätze lagen für meinen Geschmack an manchen Stellen ungünstig oder zu weit auseinander.

Da die Gegneranzahl permanent absurd hoch ist (COD lässt grüßen), hätte ich mir hier und da ein paar Granaten im Waffenarsenal gewünscht – die wurden aber unverständlicherweise nicht ins Spiel aufgenommen, obwohl die Gegner durchaus welche in petto haben *argh*. Naja, die hohe Gegneranzahl sorgt zumindest dafür, dass man auf Achievementjagd gehen kann – wenngleich die Achievements leider etwas fehl am Platz wirken und etwas auf die Atmosphäre drücken… weniger wäre in diesem Fall mehr. Habe ich eigentlich erwähnt das die Gewaltdarstellung recht krass ist? Da wird schon in der Eröffnungsszene klar, dass dieses Spiel nur für Erwachsene geeignet ist – aber selbst dabei stellt man sich die Frage ob die Darstellung hier noch zweckmäßig ist oder nicht doch ein bißchen übers Ziel hinausgeschossen ist. Mich persönlich hätte etwas weniger Blut jedenfalls nicht gestört…

Kurz noch den Multiplayer-Modus angesprochen: Ist vorhanden, ist innovativ – aber motiviert nicht lange. Die Mühe hätte Rockstar sich sparen können und den zusätzlichen Arbeitsaufwand noch in den Singleplayer-Modus stecken können.

Fazit

Max Payne 3 ist ein sehr gutes Spiel welches sich spürbar vom Einheitsbrei abhebt. Allein dafür muss es schon gelobt werden. Die Inszenierung ist packend und der Soundtrack spitze. Auch die Grafik ist – soweit ich das beurteilen kann – auf sehr gutem Niveau. Die Handlung ist simpel aber sehr umständlich erzählt.
Irgendwie hatte ich aber die ganze Zeit über das Gefühl, dass irgendwas fehlt. Es wurde etwas von der ‚Essenz‘ des Max Payne gestohlen.. etwas zu viel meiner Meinung nach. Würde nicht Max Payne draufstehen wäre das gar kein Problem. Aber durch diesen Namen sind Vergleiche zu den Vorgängern unvermeidlich und da kommt Teil 3 leider einfach nicht ran.

Ich möchte an dieser Stelle auch auf das einstündige GameOne-Review verweisen, was auch noch einige Dinge auf den Punkt bringt die ich hier vielleicht nicht so ausführlich angesprochen habe.

Flottenmanagement in Nouron

Ich habe hier im Blog schon über die Flottenbewegungen geschrieben, aber noch nicht über die Flotten selbst. Ich möchte hier nun etwas auf das Flottenmanagement in Nouron eingehen. Aber zunächst möchte ich noch einmal auf eine technische Besonderheit aufmerksam machen:

Im Techtree von Nouron gibt es vier Kategorien: Gebäude, Forschungen, Schiffe und Berater. Diese Objekte laufen alle unter dem Namen ‚Technologie‘ – ja, auch Berater sind aus technischer Sicht Technologien🙂 Jede Technologie hat neben der Kategorie (Typ) auch einen Zweck, wie z.B. Zivil, Wirtschaft, Militär etc. (evtl. wird es pro Technologie auch mehr als ein Zweck geben). Zudem haben Technologien ein Attribut welches sie als handelbar auszeichnet oder eben nicht. Ich spiele durchaus mit dem Gedanken auch Gebäude handelbar zu machen – aber da ist ebenso noch nichts in Stein gemeißelt.

Was ist nun eine Flotte?

Eine Flotte ist ein Verbund von Raumschiffen, also Technologien der Kategorie ‚Schiff‘. Weiterhin benötigt eine Flotte Crew-Mitglieder, also Technologien der Kategorie ‚Berater‘. (‚Berater‘ ist vielleicht nicht das optimale Wort, das wird evtl. noch geändert) Optional kann eine Flotte Fracht in Form von Passagieren (=Berater), Technologien (Gebäude, Forschungen, evtl. kleine Schiffe/Satelliten/Drohnen) und Ressourcen zugewiesen bekommen. Man muss sich also nicht pro Schiff um die Einzelheiten kümmern, sondern um die Flotte als Ganzes.
Ein einzelnes Schiff ist technisch gesehen zwangsläufig eine eigene Flotte.

Was wird es nicht geben?

Es wird keine individuellen, aus Modulen bestehenden Raumschiffe geben. Ich weiß, dass das ein tolles Feature wäre was viele vermissen werden. Aber ich werde darauf verzichten um das Spiel nicht zu komplex in diesem Bereich werden zu lassen. Der Schwerpunkt von Nouron liegt ja woanders. Andererseits ist diese Entscheidung nicht fest in Stein gemeißelt und ich werde sobald das Spiel mal einen stabilen, spielbaren Status hat nochmal über diese Möglichkeit nachdenken.

Welche Schiffstypen gibt es?

Ich unterscheide in zivile und militärische Schiffe. Momentan sind bei den zivilen Schiffen kleine, mittlere und große sowie Personen- Transporter geplant – und ach ja: das Kolonieschiff. Bei den militärischen Schiffe sind es Jäger, Fregatten und Kreuzer. Ja, das sind nicht so viele Typen bisher aber wie schon erwähnt: Schwerpunkt und so. Dennoch gibt es gewisse Schiffstypen die ich evtl. noch gerne einbauen würden. Z.B. ein Spionageschiff das über Tarnung verfügt, ein Forschungsschiff (ermöglicht Handel mit Forschungen) oder ein Konstruktionsschiff (Handel von Gebäuden).
Aber das sind alles Dinge die später eingebaut werden können wenn mal das Grundgerüst steht.
Jeder Schiffstyp hat unterschiedliche Ausprägungen von Schiffsattributen, u.a. Geschwindigkeit (verfügbare Aktionspunkte pro Tick), Frachtraum

Flottenbefehle

Flottenbefehle die in der ersten spielbaren Version möglich sein sollen sind ‚erstellen‘, ‚auflösen‘, ‚bewegen‘ und ‚angreifen‘. Später sollen dann Befehle wie ‚joinen‘, ’stationieren‘ und ‚eskortieren‘ möglich sein.

Was ist momentan noch problematisch?

Es ist noch ungeklärt wie der Zustand der Flotte bzw. der einzelnen Schiffe technisch umgesetzt wird. Technologien altern prinzipiell was den Zustand senkt. Bei Gebäuden äußert sich das in dem der Level sinken kann wenn man den Zustand durch Reparatur nicht verbessert. Wenn Schiffe einer Flotte zugewiesen sind (und nicht der Kolonie) funktioniert das momentan noch nicht. Hierbei wird zwangsläufig auch der Zustand unterschiedlich werden. Das ist problematisch und bedarf noch einer Lösung.

So das war es zu dem Thema erstmal. Hoffe ich habs nix vergessen. Wenn ihr noch Fragen oder Feedback/Anregungen habt nutzt bitte die Kommentarfunktion! Bis dann, have fun!

Nouron – Stand: Januar 2013

Hey Hey Hey!
Mit Nouron gehts voran! Ich weiß: ich bin mal wieder einen längeren Post schuldig… Hier eine Kurzübersicht zum aktuellen Stand:

Ich hab mich soweit in ZF2 eingearbeitet und bin nun dabei den alten ZF1-Code auf ZF2 zu portieren und ggf. zu verbessern. Techtree ist grob fertig und ich arbeite grad an der Galaxie- und Systemansicht. Es ist alles sehr aufwendig und die meisten bereits vorhandenen Funktionen der alten Version müssen überarbeitet werden – aber es wird sich lohnen! Das Datenbank-Schema wird zum Teil gleich mit überarbeitet – war zwar nicht geplant, ist aber ein guter Zeitpunkt und macht jetzt nicht den großen Unterschied,  vom Aufwand her (goodbye ‚ungarische Notation‚!)

Die Portalseite habe ich komplett überarbeitet: sie ist weiterhin per Kurz-Url über http://www.nouron.de.vu erreichbar sie ist unter der Domain http://www.nouron.de erreichbar. Ich empfehle aber den Aufruf der direkten Url: http://nouron.github.io/nouron (ja die Portalseite nutzt GitHub-Pages).

Apropos GitHub: Nouron kann man jetzt auf GitHub finden, folgen und clonen: https://github.com/nouron/nouron. Es steht jetzt unter OpenSource zur Verfügung!

Ich experimentiere in den letzten Wochen und Monaten auch viel mit Social Media (wie man vielleicht auch schon hier im Blog erkennen kann). Es gibt bereits eine Page für Nouron auf Facebook und auch Google+, allerdings sind sie noch nicht freigeschaltet (Updates dazu folgen wenn es soweit ist).

Freigeschaltet ist aber der Twitter-Account: Ihr könnt Nouron nun auf Twitter unter dem Account @_nouron finden und folgen! (Ihr könnt auch meinem privaten Twitter-Account @_tector folgen wenn ihr wollt😀 )

Auf Twitter werde ich sehr viel öfter Updates posten als hier im Blog, versprochen!

Also nochmal kurz die Möglichkeiten aufgelistet wie ihr Nouron unterstützen könnt und immer auf dem aktuellsten Stand bleibt: