JavaSails!

Segel, Schiffe und Kanonen - Das Java-Webspiel ermöglicht das Miteinander und Gegeneinander von Spielern in der großen Zeit der Segel. Fregatten, Briggs, Schoner, Händler, Schmuggler und Freibeuter, Schlachtentümmler und Gelegenheitsspieler mit Sinn für eine steife Brise und hoher See, bei einem Reff im Großmars, sollen auf ihre Kosten kommen.

Der Entwicklungsfortschritt wird hier dokumentiert.
Homepage von JavaSails!

Mein Foto
Name:
Standort: Hamburg, Germany

Mittwoch, März 09, 2005

Unter vollen Segeln!

Die zehn Schiffsklassen, mit denen ich begonnen habe, stehen jetzt unter vollen Segeln. Rahsegel, Gaffelsegel, Stagsegel und Lateinersegel sind somit endlich fertig und gesetzt. Natürlich wird später das Setzen und Niederholen der Segel von Mannschaft erledigt werden, Zeit und Kraft kosten, vorerst macht es der reine Trimmbefehl komplett mühelos, während sie sich fleißig im Wind drehen und ihren Kurs ändern.

Die Segel folgen dem Wind und werden sauber getrimmt, wenn der scheinbare Wind sich zum Schiff ändert.

Nun folgen einige optische Kleinarbeiten. Wer mir eine kurze Notiz schickt per eMail, bekommt von mir ein Passwort und einen Link, auf dem er sich schon mal interessehalber den Fortschritt in einem Testapplet ansehen kann.

Langes Fädchen, faules Mädchen...

Heute sind zwar erstmal nur die Stagsegel fertig geworden, dafür sind die Lateinersegel nun keine große Sache mehr, da sie sich kaum von der Programmierung unterscheiden. Die Verzögerung der Programmierung hat sich heute gelohnt. Für die spätere Handelssimulation wurden heftig Pläne geschmiedet.

Auch wenn das Nahziel erst noch lange unerreicht bleibt, nämlich die funktionierende Seeschlacht, sind doch schon die Fähnchen gesteckt, wie im späteren Aufbau des Spieles Richtung Fraktionsschlacht und Handelssimulation weiterlaufen soll.

Um nicht zu sehr in Details zu gehen, die sich ohnehin noch ändern können und werden, hier der grobe Plan: außer den üblichen Fraktionen der Karibik (dort fangen dann die ersten Maps an), Spanier, Enländer, Franzosen, Portugiesen, Holländer, Deutsche, Schweden, Amerikaner, gibt es natürlich die gesetzlosen, die Piraten. Freibeuter sind hingegen fraktionszugehörig und private Kaperschiffe, die von Händlern unterhalten werden.

Ein Mitglied einer der offiziellen Fraktionen wird keinen Freund angreifen können. Ebenfalls keine befreundeten Nationen. Das selbe gilt für Freibeuter. Die einzigen immer Vogelfreien sind die Piraten. Diese dürfen zwar jeden ausplündern, aber dürfen auch ausgeplündert werden. Auch untereinander. Und zu allem Überfluss ist das übliche Ende einer Piratenkarriere der Strick. Ansonsten ist es nicht möglich, Charaktere zu töten. Ein Schiff, das die Flagge streicht, kann geplündert werden, jedoch nicht weiter beschädigt, versenkt oder dergleichen. Das ist die Ehre der Zeit "Parlor" oder wie auch immer. Jedenfalls findet man diese Ehre nicht unbedingt in unserem Zeitgeist und daher wird sie festgelegt.

Ein aufgebrachter Pirat hingegen kann wenig Pardon erwarten. Der nächste Gouverneur wird sich sicherlich den Prestigegewinn nicht nehmen lassen, die Schurken zur Abschreckung an der Hafenmole baumeln zu lassen und dafür extra Belohnungenn von seinem König zu bekommen.

Die Mitgliedschaft in einer Fraktion wird freiwillig sein. Jede Insel wird von Spielern selbstverwaltet, wobei es zwei wichtige Posten gibt, den des Insel-Gouverneurs und den des Bürgermeisters. Der Gouverneur überwacht mehr die militärischen Belange, während der Bürgermeister für die Belange des Handels und Wandels zuständig ist, also die Bürgerlichen. Die Bürgerlichen wählen einmal die Woche für eine Woche den Bürgermeister aus ihren Reihen, die Marineangehörigen wählen den Gouverneur.

Man wählt mit seinem Charakter einen bestimmten Berufszweig, der mit gewissen Boni ausgestattet ist und bestimmten Möglichkeiten. Eine Marinekarriere fängt im Dienste eines Inselgouverneurs an, eine Händlerkarriere mit einem kleinen Kontor und einem kleinen Boot. Während der Marinemann nach Ehre und Prestige strebt und dabei bei weitem nicht so viel Geld machen wird wie der Händler, ist diesem es nicht vergönnt größere Kriegsschiffe zu kommandieren. Der angehende Leutnant zur See beginnt üblicherweise mit einem Kutter oder einem anderen kleinen Kriegsschiff. Karriere macht er durch Prestigepunkte, ebenso wie er die meisten wichtigen Dinge mit Prestige bezahlen kann. Prestige erlangt er durch gewonnene Kämpfe, Prisen, erfüllte Aufträge und dergleichen.

Der Händler kann handeln, schmuggeln oder sein Geld in den Ausbau seiner finanziellen Möglichkeiten stecken. Da wären mehr Lagerraum für das Kontor, Plantagen, Gießereien, Werften mit Hellingen oder neue, bessere Schiffe.

Das nur als kurzer Anriss, was die Planung betrifft. Die Details sind zwar ausgearbeitet, aber solange der Code nicht steht, ist das noch ziemlich vage. Morgen kommen erstnoch die fehlenden Segel dran, dann geht es weiter mit dem Simulationskern. Wind-, Wasser- und sonstige Vektorgleichungen sind zwar schon fertig, aber noch nicht zusammengefügt. Der Effekt des raumenden scheinbaren Windes auf die Stellung der Rahen ist weiterhin nur schwach. Jedoch enspricht das ganz offenbar den Tatsachen, die Physik zumindest warf bei Überprüfung keine Fehler auf.

Sonntag, März 06, 2005

Rattenjagd!

Die kleinen Ungeziefer, die sich in der Vektorgeometrie eingenistet hatten und dabei einiges der Segellast angefressen, sind dank einer kompletten Ausräucherung des Laderaums und frisch kalfalterten Planken jetzt tipp-topp. Morgen kommt der Segelmacher, um sich um die Stagsegel und Lateinersegel zu kümmern.

Inzwischen wurden die Gaffel- und Briggsegel an allen Vollschiffen gesetzt.

Samstag, März 05, 2005

An die Brassen!

Das Gaffelsegel ist fertig. Die Segel lassen sich jetzt auch schon trimmen, das heißt der Mastmannschaft wird ein Befehl gegeben: "Segel trimmen!" und sie richten die Brassen und Schoten nach Bedarf aus. Dabei wird berücksichtigt, dass der Wind in den höheren Segeln heftiger bläst als auf dem Deck.

Da sich der wahre Wind und der Fahrtwind bei einem Segelschiff zum sogenannten scheinbaren Wind addiert, bedeutet das, daß der Wind an den Mastspitzen etwas raumt, sprich achterlicher einfällt. Entsprechend richtien sich die oberen Rahen etwas anders aus und die Segelpyramide erscheint leicht verdreht.

Der optische Effekt davon ist noch nicht sonderlich überzeugend, ich arbeite deshalb zur Zeit dran, den Effekt graphisch etwas deutlicher zu gestalten. Einige kleinere Bugs haben sich eingeschlichen, die ich zur Zeit niedermache, vielleicht ist da auch noch irgendwo ein kleiner Fehler in der Vektorarithmetik, obwohl alle Bugtests bislang negativ verlaufen sind.

Die ersten Planungsphasen für Wellenbilder sind außerdem angelaufen. An Segeln fehlen nun nur noch die Stagsegel und die Lateinersegel. Arrrrrr!

Donnerstag, März 03, 2005

Unter Segeln...

Die zehn Schiffe der Flotille stehen jetzt zumindest schon mal unter Rahsegeln. Um die Schratsegel kümmere ich mich dann morgen. Sobald die volle Besegelung vorhanden ist, werde ich auch schon mal einen Screenshot auf die Homepage legen. Mit einer Demo darf man erst rechnen, sobald ich die innere Maschine fertig habe und einige Wassereffekte. Vorher sieht das einfach noch nach nichts aus.

Montag, Februar 28, 2005

Winde weh'n, Schiffe dreh'n

Die Rumpfgrafiken der Schiffstypen sind heute schon mal umgesetzt. Obwohl ich schon befürchtet hatte, ich müsste die Rümpfe mit unendlicher Arbeit vielleicht aus einem CAD-Programm umarbeiten, ging es nach anfänglichen Schwierigkeiten dann doch sehr viel leichter von der Hand als ursprünglich angenommen.

Bis auf die Brigg, für die ich noch keine Vorlagen gefunden habe, sowie die Fregatte und das Linienschiff sind alle Rümpfe bereits am Drehen auf meinem virtuellen Arbeitstisch. Die drei fehlenden Rümpfe werden wohl noch im Laufe des Abends entstehen, danach kommt der sehr viel schwierigere Teil der Besegelung, der Masten, der Wanten und Stagen. Wenn das Schiff am Ende als zerschossene Hulk enden soll, will ich das auch irgendwie darstellen können.

Ebenfalls Friemelarbeit werden die ganzen Kleinteile sein, die so auf Deck herumliegen. Wie Rettungsboote, Niedergänge, Steuerräder, Ladeluken oder Kanonen. Doch das größte immer zuerst und das sind die Masten, Rahen, Bäume, Stagen Wanten und Segel. Kleinarbeit später. Vielleicht finde ich noch eine effiziente Art, das Meer darzustellen, eine einfache blaue Fläche geht zwar, aber schreit nach Verbesserung.

Zurück zum alten Eisen...

Nach ausgiebigen graphischen Ausfällen, unerklärbaren Seiteneffekten und mangelhafter Grafik, habe ich von Java 1.5 auf die aktuelle, bewährte 1.4-Version zurückgeschaltet. Ich betrachte Java 1.5 jetzt als Betarelease. Zwei Tage Fehlersuchen, was am Ende nicht mein Verschulden war, reicht. Obwohl vielleicht einige der auftretenden Fehler auf allgemeine Änderungen in Java zurückzuführen waren, die ich noch nicht erkannt hatte, gab es andere, die definitiv nicht so sein sollten.
Nachdem auch noch einem Freund unter 1.5 sein OX (Open Exchange Server) um die Ohren geflogen ist, lasse ich jetzt lieber die Finger davon.

Vorteilhaft an dieser Entscheidung ist, dass Eclipse 3.0 einwandfrei mit dem Java 1.4 zusammenarbeitet und ich nicht mehr gezwungen bin, auf KDevelop als IDE auszuweichen. Dabei hatte ich KDev schon beinahe lieb gewonnen. Der Editor ist einfach unschlagbar.

Das "Zeichnen" der Schiffe per Programm ist derartig mühsam zu programmieren, dass ich mir überlege dafür extra ein Mini-CAD-Programm zu schreiben, aus dem ich nachher die korrekten Längenverhältnisse extrahieren kann. Vor allem die Handhabung der quadratischen und kubischen Kurven ist per Programmzeile sehr schwierig und unendlich zeitaufwendig.