Archiv für die Kategorie „Allgemeines“

Opensource Browsergame?

Dienstag, 5. August 2008

Zetake ist interessant und die Entwicklung macht Spaß, allerdings will ich nicht alleine hinter dem ganzen Projekt stehen. Deswegen ist meine Überlegung den Quellcode zu öffnen und dann ala SourceForge regelmäßige Versionen zu uppen. Vielleicht finden sich ja so ein Paar Helfer, die mal rüberschauen, ihre Meinungen posten oder bestimmte stellen verbessern.

Was sagt ihr dazu? Kommentare wären mir sehr recht. Ihr müsst euch auch nicht vorher registrieren.

Meine Pro’s

  • Jemand kann dir einen Fehler zeigen
  • Du lernst etwas, wenn andere Dir zeigen, wo man etwas besser machen kann
  • Man muss nicht alles alleine machen

Meine Kontra’s

  • Ideenschutz, was ist, wenn jemand alles klaut und sein eigenen Projekt damit startet?
  • Man wird leicht demotiviert, wenn dir andere Leute erzählen, wie schlecht du doch programmierst :)
  • Sabotage wird leichter. Es gibt immer Miesmacher da draußen.

Browsergames Reallife vs Virtual Life

Sonntag, 3. August 2008

Browsergame laufen bekannterweise auch, wenn man nicht angemeldet ist. Also kann sich das Imperium auch während der Abwesenheit des Herrschers weiterentwickeln. Soweit so gut, aber leider kann auch in der “Abwesenheit” etwas schiefgehen. Was passiert, wenn man angegriffen wird? Nichts gutes, denn man ist ja nicht da um entsprechende Gegenmaßnahmen zu ergreifen.
Vor diesem Hintergrund ist man als engagierter Spieler quasi gezwungen regelmäßig mal nach dem Rechten zu sehen. Aktive Spieler zeichnen sich dadurch aus, dass sie so ziemlich immer am Tag online sind, also zu jeder Zeit reagieren können.

Mit der Zeit hat sich herausgestellt, dass auch aktive Spieler schlafen müssen. Demzufolge finden groß geplante Angriffe meistens nachts statt, da hier die Wahrscheinlichkeit größer ist, dass der Betroffen abwesend ist.

In dieser Teufelsspirale und dem leicht über engagierten Spieler kommt es dann zu Schlafdefiziten, da man ja nie wirklich Zeit hat zum Schlafen.
Hauptproblem
Die, die so etwas wirklich stört, sind die Gelegenheitsspieler, also Leute, für die das Spiel immer noch ein Spiel ist. Solche Leute werden nicht nachts aktiv sein und sich dann wahrscheinlich nur ärgern, warum Sie immer über Nacht überfallen und geplündert werden. Diese Spieler sind ein Großteil aller Spieler und sollten nicht unterschätzt werden. Sie sind meistens Beuteopfer für aktivere Spieler und wichtig für die Dynamik eines BSG. Also sollte man alles tun um diese Spieler auch bei guter Laune halten :)

Gegenmaßnahmen
Wenn jemanden etwas stört, versucht er dass irgendwie zu verhindern. Folgende Gegenmaßnahmen sind mir aufgefallen und erscheinen sinnvoll.

  • Der Spieler
    Spieler organisieren sich zu Gemeinschaften und nur wenige haben dann nachts eine “Wachfunktion” (Lustiges Wortspie, Wache, Wächter, wach sein). Damit kann der Großteil der Gemeinschaft schlafen, während die Wächter zur Not reagieren können. Das hört sich jetzt übertrieben an, dass durfte ich in manchen Browsergames aber schon feststellen, dass es sowas gibt

    Die zweite Variante ist ähnlich, hinter einem Spieler stecken mehrere reale Personen. Diese Teilen sich dann die Tages- und Nachtschichten. Solche Spieler sind meistens auf Erfolg aus und spielen demzufolge auch nachts aggressiv.

  • Der Entwickler
    Wenn jeder reale Spieler schlafen muss, währe es doch nur realiistsch, wenn auch virtuelle Spieler schlafen müssen. Also können Spieler einmal alle 24 Stunden eine Schlafphase einleiten, in dieser Zeit bleibt die Zeit für den Spieler stehen. Es wird nicht produziert und nicht bewegt. Dafür kann der Spieler dann aber auch nicht angegriffen werden.

    Es gibt eine Nachtruhe, während einer bestimmten Spielzeit (z.b. 0 Uhr - 7 Uhr) bleibt das gesamte Spiel stehen. Das erzeugt jedoch einigen Mehraufwand, wenn das Spiel Aktionen über mehrere Tage oder Monate berechnen soll (Der Timestamp läuft ja trotzdem weiter).

    Mein Favorit:
    Leicht modifiziert währe die Variante, dass in der Nachtruhe nicht das gesamte Spiel stehen bleibt, sondern alle agressiven Handlungen (Angriffe) aufgeschoben werden ( also genau 7 Stunden später ausgeführt werden. Bsp. die Angriff wären um 23 und 1 Uhr erfolgt, dann erfolgen sie dank Nachtruhe um 23 Uhr und 8 Uhr morgens.

    Eine andere Möglichkeit wäre Angriffe in der Nachtzeit zu erschweren. Also bekommt ein Verteidiger in der Nach einen Verteidigungsbonus von xxx%. Diese Variante führt aber nur dazu, dass der Gegner erst Schwachstellen ausspionieren muss und dann eben mit etwas mehr angreifen muss.

Zentral vs Global

Sonntag, 27. Juli 2008

In einem Aufbaubrowsergame ist es normal, dass man mehrere Städte, Planeten oder Kolonien hat und jede Stadt hat ihre eigenen Gebäude, Ausbaustufen und Einheiten.

Das sind zentrale Eigenschaften, die von Stadt zu Stadt variieren.  Das Gegenteil dazu sind globale Eigenschaften. Der häufigste Fall von globalen Eigenschaften ist die Forschung. Wenn ein Spieler die Technologie xyz erforscht, soll sie nicht nur für eine Stadt, sondern für alle Städte gelten. 

In Zetake wird jede Stadt ihre eigenen Gebäude haben, aber Rohstoffe werden nur global produziert. Das ist ein wesentlicher unterschied zu allen Browsergames, die ich bisher kennengelernt habe. Die Idee dahinter ist, dass Rohstoffe von Stadt zu Stadt je nach Bedarf und Überschuss vom Spieler getauscht und gehandelt werden müssen, dies ist ein unnötiger Overhead im Ressourcenmanagement, der Spieler eher mehr belastet als erfreut.

Forschung ist im Moment noch nicht ausgereift genug im zu sagen, wie diese implementiert wird. Update folgt.

Erste Gedanken zur Programmierung

Sonntag, 20. Juli 2008

Die Ideen für Zetake reifen immer weiter und langsam wird es Zeit sich um die Programmierung zu kümmern. D.h.nicht mit dem Programmieren anzufangen, sondern sich zu überlegen wie man programmieren möchte.

Nach einigen Grübeln habe ich mich für folgendes entschieden.

  • PhP 5, MySql,und Ajax
    PhP 5 bietet jetzt endlich die Objektorientierung, die man für anständiges Borwsergame zwingend benötigt. Kleine Projekte kommen auch ohne aus, aber große Projekte sind doch wesentlich besser zu verwalten, wenn man die Hifle von Interfaces und Abstracten Klassen nutzen kann. Meine letzten Projekte habe ich zwar noch mit PhP4 programmiert, aber PhP4 ist inzwischen veraltet. Mit Hilfe von Ajax kann ich die Navigation und Bedienung wesentlich angenehmer gestalten. Seiten müssen nicht mehr komplett neugeladen werden, sondern mit Hilfe von Asynchronen Anfragen müssen nur Ergebnisse erneuert werden.
  • PhPEdit als Editor
    PhPEdit ist ein IDE (Integrated Development Environment), also ein Editor, der alles zum PhP programmieren mitbringt. Man braucht zum Testen kein Webserver und hat jede menge Funktionen, die einem das Leben einfacher machen. Hauptgrund für PhP-Edit ist aber die Debuggerfunktion. Damit lassen sich Zustände während der Ausführung überprüfen und somit das finden von Fehlern um ein Vielfaches beschleunigen. Der Anfänger würde sich hier mit Hilfe von prints von Variablen helfen. Dies hat aber den Nachteil, dass man diese erstmal einbauen muss und zweitens den Code erst ändern muss, um ihn später wieder zurück zu ändern. Der Debugger von PHPEdit macht das alles für euch.
  • Framework
    baut man sein Spiel auf einen Framework auf oder fängt man bei null an? Für das Framework spricht ganz klar die Tatsache, dass das Framework schon sehr fehlerbereinigt ist und einem viel Arbeit beim Programmieren abnimmt. Dagegen spricht die Tatsache, dass es einem Freiheiten wegnimmt und eine gewisse Eingewöhnung benötigt. Für Anfänger ist das Framework aufjedenfall die bessere Wahl. Ich habe noch kein überzeugendes gefunden und werde meine Hilfsklassen wahrscheinlich selber schreiben. Damit habe ich dann die volle Kontrolle (und auch Verantwortung) für Design und Sicherheit.
  • SVN
    Eine weitere gute Eigenschaft von PHPEdit ist, dass das SVN (Subversion System) bereits integriert ist. Ansonsten ist es unabdingbar, seinen Fortschritt in gewissen Abständen in verschiedenen Versionen zu sichern und somit später jederzeit die Möglichkeit zu haben “zurück zu springen”. Man stelle sich nur mal vor, man löscht ausversehen eine Datei oder hat einen Fehler implementiert, den man einfach nicht mehr rausbekommt. Bevor man an diesen Stellen verzweifelt, springt man einfach einen oder zwei Tage zurück zu einer früheren Version. Man muss seinen Fortschritt ja nicht komplett wegschmeissen, kann aber gut vergleichen, was sich genau und wo verändert hat. Ich kann nur sagen ab mehr als 1000 Zeilen ist SVN sehr wichtig.

Zetake - Das Stufensystem (Skizze)

Sonntag, 20. Juli 2008

In diesem Artikel werde ich das evolutionäre Stufensystem etwas näher erklären und erläutern. Bevor man diesen Artikel liest, empfehle ich aber den Artikel “Zetake - Das Aufbausystem” zu lesen.

Stufe 1 - Das Dorfleben
Jeder fängt klein an und so auch der Spieler. Als Dorf hat man nicht sehr viel Möglichkeiten. Es gibt nur wenige Gebäude und fast alles ist noch nicht möglich.
Die Frage ist natürlich warum sollte man einen Spieler derart der Tiefe des Spieles berauben? Aus zwei Gründen, der erste ist, dass man so das Spiel in seinen Grundzügen kennen lernt. Man wird nicht mit über vielen Möglichkeiten verwirrt und kann im Prinzip wenig bis nichts falsch machen. Der zweite und das ist vielleicht sogar noch wichtiger ist, dass das Spiel schon in seinen Grundzügen überzeugen muss. Komplexität und Tiefe ist ja schön und gut, aber wenn das Fundament sich nicht beweisen, wird der Rest es auch nicht.

Bis jetzt ist ein einfaches Ressourcensystem für Dörfer geplant. Es gibt Holz und Geld, wobei Geld noch keine große Rolle spielen wird. Für das Militär sorgt eine Einheit, der Bauer selbst kann an die Front geschickt werden.

Der Spieler kann regelmäßig Gebäude ausbauen und mit seiner Bauernarmee die Nachbarschaft nahe unsicher machen. Primitiv, aber die Grundzüge jedes Browsergames.

Einfacher gehts kaum noch. Deswegen wird diese Phase auch nur etwa 1-2 Wochen dauern. Dann hat der Spieler einen Punkt erreicht, an der er bereits eine kleine Armee besitzt, das Dorf gut ausgebaut ist und das Spiel kennen sollte.

Stufe 2 - Das Leben nach dem Dorf
In dieser Stufe wird der Spieler wichtige neue Elemente kennenlernen. Das Ressourcensystem erweitert sich um “Erz”, den zweiten Basisrohstoff. Damit werden neue Gebäude gebaut werden können und der Handel kann beginnen. Mit einem einfachen Marktplatz ist es möglich Waren an den offenen Markt anzubieten. Der Einkauf ist aber noch gesperrt.
Die Militäreinheiten erweitern sich auf den Schwertkämpfer und den Bogenschützen aus.
Ziel dieser Phase ist es den Spieler an den Handel zu gewöhnen und gleichzeitig sein taktisches Verständnis von Zetake zu erweitern. Jetzt wird es möglich sein benachbarte Spieler anzugreifen oder zu plündern. Jedoch kann man nur Spieler der gleichen oder höheren Stufe angreifen. Damit hat man einen gewissen Anfängerschutz.

Stufe 3 - Lasst das Abenteuer beginnen
Wer jetzt dachte das war es, wird verblüfft sein, was Stufe 3 bietet. Als erstes wird der Spieler gefragt ob er wirklich aufsteigen will, denn von dieser Stufe aus gibt es kein zurück mehr. Danach kommt etwas wirklich unerwartetes. Der Spieler kann sich für eine Rasse entscheiden, die maßgeblich seine Zukunft beeinflußen wird.
Das Layout des Spieles passt sich nun an die jeweilige Rasse an, zu Rassen später mehr.
Als nächstes wird der Startheld freigeschaltet. Durch jede Verteidigung hat der Held bereits EXP gesammelt und kann evtl. schon aufgelevelt werden.
Absofort ist der Handel komplett freigeschaltet und der Spieler hat neue Einheiten (bestehende werden transformiert) und kann auch neue Einheiten bauen. Neben Holz und Erz sind jetzt auch die Luxusressourcen freigeschaltet und könnne gehandelt, erbeutet und benutzt werden. Ausserdem kann der Spieler beginnen neue rassenspezifische Dörfer gründen. Die Stadt wird jetzt keine Rohstoffe mehr produzieren, sondern nur noch eine erhöhte Menge Geld. Damit wird der Spieler gezwungen sich durch Handeln, Plündern oder expansiven Verhalten eben diese zu besorgen. Auch der Krieg zwischen Spielern wird jetzt starten.
Man ist in der Lage Eroberungseinheiten zu bauen, kann diese aber erst ab Stufe 4 einsetzen.

Weitere Stufen folgen noch
To be continued…