Neuentwicklung Geekwars

  • Leider sind die Browsergame-Klassiker Galaxywars (Marke der Firma Gameforge) und dessen Nachfolger Gigrawars nicht mehr online! Um diese Lücke zu schließen und deren Erbe anzutreten entsteht hier Geekwars. Ziel ist es, das Spiel als ohne Pay2Win-Optionen weiter leben zu lassen und auf ein stabiles Spiel zu schaffen. Kommerzielle Interessen stehen hierbei im Hintergrund, da es sich hierbei um eine Hobbyprojekt handelt. Ein bisschen zu mir und meiner Qualifikation werde ich im Laufe der nächsten Tage im Vorstellungsthread zusammentragen. Da das Projekt ein Hobby ist und bleibt, läuft die Entwicklung nicht so zügig, aber dafür mit umso mehr Herzblut. In diesem Thread wird die Entwicklung mit allen Höhen und Tiefen festgehalten, um für etwas Transparenz zu sorgen. Falls ihr bei der Entwicklung behilflich sein wollt, findet ihr hier mehr dazu...


    Im Laufe der nächsten Tage wird eine Nightly-Version online gehen - die weder vollständig noch fehlerfrei ist, aber den aktuellen Entwicklungsstand kontinuierlich veranschaulicht. Hier gibt es keine Garantie, dass der Spielstand am nächsten Tag noch vorhanden ist oder ich nicht in die Spielmechanik eingreife, z.B. durch "Geschenken" in Form von Rohstoffen oder Flotten. Parallel dazu werde ich - ähnlich wie DaBu es getan hat - eine Art Tagebuch im Forum führen, um die Entwicklungen zu dokumentieren.

    Wenn der Funktionsumfang soweit vollständig ist, wird es eine Alpha geben, die dann weitestgehend spielbar ist. Wenn diese sich als stabil erweist und mögliche Fehler behoben sind, wird das System auf einen eigenen Server umgezogen und eine Beta eröffnet.


    Alle Höhen und Tiefen der Entwicklung des Spiels findet ihr demnächst hier...

  • Hui, da hab ich mich ja ganz schön lang nicht mehr mit Updates gemeldet...


    Im Moment bin ich noch ziemlich mit dem Backend beschäftigt - Datenbankstruktur, Modell-Repräsentation der Datenbank sowie Einpflegen einiger Formeln und Berechnungen, die außerhalb des EHs wichtig sind. Für die besonders süchtigen, die nach ca. 48 Stunden ohne GW schon ganz hibbelig sind, gibt es hier so lang schon mal einen Screenshot vom aktuellen Layout - ich hoffe, die Umstellung fällt euch damit nicht allzu schwer...


  • Schon wieder eine Woche vergangen, die Zeit verfliegt - schon fast neun Tage ohne GW! Höchste Zeit für ein kleines Update...


    Was ist in der letzten Woche passiert?

    • Die Datenbank-Struktur incl ihrer Repräsentation als Objekte ist weiter gewachsen und evolutioniert - ein schönes Wort, sollte man für den Duden vorschlagen - fleißig vor sich hin
    • Es gibt die ersten Templates, welche das Layout füllen. Diese muss man nur noch mit Objekten aus der Datenbank bewerfen und schon zeigen sie lustige Dinge an, ein Beispiel (links - so siehts aktuell aus, rechts - das Template, das mit Daten gefüttert wird):

    • Wie ihr sehen könnt, kann man Bauaufträge (und Forschungsaufträge mittlerweile starten, aber leider werden die noch nicht abgearbeitet, denn der Event-Handler fehlt noch. Hier hat mich die Implementierung der Anforderungen bei den Gebäude-Bauschleifen etwas aufgehalten, den es sollen ja weder Rohstoffe verloren gehen noch Probleme bei den Abhängigkeiten auftreten. Wer will schon, dass man Eisenspeicher mit Eisenmine 3 bauen kann, nur weil man vorher 4 und 5 in der Bauschleife hatte und dann abgebrochen hat, sodass der Speicher hoch rutschen, obwohl die Anforderungen nicht mehr erfüllt sind...
    • Auf der Nutzerseite funktionieren die JavaScript-Zähler; die Rohstoffe werden fleißig hoch gezählt, die Uhren bis zu Ereignissen laufen rückwärts (natürlich mit den echten Daten mit der Produktion, die zum Ausbau des Planeten passt bzw. zu den Aufträgen). Um all diejenigen, die mich oder sich gefragt haben, ob sich das Spiel auch am Handy spielen lassen wird: Natürlich läuft das ganze von Anfang an mobil genauso wie am Desktop, hier ein Screenshot vom Dummy von letzter Woche auf einem Handy:

    Wie geht es weiter?

    • Damit die Bauaufträge nicht ewig in der Bauschleife verharren, muss ein EH her. Genau an dem arbeite ich im Moment...
    • Nach den Gebäuden und Forschungen sind Schiffe und Türmchen das nächste. Die sind etwas freundlicher, da sie weder vom vorherigen Bauauftrag abhängen noch beim Starten des nächsten die Rohstoffe geprüft werden müssen. Damit wäre dann der "obere Teil" der Navigation fertig,
    • Die Oberfläche ist noch etwas rudimentär; unter anderem fehlen die Beschreibungen noch, ebenso wie eine schöne Darstellung der Rohstoffe (farbig, Namen dran, etc).

    So viel vorerst von mir, einen schönen Sonntag noch und einen guten Start in die zweite Woche im kalten Entzug!

  • Ein kurzes Update außerhalb der "immer-wieder-sonntags"-Reihe:

    Ich ärgere mich fleißig mit der - sagen wir mal - mäßigen C-Bibliothek von MySQL herum - wie hab ich neulich irgendwo gelesen "Guter Code braucht keine Dokumentation" 8o


    Aber egal, der neue EH soll schnell und effizient werden, also wird er in C++ geschrieben. Für die Beta soll er dann mit OpenMP laufen, damit auch ja alle Prozessoren ins Schwitzen kommen. Aber das ist noch Zukunftsmusik.


    Was ich noch sagen wollte: Kauft euch heute noch etwas Tee, Geekwars läd bald zur Tea-Party! <3

  • Hoppla, da is mir vorhin glatt ein Fehler unterlaufen! Wird laden nicht zur Tea-Party, sondern zur time_t-Party (click mich) :love:

    Heute Nacht um 2:40 Uhr UTC, also um 4:40 Uhr auf euren Weckern, erreicht die Unix-Epoch den Wert 1500000000. Und was wäre ein geekigerer Zeitpunkt, die erste Version mit fünffacher Geschwindigkeit zu starten?!:D

    Mehr Infos zur ziemlich unvollständigen Nightly-Version heute Nacht!

  • Soooo, will ich hier mal wieder was verlautbaren lassen. Gerade hat es wieder ein Update in der Nightly gegeben, mitunter wurde folgendes geändert:

    • Es gibt jetzt Nachrichten über abgeschlossene und nicht gestartete Gebäude und Forschungen
    • Nachrichten für Flotten sind vorbereitet
    • Die Highscore funktioniert jetz am Desktop und am Handy im Querformat (Hochkante passt das Layout noch nicht)
    • Planeten- und Gesamtpunkte des Accounts werden auf der Übersichtsseite angezeigt
    • Es gibt nen Link zum Forum
    • Der Logout-Link ist jetzt gegen CSRF geschützt


    Wie ihr euch anhand der vorbereiteten Flottenmeldungen sicher denken könnt, kommen als nächstes die Flotten dran; zunächst die friedlichen Flotten (Transportieren, Kolonisieren und Stationieren), bevor es dann mit Angriffen und Spionage zu Sachen gehen kann. Vor Letzterem wird die Angriffssperre implementiert und aktiviert, sodass ihr eure Flotten saven könnt, wenn ihr das wollt.


    TL;DR:

    Demnächst könnt ihr eure Kolos losschicken, langsam dran denken, welche zu bauen...



    PS:

    Bitte mit F5 aktualisieren oder Browserdaten löschen, damit die Style-Scripte neu geladen werden...

  • Das sonntägliche Update hat sich etwas verschoben und kommt erst in den ersten Minuten des Dienstags und bringt folgende Punkte mit sich:

    • der Bug bei der Berechnung der Bauzeit der Gebäude und in gleicher Form bei den Forschungen und Schiffen ist behoben
    • Die Technikseite zeigt jetzt die Produktionsstufen der einzelnen Gebäude
    • Browser werden angewiesen, Daten nicht mehr zu cachen - dadurch sollte der "Ressourcen springen zurück"-Bugs behoben werden...
    • PS: Die verbleibende Bauzeit des aktuellen Schiffes wird angezeigt


    als nächstes sind die dann Flotten dran <3

  • Immer wieder Sonntags...

    Diese Woche sind die Updates weniger offensichtlich, vor allem gab es einen Bugfix zu einem nicht öffentlich gemeldeten Bug, mit dem man beliebig viele Rohstoffe "erzeugen" konnte. Zum Glück scheint der Bug nur vom Hacker des Kleinen 1x1 pat gefunden worden zu sein, dem nicht daran gelegen war, ihn ingame auszunutzen... Leider hat das Bereinigen des Fehlers länger gedauert als gedacht, aber immerhin ist der Fehler nun behoben.

    Als weitere Neuerung sind jetzt auch die Kapazitäten der Speicher auf den Technikseiten einzusehen, sodass man sieht welche Mengen sicher sind.

    Wie versprochen arbeite ich ansonsten an den Flotten und hoffe, zeitnah das Kolonisieren zu ermöglichen... ;)

  • Wie gewünscht und als Abfallprodukt für die Flotten- und Angriffssperren gibt es gleich die erste Ankündigung im Spiel! Wenn ihr sie nicht sehen solltet, obwohl ihr sie nicht ausgeblendet habt und der 31.08.2017 - 20:00 Uhr noch nicht verstrichen sein sollte, bitte als Bug melden!

  • Schon wieder Sonntag! Wie schon geschrieben stehen immer noch die Flotten im Mittelpunkt. Nachdem das Frontend schon fertig war, werden jetz auch Transporte, Stationierungen und Kolonisationen im Spiel abgearbeitet. In diesen Zuge musste ich die Funktionen zum Wechseln des aktuellen Planeten nochmal überarbeiten, da diese bisher noch unvollständig waren.

    Als nächstes kommen Spionage und Angriff dran, bevor alles seinen Weg ins Spiel finden kann.

    So viel von meiner Seite, einen guten Start in die neue Woche,

    Mautz

  • Und direkt den nächsten Sonntag verpasst...

    Aus der vergangenen Woche weiß ich leider wenig neues im Bezug auf Geekwars zu berichten, da ich Urlaub habe und wenig Zeit am Rechner verbrachte habe; Habe dennoch am Eventhandler gearbeitet und nochmal einige Sachen umgearbeitet, damit der Code übersichtlicher wird. Das macht es leichter, die noch fehlenden Features einzuarbeiten sowie mögliche Bugs zu finden. Dabei habe ich viele Sachen überarbeitet, aber leider keine neuen Features fertig bekommen. Kommende Woche sollten dann aber die friedlichen Flotten fertig werden, sprich die bisher noch fehlenden Heimkehrer.

    Im Zuge der Einführung der Flotten werden wir in den nächsten Tage die Speicherkapazitäten anpassen, damit man mit "moderaten" Speichern auch ausreichend lang save ist. Hierzu kommt dann aber nochmal eine Ankündigung, wenn es so weit ist.

  • Mit einer Woche Verzögerung das nächste Update.


    Ich habe in der erste Woche seit dem letzen Post die friedlichen Flotten "fertig" bekommen und angefangen zu testen. Natürlich waren noch ein paar Bugs dabei, an denen ich in den letzten beiden Wochen gearbeitet habe. Jetzt funktionieren die friedlichen Flotten soweit ich es im Moment beurteilen kann und ich widme mich den Angriffen und der Spionage. Zudem habe ich einiges im EH zum zweiten und dritten mal geschrieben, weil es nicht funktioniert hat wie es sollte und einfach häßlich war.

    Damit sind die Flotten leider auch nicht mehr wie angepeilt im September fertig geworden. Um nicht noch eine zweite Deadline zu verpassen werde ich erst mal kein neues Datum Einvisieren, da ich mit Jobwechsel erst mal in einen neuen Rhythmus finden muss, bevor ich abschätzen kann, wie oft ich zum Coden komme.

  • Und wieder ist eine Woche vorbei... Leider bin ich diese Woche nicht zu besonders viel gekommen, da ich von Donnerstag bis gestern mit einer Familienfeier beschäftigt war.

    Habe die SQL-Anfragen für die Flotten nochmal umgebaut und die Templatisierung für Infra, Flotten, Rohstoffe etc abgeschlossen, damit kommt das eigentliche Kampfsystem als nächstes...

  • Dienstag schon? Oh je!

    In den letzten Tagen habe ich die erste Version der KS geschrieben, viele Bugs, nicht immer reproduzierbare Ergebnisse und eine Erweiterung der Flotten (im wesentlichen ein Marker, ob die Flotten noch aktiv, also in der Luft sind oder nicht) sind das Ergebnis. Ich hatte leider nicht so viel Zeit, da ich unter der Woche statt in einem Hotel bei einem guten Freund schlafen konnte und soziale Interaktion der Programmierarbeit zuvor gekommen ist. Diese Woche hat es mit der Hotelbuchung besser geklappt und ich sitze jetzt allein über dem EH brütend im Hotelzimmer und bin fleißig ;)

    ich hoffe genauso wie ihr, dass die Flotte bald abheben aber bin auch froh, dass die friedlichen Flotten noch nicht aktiv sind, da wir sonst erheblichen Mehraufwand mit der Migration zur neuen Flottenmodellierung hätten...


    TL;DR:

    Wir kommen dem "Go Live" ( = Produktivsetzung, was weniger Denglisch, und trotzdem genauso wenig deutsch klingt) immer näher!


    PS: Erweiterung der Flotten heißt, dass Flotten - ähnlich wie Ausbaustufen und Besiedelungen - immer in der Datenbank nachvollziehbar bleiben, auch wenn sie zerstört wurden oder zurück gekehrt sind.

  • Hallo zusammen,


    ich war wieder fleißig bei Schaffen und Austreiben von Bugs. Um das mal etwas systematischer tun zu können, habe ich angefangen, systematische Tests mit gtest und gconv einzubinden. Das ganze hat leider länger gedauert als gedacht, dafür durchläuft etwa die Hälfte des EHs jetzt systematische Tests, um zu überprüfen, ob die gewünschten Ergebnisse immer noch so raus kommen, wie sie sollen. Daneben habe ich mich mit den Fehlern beim Kolonisieren eines bereits besiedelten Planeten rumgeschlagen...

    Wie immer scheint der Teufel im Detail zum stecken... ;)

    Ich hoffe, ihr habt noch ein bisschen Geduld, leider dauert es wesentlich länger als geplant...

  • Vier Tage vergangen, ich habe weiter die Tests ausgebaut um weitere Fehler zu finden, ein paar kleine habe ich auch noch gefunden. Da ich mittlerweile den kompletten EH neu geschrieben habe, will ich aber sicher sein, dass ich neue Fehler so gut wie möglich ausschließen kann, bevor die neue Version online geht...

  • Diese Woche habe ich die Tests weiter ausgebaut und mit LCOV rumexperimentiert, um die Abdeckung der Tests unter die Lupe zu nehmen; durch eine Abdeckung von fast 90% des EHs durch systematische Tests und gezieltes Herbeiführen von Konflikten konnte ich noch ein paar Logikfehler ausmerzen und drei Tippfehler in den Formeln korrigieren. Leider wenig vorzeigbare Ergebnisse, aber im Betrieb zeigt sich dann hoffentlich, dass sich nix zeigt... ;)


    Zudem hab ich noch einen Abend auf der Suche nach dem Speicherbug verbracht, aber noch nix gefunden.

  • Wieder reichlich Zeit ins Land gegangen seit dem letzten Update. Neben der Erweiterung der Testabdeckung habe ich mir vor allem Gedanken gemacht, insbesondere bei den Kampfberichten. Um die Datenflut durch diese zu vermeiden, die beim Vorgänger irgendwann zu Problemen geführt haben, werden die Flottenzusammensetzungen getrennt von den eigentlichen KBs abgelegt und brauchen dann nur Speicherplatz, wenn es tatsächlich Schiffe auf der jeweiligen Seite gab. Um das weiter zu komprimieren, lassen sich dadurch alle Farmflotten mit beispielsweise einem LEX zu nur einem Eintrag in der Flottenzusammensetzungstabelle zusammenfassen. Der geneigte Leser kennt das als Normalisierung.


    Damit verbunden gab's wieder einige Änderungen am Flottensystem, die ich zum Glück nicht auf ein halb in Betrieb genommenes Flottensystem übertragen muss.