Archive

Posts Tagged ‘PBBG’

Monstervorstellung – Golem

July 18th, 2010 Jan H. Krueger No comments

Der Golem ist in vielen Fantasy-Spielen zu Hause. So auch in Insulae. Und selbstverständlich wird hier auch direkt mit den üblichen Klischees gespielt. Der typische Golem ist groß, stark und ziemlich dumm. Da sie selten ein eigenes Bewusstsein haben und daher auch keine eigenen Ziele, fehlt ihnen auch jegliche Ambition sich in Gruppen zu organisieren. Was nicht heißt das es keine Gruppen von ihnen gibt. Doch meistens steckt eher der Erschaffer des Golems dahinter welche die Aktionen seiner Geschöpfe steuert. Sollte dennoch ein freier Golem durch die Welt ziehen, so tut es dies meistens ohne jeglichen Antrieb und wird selten eine Gefahr darstellen. Außer es wird angegriffen oder bekommt den Eindruck es müsste sich verteidigen.

Da ein Golem im Grunde nur ein mittels Magie belebtes Konstrukt ist welches aus der Vorstellung und den Anforderungen des Erschaffers abhängig ist, gibt es auch nicht “den Golem”, sondern viele verschiedene von ihnen. Ihre Kräfte sind daher so unterschiedlich wie es Erschaffer gibt. Da sie in der Regel jedoch für schwere Arbeit oder gar Kriegszüge erschaffen werden, ist davon auszugehen das ein Golem in erster Linie zwei Attribute besitzt: Stärke und Widerstandskraft. Weshalb sie, auch wenn sie primär Einzelgänger sind, dennoch für viele Gruppen zu einer ernstzunehmenden Gefahr werden können.

Wie fast alle Konstrukte sind auch Golemniden nicht in der Lage sich selbst zu vermehren.

In Insulae kann ein Golem in der Regel nur aus zwei Gründen angetroffen werden. Zum einen kann er noch ein Relikt aus dem letzten chtu’lohschen Magierkrieg sein. Andererseits könnte sich auch gerade ein Magier oder Zauberer, offenbar erfolglos, daran gemacht haben selbst diese Wesen die nicht geboren wurden zu erschaffen und danach zu kontrollieren. Es mehren sich jedoch hartnäckig die Gerüchte, das in jüngster Zeit vermehrt Golemniden welche aus den Überresten sterblicher Wesen erschaffen wurden über die Insel streifen. Ob diese tatsächlich zu den Golemniden zu zählen sind oder nicht eher zu den Untoten kann bis zu einer genaueren Überprüfung nicht gesagt werden.

Kurzüberblick:
Name: Golem
Abstammung: Konstrukt
Fortbewegung: laufend
Lebenspunkte: variabel
Mindestgruppengröße: 1
Nest notwendig: ja
Stärke: variabel; je nach Unterart
Besondere Fertigkeiten: Abhaengig von der Unterart; jedoch mindestens Gesteigertes Leben und Natürliche Panzerung, deren Staerke ebenfalls von der Unterart abhaengig sind.
Ziele: Klar in der Gegnerrolle konträr zu den Spielern. Schaffung einer Monstergruppe welche nicht von Gaia abstammen und ggf. sogar von Spielern erschaffen werden kann.

Monstervorstellung – Die Fressfliege

July 5th, 2010 Jan H. Krueger No comments

Als besonders lästiges Insekt entworfen wurde die Fressfliege.

Während sie viele Ähnlichkeiten mit der üblichen Stechfliege besitzt, vernichtet sie in jeder Auswertungsrunde Rohstoffe auf dem Land auf welchem sie sich aktuell befindet. Die ursprüngliche Fliege frisst dabei eine Anzahl an Rohstoffen gleich ihrer Stufe. Je dicker die Fliege, umso größer der Schaden. Im Gegensatz zu den Säbelrehen wird dabei allerdings nicht die Qualität des Landes beeinträchtigt, sondern lediglich die vorhanden Ressourcen vernichtet. Eine Fressfliege welche nicht zügig eliminiert wird, kann daher immensen Schaden, insbesondere auf den Plantagen anrichten.

Als fliegendes Monster, kann sie sich darüber hinaus auch von Insel zu Insel verbreiten. Sie ist zwar nicht schnell unterwegs, aber dies kann sie, im schlimmsten Fall, mit ihrer Masse wett machen. Masse aus dem Grund, weil die Fressfliegen in der Lage sind sich ohne Nest zu vermehren. Schafft es eine Fliege acht Runden Rohstoffe von einem Landfeld zu fressen, so wird sie eine neue Fliege in ihrer Gruppe produzieren. Gleichzeitig steigen bei jedem erfolgreichen Fressversuch ihre maximalen Lebenspunkte um 3 an. Sollte die Fliege fressen und die aktuellen Lebenspunkte unter den maximalen Lebenspunkten liegen, werden die aktuellen Lebenspunkte um den halben Betrag der gefressenen Rohstoffe geheilt.

Sind in einer Gruppe mehr wie acht Fliegen, wird eine Fliege auf ein zufällig ausgewähltes Feld neben der ursprünglichen Fliegengruppe positioniert. Aus einer Fliegengruppe werden somit bereits zwei, welche sich auf der Welt weiter vermehren können und die Rohstoffe vernichten.

Anfangs sind die Fressfliegen lediglich lästig und aufgrund ihrer geringen Kampfwerte auch für noch unerfahrene Spieler geeignet. Doch spätestens wenn eine Fliege angefangen hat sich zu vermehren, sollten auch erfahrene Spieler ihnen Aufmerksamkeit widmen. Ansonsten können die Rohstoffe einer gesamten Region schnell leer gefressen werden.

Als lokale Unterarten gibt es noch Fressfliegen welche auf eine Rohstoffart spezialisiert sind. Aktuell ist für jede Plantagenware eine eigene Fliege implementiert. Die Limitierung auf einen Rohstoff wird durch spezielle Fertigkeiten ausgeglichen.

Bei den in Insulae zum Einsatz kommenden Monstern nimmt die Fressfliege insofern eine Sonderstellung ein, als das sie das erste Monster ist welches ein eigenes Auswertungsskript erhielt.

Kurzüberblick:
Name: Fressfliege
Abstammung: Insekt
Fortbewegung: fliegend
Lebenspunkte: Anfangs 10
Mindestgruppengröße: 1
Nest notwendig: nein
Stärke: variabel; anfangs gering, mit zunehmenden Alter ausdauernder
Besondere Fertigkeiten: Rohstoffe fressen, Vermehrung (8), Gesteigertes Leben +3, Natürliche Panzerung +1
Ziele: Waren aus dem Spiel ziehen; bei Nicht-Beachtung fieser werden

Insulae – automatisiertes Veroeffentlichen in Sozialen Netzwerken

May 30th, 2010 Jan H. Krueger No comments

Um alle Interessenten stets schnell und einfach ueber Neuerungen in Insulae informieren zu koennen, habe ich ein wenig rumprobiert und nun die erste Version der Netzwerkanbindung fuer Insulae fertig gestellt.
Konkret: mittels eines neu erstellten Formulares koennen Ankuendigung und News bequem zentral erfasst werden. Daraufhin wird die Ankuendigung aktuell an fuenf Orte eingestellt:

  • News-Seite in Insulae
  • Insulae-Forum
  • dieses Blog
  • Twitter
  • Google Buzz

Als naechsten Schritt werde ich versuchen mich mit der API zu Facebook auseinander zu setzen um auch hier einen direkten Zugang per Skript zu erlangen. Infoquellen per RSS-Feeds ergeben sich aus den genannten Quellen ebenfalls.

Dabei ist die Anbindung an die eigene News-Seite und ins Forum trivial, da Eigenentwicklungen. Daher werde ich hier auch nicht weiter darauf eingehen.

Die Twitter-API ist dankenswerterweise simpel wie es nur sein kann.

#!/usr/bin/python
 
import os
import twitter
 
E = sys.exit
 
##############################
# Send message to Twitter
##############################
 
try:
    # API initialisieren
    client = twitter.Api()
 
    # Authentifizieren
    client = twitter.Api(username='twitterusername', password='twitterpassword')
 
    # Nachricht an Twitter senden
    update = client.PostUpdate(message)
except: 
    print ("Keine Anbindung an Twitter moeglich.") 
    E(8)

Schwupps, Text bei Twitter gepostet.

Fuer Google Buzz sieht es etwas schwieriger aus. Ich habe noch keine ueberzeugende API dafuer gefunden. Doch Google hat die Moeglichkeit geschaffen, auch mittels einer E-Mail an Buzz zu senden. Daher ist die Hauptaufgabe fuer Buzz eigentlich der Versand einer E-Mail.

#!/usr/bin/python
 
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
import os, getopt, sys
 
# Hier die zu veroeffentlichende Nachricht
message = "Beispielnachricht"
 
# Google Buzz Konfiguration
gmail_user = "username@googlemail.com"
gmail_pwd  = "password"
 
# Ab hier nichts mehr veraendern
 
# Derzeit verarbeitet Google Buzz lediglich den Titel einer
# eingehenden Mail. Daher muss die Nachricht direkt in den
# Mailtitel geschrieben werden.
# so subject = message
subject = message
 
E = sys.exit
 
##############################
# Send message to Google Buzz
##############################
try:
    msg = MIMEMultipart()
    msg['From']    = gmail_user
    msg['To']      = "buzz@gmail.com"
    msg['Subject'] = subject
    msg.attach(MIMEText(message))
 
    smptServer = smtplib.SMTP("smtp.gmail.com", 587)
    smptServer.ehlo()
    smptServer.starttls()
    smptServer.ehlo()
    smptServer.login(gmail_user, gmail_pwd)
    smptServer.sendmail(gmail_user, to, msg.as_string())
    smptServer.close()
except: 
    print ("Kein Versand an Google Buzz moeglich") 
    E(8)

Grosser Dank fuer diesen Teil geht dabei an samof76 von Megam: Cloud Buzz. Dort habe ich die Basis fuer den Mailversand her.

Der Einfachheit halber habe ich hier in den Beispielen zwei separate Skripte vorgestellt. Fuer Insulae sind die entsprechenden Schritte im Portal zentral eingebettet.

Warum der Aufwand? Um schnell und einfach in verschiedenen Kanaelen Informationen ueber Insulae zu verbreiten. In meinen Augen ist es in der heutigen Zeit notwendig, die zur Verfuegung stehen Mittel auch vollstaendig zu nutzen. Je breiter die Informationsbasis, umso mehr potentielle Spieler lassen sich finden. Je mehr Informationskanaele genutzt werden, umso geringer die Wahrscheinlichkeit einen potentiellen Spieler nicht zu erreichen. Daher gilt ein meinen Augen: Der Spieler sucht sich den Informationskanal, der ihm gefaellt. Gerade Browsergames bei denen keine grosse Entwicklungsfirma im Hintergrund steht, koennen sich in meinen Augen nicht erlauben, Spielern zu diktieren welchen Kanal sie zu nutzen haben, erst recht wenn sie erst noch Spieler werden sollen. Gar nichts zu veroeffentlichen ist inakzeptabel.

Wenn wie oben bereits angesprochen auch Facebook in mein Portal integriert ist, habe ich denke ich eine gute bis sehr gute Abdeckung von Informationskanaelen die ich mit Infos bestuecke. Dabei gilt: je mehr, umso besser. Aber nur relevante Informationen! Zu wenig, und Spieler koennen den Eindruck gewinnen das ein Projekt eingeschlafen ist. Zu viele, und wichtige Infos koennen unter der Masse verloren gehen.

Daher: Spread the word!

Interessant waere es eventuell auch, Google Wave anzusprechen. Doch derzeit bin ich vom insgesamten Nutzen von Wave nicht ueberzeugt, daher steht dieses Kanal auch noch sehr weit hinten an. Ob, ausser Facebook und eventuelle Google Wave, noch andere Kanaele angebunden werden… das kann ich zum aktuellen Zeitpunkt noch nicht sagen. Ich wuensche mir allerdings, das die verbliebenen deutschen Browsergame-Portale entsprechende Schnittstellen anbieten wuerden damit auch diese in einem Schritt gefuettern werden koennen. Aber dies wird wohl niemals passieren.

Nebenbei: die Suchmaschinen werden mittels Ping-Dienste aus dem Blog bereits darauf hingewiesen das es neues futter fuer sie gibt welches sie konsumieren koennen. Also auch dieser Teil erfolgreich abgedeckt.

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.