Archiv der Kategorie: Dev-Blog Donnerstag

Jeden Donnerstag neu – das Dev-Blog zum beliebten Browserspiel eXperinox. Mit Einblicken in den Entwickleralltag.

Dev-Blog Donnerstag 14/15

Dev-Blog Donnerstag 14/15

Von Entwicklern für Entwickler

[Horst (Slayer)]
Eine eher ruhige Woche liegt hinter uns. Wir haben die ein oder andere Planungs-Session (wie immer via Skype) abgehalten und einen Blick in die nahe Zukunft gemacht. Was sollten wir am sinnvollsten als nächstes angehen? Wir sind zum Ergebnis gekommen, dass wir vor der Umsetzung komplett neuer Funktionen erst einmal unsere „losen Enden“ fertigstellen wollen. Darunter fallen z.B. der Singularitätsemitter oder die Verwendung der derzeit noch unnützen Pillen relaXin und poteXin.

Ansonsten haben wir den ein oder anderen kleinen Spielerwunsch erfüllt und neue Flottensymbole eingebaut.

[Iwan (shlainn)]
Iwan gönnt sich einen Kurzurlaub, weshalb der Dev-Blog Beitrag von Iwan diese Woche leider entfallen muss.

Dev-Blog Donnerstag 13/15

Dev-Blog Donnerstag 13/15

Von Entwicklern für Entwickler

[Horst (Slayer)]
Die Dev-Challenge im Webgamers-Forum ist zu Ende. Mein Mini-Game eXperioid konnte ich erfolgreich auf einen Stand bringen, der sich durchaus sehen lassen kann. Glaubst du nicht? Einfach selber antesten und gerne Feedback dazu abgeben.

eXperioid- Aliens im freien Fall

Das Mini-Game werde ich weiter verfolgen, evtl. wird es rein zur Unterhaltung (ohne Auswirkung auf den Highscore) demnächst in eXperinox eingebunden. Etwas „polishing“ würde  ich dazu schon noch machen wollen.

HaxeFlixel ist es auf jeden Fall wert, sich näher anzusehen! Kommenden und nächsten Samstag gibt es dazu ein 2-teiliges Blog über meinen Einstieg in dieses Gaming Framework.

Mit Tobias, dem Entwickler von Gods and Minions, entwickelt sich langsam aber sicher einer engere Zusammenarbeit. Wirklich sehr erfreulich!

[Iwan (shlainn)]
Die Webgamers Game Dev Challenge ging ja am Montag zu Ende, und so habe ich heute doch tatsächlich meinen Beitrag dazu fertigbekommen! Ohne weitere Worte präsentiere ich:

Fort Zombie (Arbeitstitel)

Das Spiel ist vollständig in JavaScript geschrieben und verwendet für die Grafik das HTML5 Canvas Element. Die Sprites und Grafiken sind größtenteils von OpenGameArt – eine großartige Ressource für diese Art von Projekten.

Derzeit sind das Tutorial sowie das erste Level spielbar. Weitere Levels sind in Vorbereitung.

Die Game Challenge hat mir viel Spaß gemacht und ich konnte mich mit Themen beschäftigen, mit denen ich sonst bei eXperinox und bei anderen Projekten noch nicht so viel zu tun hatte – wie Sprite-Animation zum Beispiel. Auch wenn ich mich jetzt erst einmal wieder auf eXperinox und Co. freue, werde ich das nächste Mal sicherlich wieder mitmachen.

Dev-Blog Donnerstag 12/15

Dev-Blog Donnerstag 12/15

Von Entwicklern für Entwickler

[Horst (Slayer)]
Nachdem ich beim letzten Mal etwas überschwenglich (zu) viel vom großen Release geschrieben habe, werde ich mich diese Woche etwas kürzer halten.

Im Webgamers-Forum läuft ja diese Dev-Challenge, wozu ich anfangs null Bock hatte.  Und was soll ich sagen – es hat mich nun schwerstens gepackt! Mein Mini-Game, welches sich eXperioid nennt, bringt einen Haku zum Fliegen und knallt Aliens ab. Ein reines Spaßprojekt.

Zur Umsetzung verwende ich HaxeFlixel – ein Gaming Framework, von dem ich vor einiger Zeit einmal gelesen hatte. Und was soll ich sagen: geiles Zeug irgendwie! Hakt zwar aktuell etwas mit dem HTML5 Target, man kann aber auch Flash oder z.B. Android als Output wählen. Schon erstaunlich, wie einfach so manche Dinge mit diesem Framework umsetzbar sind. Sobald eXperioid herzeigbarer wird – hier erfährt man aus erster Hand davon 🙂 .

Sehr cool entwickelt sich auch der Kontakt zu Tobias, dem Entwickler von Gods and Minions. Klasse Typ!

[Iwan (shlainn)]
Ich nutze meinen Kurzurlaub von eXperinox (a.k.a. die Webgamers Game Dev Challenge) um meine JavaScript Skillz zu verfeinern und Dinge auszuprobieren die ich so noch nicht damit gemacht habe. Zum Beispiel eine vollständige Game Engine zu schreiben. Klar, HTML5 JavaScript Game Engines gibt es wie Sterne im Universum – aber mir ging es hier darum, die Bestandteile für mich zu verstehen. Ein Lernprojekt also 🙂

Zum Spiel selbst will ich immer noch nicht viel sagen – ich hoffe es wird bis Sonntag/Montag fertig. Bis dahin sind noch ein paar wichtige Punkte wie z.B. „Level gewinnen/Level verlieren“ auf meiner ToDo-Liste. Es bleibt spannend…

Dev-Blog Donnerstag 11/15

Dev-Blog Donnerstag 11/15

Von Entwicklern für Entwickler

[Horst (Slayer)]
„Ein kleiner Schritt für die Menschheit, aber ein großer Schritt für eXperinox!“. So lässt sich kurz und knapp beschreiben, welchen Wert das letztwöchige Update des grafischen Baubildschirmes für mich hat.

Aufstehen um 04:30, um das (gut vorbereitete) Update durchzuziehen, wenn möglichst niemand online ist. Durchgehen der Checkliste für Updates, die die Datenbank mit einbeziehen. Aggressivität der Piraten auf 0 setzen (Spieler sollten keine Nachteile haben, weil sie ihre Flotten wegen dem Update nicht rechtzeitig sichern können), Login disablen, CronJob deaktivieren, Backup der Datenbank anfertigen, geänderte Dateien (samt Libraries über 800 Dateien) auf den Server laden. Datenbankänderungen am Server durchziehen (wir haben dazu eine changed.sql Datei, die man dann einfach am Server ausführen muss). Migrationsscript starten (welches wir selbstverständlich vorher lokal getestet haben). Beten. Auch als Atheist. CronJobs neu starten, einloggen und SmokeTests machen. Log-Files am Server auf verdächtige Einträge checken. Alles perfekt. Login für Spieler aktivieren und auf erste Reaktionen warten.

Später neue Screenshots bei den angemeldeten Spielportalen austauschen bzw. den Betreibern ein Mail schicken (manche bieten keine Möglichkeit, um die Screenshots selber austauschen zu können).

Neben dem neuen Code, haben wir auch sehr viel am bestehenden Code geändert. Smarty, die von uns verwendete Template-Engine, also auch jQuery und jQueryUI haben wir auf die jeweils aktuellste Version gebracht.

Unser gemeinsamer Drang nach besseren Lösungen (eine der Eigenschaften, in der sich Iwan und ich sehr ähneln) hat uns auch einige Refactorings beschert. „Merciless Refactoring“ – eine Phrase, die wir sehr ernst nehmen. Nur so kann man eine größere Software auf Dauer wartbar und qualitativ hochwertig halten.

Jetzt heißt es erst einmal durchatmen und sich auf Kleinigkeiten konzentrieren.

Im Webgamers-Forum gibt es eine Dev-Challenge. Anfangs hatte ich absolut keine Lust, aber nun probiere ich etwas aus, was ich schon länger einmal vor hatte. Was das ist, wird (noch) nicht verraten.

[Iwan (shlainn)]
Jetzt da unser Mega-Update durch ist, habe ich Zeit für andere Dinge. Über das Webgamers-Forum kamen wir mit Tobias (a.k.a. Fhizban), dem Entwickler von Gods and Minions in Kontakt. Das Spiel ist noch in Entwicklung, sieht aber schon in diesem frühen Stadium sehr vielversprechend aus. Ich konnte ihm dank unserer Erfahrung mit dem Upgrade der Programmbibliotheken von eXperinox bei einem ähnlichen Projekt in seinem Spiel unterstützen.

Und wie Slayer erwähnt hat, läuft bei Webgamers diese und nächste Woche die Web Game Design Challenge – und ich mache auch mit! Das Ziel ist es innerhalb von 14 Tagen (um der arbeitenden Bevölkerung eine faire Chance zu geben) ein Spiel zum Thema „Kanonen sind zum schießen da“ zu entwickeln. Ich freue mich auf dieses kurze Projekt, da es mir die Möglichkeit gibt neue Technologien und Ideen auszuprobieren und nach dem langen Fokus auf den Baubildschirm etwas völlig anderes zu machen. Das ist mein erster „Game Jam“ und ich bin gespannt wie das laufen wird!

Dev-Blog Donnerstag 10/15

Dev-Blog Donnerstag 10/15

Von Entwicklern für Entwickler

[Horst (Slayer)]
Diese Woche stand alles unter dem Zeichen des neuen Baubildschirmes. Letzter Feinschliff und testen, testen, testen. Der neue Baubildschirm ist eines der größten und umfangreichsten Updates in der Geschichte von eXperinox und wir wollen von Beginn an eine hohe Qualität abliefern.

Ich bin sehr froh, dass mit Iwan seit mittlerweile über einem Jahr ein absoluter JS-Guru in unserem Team ist! Die 3D Karte und jetzt der neue Baubildschirm tragen auf Clientseite ganz deutlich Iwans Handschrift und diese beiden Features tun unserem Game wirklich sehr gut.

Dann habe ich mich nach längerer Zeit wieder einmal mit meinen Marketing-Freunden getroffen, die uns im letzten Jahr unter anderem bei unserem 1. Messeauftritt auf der GameStage EXPO sehr unterstützt haben. Diesmal war einfach nur Spaß haben angesagt.

[Iwan (shlainn)]

In der Phase kurz vor dem Release gibt es eigentlich nur eines zu tun: Testen. Neue Features kommen nicht mehr dazu, bekannte Bugs gibt es nicht mehr (was zu einem großen Teil auch unseren Alpha-Noxern geschuldet ist), und so sehr es mich in den Fingern juckt etwas Neues anzufangen – das muss bis nach dem Release des Updates warten.

Ein wenig Frühjahrsputz im Code muss aber sein, und so habe ich angefangen mich mit unseren CSS-Dateien auseinanderzusetzen. Diese blähen sich mit der Zeit gerne ein bisschen auf – und dann muss man durchgehen und sie wieder zusammenstutzen. Außerdem lernen wir mit jedem Projekt dazu und werden effizienter in der Benutzung von CSS – auch dem muss Rechnung getragen werden.

Nebenher habe ich mich näher mit unseren internen Werkzeugen auseinandergesetzt und nach Wegen gesucht unsere Arbeitsabläufe effizienter zu machen. Seit einigen Wochen verwenden wir Redmine und GitLab für die Verwaltung unserer Entwicklungsaufgaben. Diese Kombination ist für uns ein gewaltiger Fortschritt gegenüber Trac das wir bisher verwendet haben – aber natürlich muss man sie erstmal richtig kennen lernen um ihr volles Potential nutzen zu können. Und als Hobby-Entwickler mit begrenztem Zeit-Budget brauchen wir jede Unterstützung die wir kriegen können 😀

Dev-Blog Donnerstag 09/15

Dev-Blog Donnerstag 09/15

Von Entwicklern für Entwickler

[Horst (Slayer)]
Wir haben vereinbart, unsere Fans (egal, ob Spieler oder Entwickler) in Zukunft noch näher an uns heranzulassen. Ab sofort gibt es jeden Donnerstag eine kurzen Rückblick über die Vorwoche von jedem von uns. Hautnah! Und nein, es wird trotzdem keine Aktfotos von uns geben – tut leid.

Let’s go 🙂 .

Vergangene Woche stand alles unter dem Zeichen des geplanten Updates für die Alpha-Testversion. Und als ob das nicht Stress genug wäre, hat mich Iwan mehr oder weniger gezwungen, Master Of Orion anzuspielen. Unser Deal: ich spiele das – laut Iwan – „Kultgame“ an und dafür schreibt Iwan mindestens 2 Beiträge für unser Blog.

Iwans erster Blog-Beitrag letzten Samstag kam dann auch gleich extrem gut an. Und so hoffe ich, dass Iwan in Zukunft öfter auch als „Schreiberling“ Einsatz zeigt.

Nach dem Alpha-Update am Sonntag habe ich wieder einmal etwas intensiver Projektleiter gespielt, und unsere Tickets in Redmine (unserem Issue-Tracking Tool) etwas besser organisiert. Diese waren nach dem Umstieg von TRAC stellenweise im falschen Status.

Natürlich wurde am Sonntag auch einiges getestet. Neben dem Test am PC (Iwan und ich verwenden absichtlich unterschiedliche Browser) habe ich auch Tests am Android-Tablet gemacht. Denn auch wenn wir Touch-Devices nicht explizit unterstützen, so haben wir doch das Ziel, dass eXperinox über Smartphones und Tablets gut spielbar ist.

[Iwan (shlainn)]
Nachdem das neue Baumenü so langsam in trockenen Tüchern ist, ist bei mir Nachbereitung angesagt. Getreu dem alten Programmierer-Motto „First make it work. Then make it better“ räume ich diese Woche alle Arten von losen Enden auf, bringe die Code-Dokumentation auf den aktuellen Stand, etc.

Außerdem habe ich Smarty, das Template-System das eXperinox für den Aufbau der Seiten verwendet, auf den neuesten Stand gebracht – was wiederum ein wenig Fallout hatte.

Und so dreht es sich weiter, das Browsergameentwicklerhamsterrad. 🙂