Sie sind nicht angemeldet.

swarm

Schüler

  • »swarm« ist der Autor dieses Themas

Beiträge: 52

Grafikprogramm: CS4

Programmiersprache: Java, C, Python, PHP, Perl

Wohnort: Wiesbaden

Beruf: Admin, Student

  • Nachricht senden

1

Montag, 21. Februar 2011, 17:40

Browsergame / Storytelling Engine

Wie hier schon angedeutet, denke ich grade an einer Browsergame Engine herum. Der Kern des ganzen soll das Erzählen (oder eher Spielen) von dynamischen Geschichten sein. Außerdem werde ich noch mal überlegen, wie man das ganze interaktiver gestalten kann. Wer Echo Bazzar kennt, hat schon eine Idee, in was für eine Richtung das gehen könnte.

Hier noch ein sehr unvollständiger erster Entwurf. Es fehlen ein haufen Methoden und Attribute, viele indirekte Assoziazionen für ein korrektes MVC, der Großteil der Darstellung und die Persistenz. Für die Darstellung würde ich GWT verwenden. Bei der Persistenz bin ich noch am überlegen. Es könnte auf Hibernate hinauslaufen, aber für andere Vorschläge bin ich offen.


Leratos

Fortgeschrittener

Beiträge: 509

Grafikprogramm: Autodesk Maya PLE

Programmiersprache: PHP/MYSQL

Wohnort: Berlin

Beruf: Maschinenbau Student

  • Nachricht senden

2

Montag, 21. Februar 2011, 23:10

Sehr interessant, bin gespannt was daraus wird.
Haste schon irgendwas wo drauf du es dann laufen lässt?
Lebe dein Leben, denn lebend kommste sowieso nicht raus!


swarm

Schüler

  • »swarm« ist der Autor dieses Themas

Beiträge: 52

Grafikprogramm: CS4

Programmiersprache: Java, C, Python, PHP, Perl

Wohnort: Wiesbaden

Beruf: Admin, Student

  • Nachricht senden

3

Dienstag, 22. Februar 2011, 10:31

Da mache ich mir Gedanken, wenn es soweit ist. Erstmal auf einer VM, so lange es Sinn macht. Vielleicht darf auch das Netbook wieder dran glauben. Das hat schon hervorragende Dienste als Buildserver geleistet. Je nachdem, wie sich das dann entwickelt, werde ich mal meinen Server aufbohren. Da müssen dann aber vorher noch andere Baustellen beseitigt werden. Ungeliebte Altlasten, bei denen man eigentlich nicht nochmal an den Code möchte.

Goblin

Fortgeschrittener

Beiträge: 200

Grafikprogramm: Photoshop, Flash

Programmiersprache: Typoscript, JavaScript, XHTML, CSS

Wohnort: Zürich

Beruf: Grafik & Web-Designer

  • Nachricht senden

4

Dienstag, 22. Februar 2011, 10:57

Ich verstehe wenig, bis gar nichts, von der technischen Umsetzung eines solchen Spiels. Habe bis auf wenige Zeilen Blitz Basic (+ Implementierung von 2D Sprites) noch nie an so was gearbeitet.

Also, für einen ersten Entwurf, wirkt das ganze schon mal sehr solide Aufgebaut. Wäre äusserst spannend zu sehen, wie sich daraus etwas Entwickelt.

Ich weiss, das spielt beim jetzigen Stand noch überhaupt keine Rolle:
Würde mich im späteren Verlauf aber sehr gerne als Co-Grafiker zur Verfügung stellen - Interface, Items, Backgrounds, Logo etc. Auch Umsetzung einer Webpräsenz. Als Charakter-Designer würde ich mich weniger eignen.

So, genug Off-Topic. :)

VIIV

Schüler

Beiträge: 21

Programmiersprache: C++, PHP, VB, Assembler, SPS

Wohnort: Frankfurt am Main

Beruf: IT-Techniker, Netzwerk-Admin, Kaufmann, BWLer in Spe^^

  • Nachricht senden

5

Sonntag, 27. Februar 2011, 17:28

Sehr gute Ausarbeitung. Damit könnte man aufjedenfall arbeiten :awsm
I'm the bone of my Sword...
Steel is my Body and Fire is my Blood...
I have create over a thousand blades...
Unknown to death nor known to life...
Have withstood pain to create many weapons...
Yet, those hands will never hold anything...
So, as I pray....
UNLIMITED BLADE WORKS!

swarm

Schüler

  • »swarm« ist der Autor dieses Themas

Beiträge: 52

Grafikprogramm: CS4

Programmiersprache: Java, C, Python, PHP, Perl

Wohnort: Wiesbaden

Beruf: Admin, Student

  • Nachricht senden

6

Montag, 28. Februar 2011, 11:39

Also von einer Ausarbeitung ist das ja nun weit entfernt. Habe das nur mal grob umrissen und mir ein paar Gedanken gemacht. Aber es soll ja gut werden, deshalb immer Eines nach dem Anderen. Ich bin gerade dabei die Anforderungen sauber heraus zu arbeiten und die Screens zu Skizzieren. Parallel schreibe ich ein paar Prototypen für die neuen Technologien, mit denen ich mich ärgern möchte. Im Anschluss kann ich dann ein Klassendiagramm entwickeln, über das man sinnieren kann. Dieses wird dann auch Umgesetzt. Zur Qualitätssicherung werde ich mir wieder einen Buildserver hin stellen und darauf Unit-Tests, Coverage, etc. laufen lassen.

Falls ihr Wünsche und/oder Ideen für Funktionen habt, bin ich dafür natürlich offen. Es wäre aber vielleicht sinnvoll damit noch die nächsten paar Posts abzuwarten. Dann habe ich mal alles genau beschrieben, was ich umsetzen möchte und ihr wisst was in meinem Kopf vor geht.

Sehr viel Kopfzerbrechen bereitet mir noch, wie man Interaktivität zwischen den Spielern gestalten kann. Das ist in dem Rahmen des Geschichten erzählens schon ziemlich schwierig.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »swarm« (28. Februar 2011, 12:52)


swarm

Schüler

  • »swarm« ist der Autor dieses Themas

Beiträge: 52

Grafikprogramm: CS4

Programmiersprache: Java, C, Python, PHP, Perl

Wohnort: Wiesbaden

Beruf: Admin, Student

  • Nachricht senden

7

Mittwoch, 2. März 2011, 12:56

Es ist immer einfacher den Dingen Namen zu geben. Deshalb hat dieses Projekt vorerst den Arbeitstitel "Puck - A WebStorytelling Engine", nach der gleichnamigen Gestalt aus der Mythologie.

Bei Puck handelt es sich um eine Engine für Browserspiele. Der Schwerpunkt hierbei liegt auf dem Spielen von Geschichten, wobei sich jede Geschichte aus mehreren Ereignissen zusammen setzt. Durch zufällige Ereignisse soll das Spielgeschehen aufgelockert werden. Jeder Spieler hat dazu einen eigenen Charakter, dessen Geschicke er dabei steuert.

Die Spielwelt lässt sich dabei global konfigurieren und auf die jeweiligen Erfordernisse anpassen. Das umfasst welche Module dem Spieler zur Verfügung stehen, die Geschichte der Welt, welche Fähigkeiten der Charakter lernen kann, bis hin zu der Anzahl der Aktionen welche dem Spieler zur Verfügung stehen.

Die folgenden Module sind bisher geplant, wobei die Reihenfolge der Umsetzung nicht fest steht.
Basis - Das (Überraschung!) Basismodul, das den Kern des Spiels beinhaltet, d.h. Konfiguration, Charakter, Geschichten, Ereignisse, Geschichten- bzw. Ereigniseditor

Gegenstände - Inventar, einfacher Handel, Charakter kann Gegenstände ausrüsten oder benutzen, Geld

Handel - Freier Markt, Angebote, Gesuche, Auktionen

Reise - Orte und Karten

Handwerk - Ressourcen abbau/sammeln, Kombination von Gegenständen, Erschaffen von Gegenständen

swarm

Schüler

  • »swarm« ist der Autor dieses Themas

Beiträge: 52

Grafikprogramm: CS4

Programmiersprache: Java, C, Python, PHP, Perl

Wohnort: Wiesbaden

Beruf: Admin, Student

  • Nachricht senden

8

Mittwoch, 2. März 2011, 12:57

Anforderungspaket - Basis

Charakter
Der Charakter ist die Klasse im Spiel, die den Spieler darstellt. Der Spieler soll durch eine Anmeldung mit Anmeldename und Passwort identifiziert werden. Zur Aktivierung wird eine gültige E-Mail-Adresse benötigt. Zur Personalisierung hat jeder Spieler einen Anzeigenamen, mit dem er im Spiel erkennbar ist. Dies ist nicht zwangsweise der Anmeldename. Jeder Spieler kann seinen Charakter durch ein vom Spieler wählbares Bild darstellen. Neben einer Variablen Anzahl von Qualitäten und Fähigkeiten hat jeder Spieler eine feste Anzahl von Attributen, die für jede Spielwelt global Definiert sind. Außerdem hat ein Charakter eine Anzahl von Aktionen, die er in einem Zeitintervall ausführen kann. Wie viele Aktionen das sind, wie groß der Zeitintervall ist und in welcher Geschwindigkeit sich die Aktionspunkte regenerieren, soll global definierbar sein.

Qualität
Qualitäten drücken alle mit dem Spieler assozierten Dinge aus und sind frei definierbar. Zum Beispiel lassen sich dadurch Fortschritte in einer Geschichte oder andere Zustände merken.
Eine Qualität besteht aus einer auswählbaren Kategorie, welche Global definiert ist (z.B. Kontakt, Geschichte, etc.), einem Namen, einem optinalen Zweitnamen, einem Bild und einer Beschreibung. Eine Qualität kann entweder nur vorhanden sein oder aber über einen Zähler verfügen.

Fähigkeit
Durch Fähigkeiten wird abgebildet, welche besonderen Dinge der Charakter gelernt hat. Eine Fähigkeit besteht aus Name, Bild und Beschreibung. Eine Fähigkeit kann entweder vorhanden sein oder über einen Zähler verfügen. Im Gegensatz zur Qualität kann eine Fähigkeit Vorraussetzungen haben. Fähigkeiten sind global in der Spielwelt definiert. Es muss in einer Spielwelt keine Fähigkeiten geben.

Vorraussetzungen
In einigen Situationen ist es möglich das Aktionen nur ausgeführt werden können, wenn bestimmte Vorraussetzungen vom Charakter erfüllt werden. Es kann geprüft werden, ob ein Charakter über eine bestimmte Stufe eines Attributes, eine Qualität oder eine bestimmte Stufe einer Qualität oder eine Fähigkeit oder eine bestimmte Stufe einer Fähigkeit verfügt. Ist die Vorraussetzung nicht erfüllt ist die Aktion nincht durchführbar oder wird nicht angezeigt.

Geschichte
Eine Geschichte bildet einen Handlungsstrang ab, den der Spieler mit seinem Charakter begehen kann. Eine Geschichte besteht aus mehreren Ereignissen und kann Vorraussetzungen haben. Eine Geschichte kann eine Belohnung haben. Eine Geschichte hat außerdem einen Titel, eine Beschreibung und ein Bild. Handlungsstränge sollen automatisch validiert werden, um sicher zu stellen, dass jedes Ereignis erreicht werden kann.

Ereignis
Ein Ereignis ist ein Gescheheniss im Spiel, eine Situation in der der Charakter interagieren kann. Ereignisse können mit Geschichten verknüpft sein, müssen es aber nicht. Wenn ein Ereignis nicht mit einer Geschichte verknüpft ist, ist es ein Zufallsereignis. Ein Ereignis hat einen Titel, ein Bild und eine Beschreibung. Außerdem hat ein Ereignis eine oder mehrere Handlungsoptionen, die der Spieler wählen kann.

Handlungsoption
Eine Handlungsoption stellt dar, wie ein Charakter auf ein Ereignis reagiert. Eine Handlungsoption hat einen Titel, eine Beschreibung, ein Bild, kann Qualitäten und Fähigkeiten positiv oder negativ beeinflussen und eine optionale Belohnung. Eine Handlungsoption kann Vorraussetzungen haben und kostet Aktionspunkte.

Screens
Charakter Übersicht
Charakter erstellen
Login
Geschichte
Geschichte erstellen / verwalten
Ereignis mit Handlungsoptionen
Ereignis mit Handlungsoptionen erstellen / verwalten
Globale Einstellungen

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »swarm« (2. März 2011, 13:17)


swarm

Schüler

  • »swarm« ist der Autor dieses Themas

Beiträge: 52

Grafikprogramm: CS4

Programmiersprache: Java, C, Python, PHP, Perl

Wohnort: Wiesbaden

Beruf: Admin, Student

  • Nachricht senden

9

Mittwoch, 2. März 2011, 13:14

Anforderungspaket - Gegenstände

Gegenstand
Es gibt drei Arten von Gegenständen. Alle haben einen Namen, ein Bild, eine Beschreibung und einen Wert. Außrüstbare Gegenstände haben einen Ausrüstungsplatz und ein oder mehrere Boni und/oder Mali. Benutzbare Gegenstände haben einen bestimmten Effekt auf den Charakter. Die dritte Kategorie von Gegenständen kann nichts besonderes.

Geld / Währung
Der Spieler hat nun eine Menge an Geld. Die Währung der Spielwelt ist in globalen Optionen fest gelegt.

Inventar
Das Inventar besteht aus zwei Teilen. Der erste Teil dient dazu Gegenstände aufzubewahren. Die Größe dieses Bereichs kann in den globalen Optionen begrenzt werden. Der zweite Teil dient dazu Gegenstände auszurüsten. Er besteht aus mehreren verschiedenen Ausrüstungsplätzen, in die jeweils nur passende Gegenstände eingesetzt werden können.

Markt
Der Spieler kann auf einem Markt Gegenstände kaufen und verkaufen. Nicht alle Gegenstände sind dort erwerblich. Ein Handel zwischen Spielern findet nicht statt.

Voraussetzungen können nun auch Gegenstände beinhalten.

Screens
Marktplatz
Inventar
Gegenstände erstellen / verwalten

swarm

Schüler

  • »swarm« ist der Autor dieses Themas

Beiträge: 52

Grafikprogramm: CS4

Programmiersprache: Java, C, Python, PHP, Perl

Wohnort: Wiesbaden

Beruf: Admin, Student

  • Nachricht senden

10

Mittwoch, 2. März 2011, 13:33

Anforderungspaket - Handel

Handel
Der rudimentäre Handel wird durch einen freien Markt ersetzt. Spieler können nun untereinander Handeln. Spieler können dazu Angebote und Gesuche aufgeben oder Auktionen erstellen und bei diesen Bieten. Während die Gegenstände zum Verkauf angeboten sind oder in einer Auktion gebunden sind, kann der Charakter nicht darauf zugreifen. Sie blockieren jedoch weiterhin den Platz im Inventar.

Angebot
Ein Angebot besteht aus einem Gegenstandstyp, einem Preis und der Menge, die verkauft wird. Dabei kann auch ein Teil der Menge gekauft werden. Wird ein Handel abgeschlossen, erhält der Käufer die Ware vom Verkäufer und der Verkäufer das Geld vom Käufer.

Gesuch
Ein Gesuch hat die gleichen Eigenschaften, wie ein Angebot, funktioniert jedoch anders herum. Der Käufer gibt ein Gesuch für einen Menge eines Gegenstandes auf. Der Verkäufer kann darauf reagieren und den Handel vollziehen, indem er bis zur gesuchten Menge des Gegenstandes an den Käufer abtritt. Der Rest erfolgt analog.

Auktion
Eine Auktion ist ähnlich einem Angebot hat jedoch die ergänzenden Eigenschaften Endzeit und Gebotsliste. Die Gebotsliste enthält jeweils den Bieter und die Höhe des Gebots.

Screens
Angebot, Gesuch, Auktion erstellen / verwalten
Änderung des Marktplatzes
-Angebote
-Gesuche
-Auktionen

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »swarm« (2. März 2011, 13:45)


Ähnliche Themen