Archive

Posts Tagged ‘Scherbenwelten’

Google Webfonts

May 29th, 2010 Jan H. Krueger No comments

Bereits vor einiger Zeit hat Google begonnen für Webentwickler etwas sehr praktisches zu veröffentlichen. Die Möglichkeit mittels CSS weitere Schriftarten einzubinden. Das Ganze nennt sich Google font directory, die Bedienung ist so simpel wie es nur möglich ist:

Für jeden einzubindenden Font gibt es ein externes Style Sheet welches auf gewohnte CSS-Weise eingebunden wird:

<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Tangerine">

Danach kann die Schriftart mittels CSS angegeben werden:

font-family: 'Tangerine', serif;

Das war’s.

Zwar mag das aktuelle Angebot mit 19 Schriftarten noch etwas gering anmuten, doch so wie ich Google einschätze, wird dies nur eine Frage der Zeit sein bis wir hier weitere Schriftarten nutzen können.

Warum erwähne ich dies hier? Nun, mittels der von Google bereit gestellten Mittel ist es für mich als Entwickler möglich andere Schriftarten zu verwenden mit der Gewissheit das diese auf den unterschiedlichsten Clients auch korrekt angezeigt werden.
Interessant wird dies dann, wenn man wie in Insulae und Scherbenwelten in den Foren auch Bereiche eingerichtet hat in denen Rollenspiel betrieben wird. Konkret: Spieler können Texte in Schriftarten ihrer Wahl verfassen, umso ihr Rollenspiel noch weiter zu unterstreichen. Und alle anderen sehen dann den Beitrag so wie er eingestellt wurde.

Entsprechendes wurde in Scherbenwelten auch bereits vorgeschlagen. Ich wage zwar zu behaupten das ein solches, auch nachdem ich eine mögliche Lösung mittels Google-Mitteln vorschlug.
Bei einer der nächsten Überarbeitungen des Forums in Insulae werde ich das Potential von Google Webfonts mit beachten und entsprechende Wahlmöglichkeiten für die Spieler einbauen.
Denkbar ist auch, den Spieler mittels der Webfonts zu erlauben ihre Signaturen in den Rollenspiel-Foren zu personalisieren. Oder die Diplomatie-Nachrichten. Auf alle Fälle steckt auch viel Potential für Browsergames in den Webfonts.

Quellen: Google font directory, Scherbenwelten

Insulae – Umstrukturierung Boesartigkeit

May 28th, 2010 Jan H. Krueger No comments

Die Bösartigkeit, also der Wert, welcher in Insulae und auch Scherbenwelten angibt, wie viele böse Taten ein Account bereits begangen hat, war bisher ein globaler Wert welcher auf der gesamten Welt Gültigkeit besaß. Dieses wurde nun von mir geändert, die Bösartigkeit steht nicht mehr für die gesamte Welt sondern nur noch für die Insel bzw. den Kontinent auf dem die böse Tat begangen wurde. Als Nebeneffekt werden die einzelnen Regionen noch stärker hervorgehoben im Spiel, da sich eben auch Änderungen im Verhalten der Bewohner ergeben können.

Die Ablage im Datenmodell ist dabei so einfach wie möglich gehalten, anbei ein Beispiel. Kurz, knapp und auch für die Datenbank leicht zu verarbeiten.

Was hat dies für Konsequenzen? Nun, erst einmal kann es so nun passieren das ein Account in seinem Heimatland zwar ein ganz schlimmer Junge ist, am anderen Ende der Welt jedoch noch niemand etwas davon gehört hat. Der Bösartigkeitswert wird nun daher für jede Insel und jeden Spieler getrennt gespeichert. Erhöht die Datenmenge, aber ich denke dies ist es wert. Nun erfährt nicht sofort Bauer Hans auf der anderen Seite der Welt das Person A mal wieder Sklaven gesammelt hat. Wenn allerdings ein gewisser Schwellenwert überschritten wird, wird die erhaltene Bösartigkeit jedoch auch auf die umliegenden Inseln anteilig weiter gereicht. Die Geschichten über die schrecklichen Taten verbreiten sich also auch über die Landesgrenzen hinweg.

Andererseits ergeben sich für einen Account der stets nur auf derselben Insel verbleibt keine Änderungen, für diesen gibt es (scheinbar) nur einen abgespeicherten Wert.

Dies bedeutet allerdings auch, dass ein schlimmer Finger auf der anderen Seite der Welt erst einmal eine weiße Weste hat. Der Neuanfang in einem fremden, weit entfernten Land wird damit unterstützt.

Beispiel wie die Bösartigkeitstabelle mit Inhalten aussieht:

Mit dieser Änderung einhergehend, wird auch der Abfall der Bösartigkeit angepasst. Für jede Region wird die Bösartigkeit getrennt herabgesetzt. Grundsätzlich gilt auch weiterhin: Je höher der Wert, umso länger dauert es bis dieser abgebaut worden ist.

Multis auf der Scherbe

July 15th, 2009 Jan H. Krueger No comments

Wie vor einiger Zeit berichtet, sind wieder einige Spieler in Scherbenwelten entdeckt worden welche im Verdacht standen entgegen der Nutzungsbedingungen mehr wie einen Account angelegt haben. Tja, nun ists es offiziell, es waren tatsaechlich eine Reihe von Accounts in der groessten Nation der Scherbe, den Laoch bzw. der Fraktion des Haines unterwegs welche nicht von eigenen Spielern gesteuert wurden.
Die betroffenen Accounts wurden nach dem was die entsprechenden Spieler von sich geben gesperrt. Leider wurde den Spielern welche sich klar gegen die Nutzungsbedingungen verhalten haben erlaubt weiter zu spielen. Der eigentliche Account ist nicht mehr zugaenglich, doch es war noch nicht alles bekannt da hatten sich diese Spieler bereits neue Accounts, der ehemals machtvollste Spieler Falster sogar mit demselben Namen. Um mal die Dimension etwas zu gegen: Im Forum wird immer von einem Dutzend Accounts gesprochen.

Es wirft in meinen Augen ein sehr schlechtes Licht auf zwei Parteien in Scherbenwelten. Zum einen natuerlich auf die betroffenen Spieler. Es hinterlaesst bei allen anderen ein doch recht flaues Gefuehl das es ausgerechnet von der groessten Nation und dem machtvollsten Spieler ausging. Bis heute ist auch noch keine Entschuldigung zu lesen. Aber auch auf die Spielleitung, das diese hier nicht konsequent durchgreift und den Spielern dennoch erlaubt weiter zu handeln. Es besteht keine Gewissheit das nicht erneut
Ein Lichtblick waere zumindest wenn nur noch der Rest der abgeschlossenen Abo-Zeit zur Verfuegung gestellt wuerde und eine Verlaengerung untersagt. Oder, eine Stellungnahme der Spielleitung. Damit der Rest der ehrlich spielenden Spieler nun auch mit Fakten konfrontiert wird und nicht in einigen Bereichen immer noch mit Geruechten hantiert. Aber leider passt dieses Verhalten der Spielleitung sehr ins Schema des untergehenden Schiffes. Nur noch aktiv werden wenn es sich nicht mehr vermeiden laesst. Das Interesse, zumindest sieht es fuer die ehrlichen Spieler so aus, liegt nicht mehr auf motivierten Spielern und Kunden, sondern rein auf der Anzahl der abgeschlossenen Abos. Und wenn schon keine neuen Abos mehr in nennenswerter Zahl hinzu kommen, dann sollen die bestehenden zumindest so lange wie moeglich laufen.
Derzeit ist das einzige was die normal spielenden Menschen mit bekommen das hier die Nutzer von mehreren Accounts, Multis, ein “Du boeser Junge” erhalten haben und neu anfangen muessen. Sonstige Konsequezen? Keine ersichtlich.

Tatsaeche ist das in Scherbenwelten ein neuer Account mit Hilfe von ein paar Freunden (hoffentlich echte, keine selbst kreierten) in seiner Basis sehr schnell an das vorherige Level heran gebracht werden kann. Wenn die nun neu angelegten Accounts von den alten und bereits ausgebildeten Accounts unterstuetzt werden, dann besitzten die Spieler lediglich einen Zeitverlust, aber sonst nichts wirklich schmerzhaftes. Denn der Teil der Accounts welche keine Multis sind aber mit deren Hilfe und Ressourcen ausgebaut wurden, diese koennen jetzt weiterfahren mit ihren taeglichen Verrichtungen. Und damit wiederrum die nun neu anfangenden Nutzer von mehreren Accounts bei ihrem neuen (und nun hoffentlich einzigem) Account unter die Arme greiffen. Vor ein paar Monaten war dazu sogar ein recht ausfuehrlicher Bericht im Forum welcher quasi schon eine Anleitung dazu gab.
Eine Information am Rande. Die ehemals einwohnerstaerkste Stadt, Aerlinn, ist nur noch ein Schatten ihrer selbst. Von ehemals fast vier Millionen Einwohnern sind lediglich 138 Tausend uebrig geblieben. Und Aerlinn ist nicht die einzige Stadt des Haines welche einen rapiden Verfall vorweisen kann. Leider wird dieses Thema im Rollenspiel bisher nicht nennenswert thematisiert. Einzig Fabius sprach dies an, wurde dafuer dann aber ausserhalb des Rollenspieles dafuer kritisiert er wuerde Out of Character, ooc, Themen hierfuer nutzen. Doch wie soll denn sonst damit umgegangen werden? Unsere Charaktere sehen derzeit nur das viele Staedte fallen, die Einwohner jedoch sonst irgends auftauchen. Warum sollte dies nicht auch einmal hinterfragt werden? Aber da wird lieber, auch gerade von Spielern und Spielerinnen welche sich sonst das Rollenspiel gross auf die Fahne schreiben das Thema totgeschwiegen. Hat ja ooc-Gruende das die Staedte zu Grunde gehen. Aha. Da werden Accounts gesperrt was eine RL-Handlung ist da die Spieler bescheissen und dann soll niemand die Konsequenzen zumindest halbwegs im Rollenspiel ansprechen? Persoenlich vermuete ich einmal das sobald Falster seinen Account wieder gefestigt hat, die Stadt auch wieder wachsen wird. Aber der Respekt vor den Multi-Usern ist fuer mich erst einmal gegen Null gesunken.

Scherbenwelten koennte ein sehr schoenes Spiel sein, auch wenn seine technische Basis veraltet ist und niemanden mehr hinter dem Ofen hervorholen kann. Aber die vermeindliche Passivitaet der Spielleitung, der Umgang mit Spielern welche sich gegen die Nutzungsbedingungen stellen und daher auf ihre Kosten mit unfairen, nicht aus dem System selbst stammende, Mitteln das Spielerlebnis anderer Spieler beeintraechtigen laesst mich doch ernsthaft ueberlegen ob ich mir dieses noch auf Dauer mit ansehen moechte. Es ist, anders gesprochen, derzeit sehr enttaeuschend.

Categories: Browsergames Tags: ,

Insulae – Parlez-vous … was anderes?

July 14th, 2009 Jan H. Krueger No comments

In den letzten Wochen war es etwas still um Insulae. Das liegt mitnichten daran das ich nichts getan habe, sondern eher daran das ich viel mehr Hintergrundarbeiten erledigt habe. Ein großer Teil davon ist die Lokalisierung.

Konkret bin ich an drei “Meilensteinen” dran:

  • Umstellung von Insulae auf Python mittels Django als Web-Framework
  • Entwicklung eines reinen Admin- und Moderatorenpanels zur Spielsteuerung
  • Nutzung der von Django bereitgestellten Mittel um gemäß i18N zu arbeiten

Also doch schon drei große Teile. Im Adminpanel ich ich derzeit am weitesten, wobei die Entwicklung hierbei Hand in Hand mit dem driten Punkt geht. Ist auch eine gute Übung bevor ich das ganze mit dem eigentlichen Spiel vorrantreibe. Die Anpassungen an die Django-Templates sind hierbei auch sehr einfach zu sehen. Zu Beginn eines Templates muss Django mitgeteilt werden das für dieses Template eine Übersetzung versucht werden soll. Schnell getan mittels folgendem Zusatz welcher in die erste Zeile kommt:

{% load i18n %}

Nun ja, und danach ist eigentlich alles genauso einfach. An jede Stelle an die ich bisher einen festen String mit einem Wort eingegeben habe, ersetze ich eine bestimmte Codezeile im Template. Will ich zum Beispiel das der auf deutsch benannte Link “Eigene Nachrichten” je nach unterstützter Sprache übersetzt wird, teile ich dies dem Template wie folgt mit

{% trans "Eigene Nachrichten" %}

Das kann ich direkt während der Erstellung eines neuen Templates angeben. So sehe ich in dieser Phase was ich an dieser Stelle bezwecken will, ohne weitere Anpassungen.

Schön und gut, aber wie kann ich nun dafür sorgen das die Zeichenkette “Eigene Nachrichten” für einen englischsprachigen Benutzer eben in Englisch angezeigt wird? Zu erst muss eine Liste mit den zu übersetzenden Texten erstellt werden. Dazu ist ein klein wenig Vorarbeit zu leisten. Im Verzeichnis meines Django-Projelktes, Insulae, habe ich einen weiteren Ordner mit dem Namen “locale” angelegt. Dies muss manuell getan werden. Die Verzeichnisstruktur sieht dann also wie folgt aus, nun nachdem ich den Ordner angelegt habe:

Verzeichnisstruktur Djangp-Projekt
Wobei das nur die Struktur auf meinem Ausweichrechner ist.

Nachdem das Verzeichnis angelegt ist, kann Django angewiesen werden alle Quelldateien zu durchsuchen und alle wie oben gekennzeichneten Strings auszugeben. Beim Aufruf von django-admin.py sind noch ein paar Parameter zu beachten. Der wichtigste ist sicherlich makemessages, welcher Django anweist überhaupt die Liste zu erzeugen. Weiterhin noch die Sprache für die die Übersetzung angelegt werden soll. Dies geschieht mittels -l [Ländercode]. Dann kann noch optional mittels des Parameters -e angegeben werden, dass nicht nur die üblichen Quelldateien analysiert werden sollen, sondern eben alle mit den angegebenen Endungen. Der Parameter -a gibt an, das ich eine bereits bestehende Liste aktualiseren will, und nicht immer wieder eine leere. Für mich sieht nun konkret der Aufruf wie folgt aus:

django-admin.py makemessages -l de -e phtml -a

bzw. für eine englische Sprachversion:

django-admin.py makemessages -l en -e phtml -a

Daraufhin entstehen neue Unterverzeichnisse in locales. Bei mir konkret habe ich dann $PROJECTPATH/locale/de/LC_MESSAGES/ Dort liegt nun eine Datei namens django.po bzw. auch für englisch ein entsprechender en-Unterordner. Diese .po-Datei ist im Grunde nur eine Textdatei in der alle Strings welche ich für eine Übersetzung vorgesehen habe enthalten sind in folgendem Format:

Deutsch:

#: .\templates\spieler.phtml.py:112
#, fuzzy
msgid "Accountdaten bearbeiten"
msgstr ""

msgid gibt den zu übersetzenden String an, msgstr den Zielstring. Wird dieser leer gelassen, wird einfach msgid ausgegeben. So brauche ich keine doppelten Nennungen vorhalten. In der .po-Datei für die englischen Seiten trage ich nun die Übersetzung ein und erhalte folgendes:
Englisch:

#: .\templates\spieler.phtml.py:112
#, fuzzy
msgid "Accountdaten bearbeiten"
msgstr "Edit Account"

Nun ist diese Vorlage noch umzusetzen. Dies wird wieder von django-admin erledigt, bis auf den ersten Parameter sind keine weiteren notwendig. Es werden grundsätzlich alle Sprachen die wie oben angelegt wurden verarbeitet.
django-admin.py compilemessages
Dies erzeugt nun in zusätzlich zu den .po-Dateien Dateien mit der Endung .mo. Nun ja, das wars. Da meine Browser hier persönlich immer deutsch, also deDE als Locale liefern, ich aber ggf. eine englische Übersetzung auch testen will, kann dies in der settings.py des Django-Projectes auch eingestellt werden. Dort trage ich ind er Regel LANGUAGE_CODE = 'de-DE' ein. Will ich jedoch die englischen Texte lesen, ändere ich dies einfach auf LANGUAGE_CODE = 'en-EN'. Fertig.

Das ist nun alles was als Basis notwendig ist. Wenn eine neue Sprache eingepflegt werden soll, kann einfach eine neue wie oben beschrieben angelegt werden und einem übersetzungswilligen Spieler / Mitarbeiter gegeben werden. Wenn diese zurückkommt, einfach mittels compilemessages bearbeiten und schon steht eine neue Sprache zur Verfügung.

Ok, war jetzt mehr ein Ausflug wie in Django i18N genutzt wird. Macht aber nichts. Für alle die Fragen, in Insulae tut soch noch was, aber eben eher im Hintergrund. Einzig eine Sache wird schon partiell genutzt. Ich habe die Datenbankgrundlagen für ein System mit mehreren Postfächern gelegt. Jeder Spieler kann prinzipiell mehrere Postkörbe zugewiesen bekommen. Dies ist erst einmal der persönliche wie er auch aus Scherbenwelten bekannt ist. Gleichzeitig bekommt auch jede Stadt einen Postkorb. Zum einen werden so die Nachrichten von Spieler und Stadt ordentlicher voneinander getrennt, gleichzeitig gehen somit auch die Nachrichten einer Stadt bei einem Besitzerwechel mit. Ich kann nun spezielle Admin- bzw. Support-Postkörbe einrichten welche der Support bzw. ich als Admin lesen und bearbeiten können ohne einen besonderten LogIn zu nutzen. Weitergehend, ein solcher Postkorb ist nun streng genommen nicht mehr Spiel-gebunden sondern kann auch über andere Dienste gefüllt werden.

Multi-Using, erneuter Vorfall

July 5th, 2009 Jan H. Krueger No comments

Nun hat es in Scherbenwelten erneut hart die Glocke geschlagen. Wie sich nun so langsam abzeichnet hat es diesesmal die groesste Fraktion in Scherbenwelten, der Hain, erwischt.

Anfangs war es nur verwunderlich das die zu dieser Zeit groesste Stadt von fast 4 Millionen Einwohnern drastisch an Einwohnern verlor. Dann kamen die ersten Geruechte, nun die Bestaetigung. Im Hain sind zahlreiche Accounts aufgrund von Multi-Using-Verdacht gesperrt. Noch sind keine konkreten Zahlen da. Ist auch verstaendlich das die Spielleitung vor Abschluss der Pruefung sich hierzu aeussert. Von den anderen Nationsmitgliedern gibt es bis jetzt auch noch keinen Kommentar dazu. Boese Zungen behaupten gar das es keine anderen Nationsmitglieder gibt.

Bis zur endgueltigen Klaerung wird es sicher noch eine Zeit dauern, aber allein das es derzeit solche Auswirkungen hat, insbesondere bei einem Spieler welcher schon einmal im Verdacht stand, stimmt doch schon traurig. Traurig das es fuer manche Spieler, zumindest liegt der Verdacht derzeit nahe, es fuer noetig halten in einem Spiel wie Scherbenwelten nicht nur einen Mehraufwand an Zeit investieren, sondern auch harte Euros. Nur um mehr “Macht” innerhalb des Spieles zu steuern, um ihre Chancen durch unfaire Mittel zu vermehren. Aber es ist muessig da noch weiter drueber zu reden bevor die endgueltige Entscheidung der Spielleitung vorliegt.

Das einzige was ich mir, auch wenn es dem Spiel womoeglich Spieler kostet, konsequent ist und sich diesesmal endgueltig von Spielern welche solche Mittel einsetzen trennt. Ohne die grosszuegige Chance zumindest den Hauptaccount weiter zu spielen. Oder sich einen neuen Account hoch zu ziehen waehrend der demnaechst nicht mehr verfuegbare Account noch aktiv ist. Dies fuehrte in der Vergangenheit nur dazu das die Spieler, bis auf die bislang gesammelten Erfahrungspunkte keine Nachteile zu erleiden hatten.

Der Community muss allerdings eines zugute gehalten werden: Bisher hat die Gegenseite die derzeitige Situation noch nicht versucht auszunutzen und in den derzeit geschwaechten Hain angegriffen.