[Projekt]Dungeon of old Monsters: Geisterwelten

Grafik, Musik, Sound, Spieledesign, Spielmechanik, Story Writing und sonstiger kreativer Kram, der nichts mit Programmieren zu tun hat.
Antworten
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

[Projekt]Dungeon of old Monsters: Geisterwelten

Beitrag von Lord Delvin »

Der alte Text ist mitlerweile obsolet. Lest euch einfach das Design Document durch.

Jegliches Feedback ist wie immer willkommen:)
Zuletzt geändert von Lord Delvin am 20.01.2010, 19:05, insgesamt 7-mal geändert.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Seraph
Site Admin
Beiträge: 1174
Registriert: 18.04.2002, 21:53
Echter Name: Steffen Engel

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Seraph »

Kannst Du das bitte noch ein wenig schoener formatieren, Ueberschriften hervorheben, etc.? Im Moment wirkt es wie eine grosse Wand von Text, welche gerade danach schreit, nicht gelesen werden zu wollen. *g*
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Lord Delvin »

Seraph hat geschrieben:Kannst Du das bitte noch ein wenig schoener formatieren, Ueberschriften hervorheben, etc.? Im Moment wirkt es wie eine grosse Wand von Text, welche gerade danach schreit, nicht gelesen werden zu wollen. *g*
Ja klar:D Ist noch in Arbeit. Kann leider kein Tex verwenden, aber vielleicht schreib ichs doch in Tex und häng einfach das Resultat hier an.

Momentan ist es einfach noch viel zu sehr der niedergeschriebene Strom meiner Gedanken.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [Projektidee]Dungeon of old Monsters

Beitrag von kimmi »

Das klingt vielversprechend. Ich hab DungeonKepper immer sehr gemocht. Schön zu sehen, daß du dich da drann machen willst.

Gruß Kimmi
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Lord Delvin »

Die eigentliche spielmechanische Idee ist halt erstmal ein RTS mit vielen überschaubaren linearen Eigenschaften hochgradig nichtlinear zu machen. (Wie bei mehrschichtigen NNs mit feedback, oder vielleicht Dota um ein Spiel zu nennen)

Außerdem begrenzt man die Aufbauphase dadurch, dass man irgendwann halt einfach einen Durchbruch hat und dann ein weiterer Aufbau nicht mehr direkt sinnvoll sein sollte. Sonst hat man sowas wie Siedler, wo man endlos aufbaut und eigentlich nichts passiert, das will ich vermeiden.

Die große Schwierigkeit wird wohl darin liegen ein geeignetes Interface zu erzeugen und das Spiel so zu bauen, dass man tatsächlich alle features irgendwie verwenden kann ohne stundenlang zu Spielen. Das war ja bei Dungeon Keeper nicht immer so. Wenn man nen Horny auf nem hohen Level haben wollte, dann musste man einfach ziemlich lange Spielen und abartig viele Ressourcen haben.
Man sollte halt schon irgendwie anstreben, dass ein normales Spiel 60min geht. Sonst hat man auch das Problem, dass zu viele Leute irgendwie wegmüssen, wenn man übers Internet spielt.

Ich hab aber ehrlich gesagt nie verstehen können, warum sich da keiner dran gewagt hat.

EDIT: Die lange Version findet sich jetzt als pdf im Anhang des ersten Posts. Is denk ich wesentlich lesbarer. Außerdem hab ich mich selbst soweit überzeugt, dass ich n Kumpel gebeten hab ein Tracprojekt für mich auf seinem Server zu hosten, ab dann werd ich glaub ich eine wesentlich übersichtlichere Beschreibung aufbauen. Bis zum Abschluss von Version 0.1 wird das Designdocument in Deutsch gehalten, danach werd ichs übersetzen. Das erleichtert mir einfach meine Gedanken zu Papier zu bringen.

EDIT2: Ich glaub ich werde zuerst eine Art umfassende Spielanleitung schreiben, da sich mein Designdokument eigentlich nicht wie ein Designdokument liest. Es gibt jetzt auch Zauber. Ich habe mir ein grobes Interface ausgedacht; danach wird man 12 Räume, 12 Gegenstände(Türen, Fallen, ...) und 2+3x10 Zauber haben. Das sollte Helfen die Übersicht zu wahren, damit es nicht zu Aufbau/Forschungslastig wird und erlaubt ein angenehmes Keybinding für die linke Hand, so dass man die rechte immer an der Maus haben kann.

EDIT3: Die grobe Struktur steht jetzt glaub ich. Bin ja auch schon bei 15 Seiten. Es fehlen noch einige Zauber, bessere Erklärungen und ein paar Gegenstände. Ich hab auch noch ein paar Ideeen für Einheiten, aber ehrlich gesagt glaube ich nicht, dass es eine gute Idee ist zu viele Einheiten am Anfang zu spezifizieren. Mir ist auch etwas unklar, ob ich überhaupt eine Fog of War implementiere, oder ob ich einfach sage, dass die Spielersicht der Welt einfach am Anfang mit einer leeren Karte gefüllt wird und nur der Master alles weis und dann die sichtbaren Details weitergibt. Dann wäre die Implementierung von Fog of War überflüssig und man könnte auch endlich mal in feindlichen Dungeons rumschleichen, was in DK ja völlig unmöglich war. Ich glaub ich leg das jetzt erstmal ein paar Leuten vor und schau, wie so die Reaktionen ausfallen und wenn mir das gefällt, dann fang ich mal mit einer neutralen Kreatur dem Arbeiter und simplen Maps an und füge den Rest dann nach und nach hinzu. Hat mir auf jeden Fall schon jetzt sehr geholfen das mal hinzuschreiben.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Lord Delvin »

Hat jemand Lust Konzeptzeichnungen für Kreaturen/Objekte/Gegenstände zu machen?
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4258
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Chromanoid »

Ist ja schon ne Weile her aber hier mal mein Senf...:

vielleicht als abwechslung den spiel-modus/variante "überrede den drachen": man versucht sich zu einem Drachenhort zu graben und den dort wohnenden drachen mit speisen und gold dazu zu überreden dem eigenen banner zu folgen. die arbeiter müssen dazu aus der schatz/speisekammer erst mal eine weile vorräte zum drachen bringen. andere spieler können das selbe tun oder die feindlichen arbeiter überfallen und so zu mehr vorräten kommen.

@3D Maps: ich würde mehrere lagen nehmen die durch feste zugänge verbunden sind. die übersichtskarte ist dann einfach alle lagen untereinander (nach tiefe geordnet) mit darauf abgebildeten zugängen nach oben bzw. unten. es gab mal ein spiel (hab es irgendwo mal auf einer abandonware seite gesehen) das hat auf mehrern ebenen gespielt und das genau so gemacht. ich glaube das hat ganz gut funktioniert. ich würde bevor du dem spieler erlaubst durchhänge zw. den ebenen selbstständig anzulegen vorher mal in einem miniprogramm testen wie das spielerisch rüber kommt...

Code: Alles auswählen

Übersichtskarte bspw. am rechten rand des bildschirms... 
 _______
|  u   d  |
|______|
|  d   u  |
|______|
|  u   d  |
|______|
|  d   u  |
|______|
an sich würde ich mich sonst über etwas mehr innovationen freuen als nur neue Kreaturen/Räume/Zauber :). aber das ist etwas womit man eigentlich gerade bei hobby projekten erst mal geizen sollte ^^...

btw: konzeptzeichnungen sind glaube ich eher unwichtig. lieber würde ich gleich nach modellen fragen :)
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Lord Delvin »

Also hab noch ne ganze Menge drüber nachgedacht und vielleicht folgendes:

-Ich werde mich zumindest in der Beschreibung von Dungeon Keeper trennen, da es einige Aspekte geben wird die zu einem anderen "Spielgefühl" als bei Dungeon Keeper führen und die Verbindung deswegen in meinen Augen nicht gerechtfertigt ist

-Es wird 2D, ohne irgendwelche Übergänge oder Portale oder sowas. Das macht das Spiel denke ich leichter zu verstehen und zu bedienen. Außerdem würde 3D oder Portale an vielen Stellen zu erheblich komplexeren Algorithmen führen, was ich vermeiden will, da ich an einer spielbaren Version und nicht an einer interessanten Todo Liste interessiert bin:D
Über 3D hab ich relativ lange nachgedacht und eventuell werde ich dazu irgendwann in der fernen Zukunft mal noch was machen, dann vermutlich mit einem gravitationslosen würfelförmigem Raum voller Erde. Sonst ergeben sich z.b. So Probleme wie: Was passiert wenn ich irgendwo nach unten Grabe? Entsteht da ne Treppe? Darf ich da runterschießen? Kann ich einfach um die Verteidigung des Gegners rumgraben? Und in einem Gravitationslosen Raum würde ich die Karte einfach als Graph betrachten und die Position nurnoch fürs Zeichnen verwenden.
Mir fällt aber auch kein echtes 3D RTS ein. Wenn man 3D Welten hat, dann wird meistens die Echtzeit fallen gelassen, damit man Zeit hat um sich zu orientieren.
@Chromanoid: Meinst du sowas wie in ufoai?Bild
EDIT: kann man bilder eigentlich auch kleiner darstellen ohne sie selbst zu bearbeiten? Wenn man in dem Bild ne Ebene höher ansehen würde, dann könnte man im Haus halt die Zimmer weiter oben sehen, das Dach der Scheune und das Gelände unten.
Hab Schichten verworfen, weil du ja im Prinzip auch einfach sowas ähnliches machen kannst, wenn du Geländetiles für Oberwelt einbaust. Dann kannst du Maps machen, die quasi einem schiefen Queerschnitt durch die Welt entsprechen, also mit einem Gebiet Oberwelt, irgendwelchen Bergaußenwand- & Höhleneingangstiles und dann der gewohnten Unterwelt.

-Ich will versuchen ein Spiel zu entwickeln, bei dem man unbewusst etwas lernt und das entspannend ist; das also tatsächlich einen gesellschaftlichen Mehrwert hat also kein Herr der Ringe sondern eher was Richtung Star Trek(das soll keine Aussage über die Qualität von irgendwas sein)

-Ich habe beschlossen die Anzahl der Gebäude, Zauber und Gegenstände relativ früh festzulegen und dann die Vielfalt über Kreaturen zu erhöhen. Da es Spielern möglich ist Kreaturen direkt zu kontrollieren und ich vorsehe, dass sich Kreaturen in andere weiterentwickeln können ist das denke ich ein gutes Konzept, dass einem vielleicht irgendwann auch sowas wie Endlosigkeit in WoW erlaubt, womit man dann Spieler dauerhaft binden könnte. (Bei etwa 10-20 (gut durchdachten) Kreaturen pro Fraktion wäre es wahrscheinlich nicht mehr vorherzusehen, wie ein Spiel verläuft, da es extrem viele unterschiedliche Strategien gibt und man, da man den Gegner lange garnicht sieht, nicht wissen kann, welche grad sinnvoll ist und man deshalb eine verfolgen kann, die das Team gerade interessant findet)

-Die Eigenschaften von GeländeTiles wurden so gewählt, dass sie relativ Vielfältige Tiles erlauben, wodurch sich die Maps dann sehr stark von DungeonKeeper unterscheiden werden. Man sollte irgendwann auch sowas ähnliches wie die Brücke von KazaDum aus Herr der Ringe bauen können, also einfach eine Schlucht über die fliegende Fiecher drüber können, aber nicht fliegende müssen über eine sehr enge Stelle. Strategische Punkte im Gelände eben.:)

-Ich werde wohl noch parallel zur Implementierung des statischen Teils(TerrainTiles gibts schon, als nächstes kommen Räume) über viele Aspekte der Spielmechanik nachdenken müssen:
Ich will ein gelungenes Konzept von Gut/Böse entwickeln, wobei man immer die Möglichkeit haben soll die Seiten zu wechseln. Kennt zufällig jemand ein Spiel in dem das geht? Mir ist nämlich keins eingefallen. Ich kenne einige Spiele die einem erlauben sich für eine Seite zu entscheiden, aber sie dann noch beliebig wechseln ist mir nicht bekannt. Das ganze hat natürlich den Hintergrund, dass ich das irgendwie umsetzen müsste und mir nur eine einzige Lösung eingefallen ist, was mich etwas daran zweifeln lässt, ob man sowas überhaupt erlauben will.

Ich werd glaub ich mal mein Designskript im ersten Post auf den aktuellen Stand bringen:)

EDIT2: Wegen der "Inovation": Ich lass mich da gerne von euch inspirieren. Ich hab auch keine Probleme irgendjemanden als Quelle meiner Inspiration zu würdigen:) Ich glaub nur atm ist es besser irgendwelche Zauber/Räume/Objekte zu haben, da man dann schauen kann, ob man einen bedienbaren Client dazu hinbekommt. Wenn das gegeben ist sollte man über Balancing oder ungewöhnliche/neue Ideeen nachdenken.

Gruß
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Dirk Schulz
Establishment
Beiträge: 130
Registriert: 01.03.2009, 14:21
Alter Benutzername: frittentuete

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Dirk Schulz »

Hi,

ich weiß nicht, ob du es schon kennst, aber in deiner Spielidee kommen viele Elemente aus Dwarf Fortress vor, bzw. hat dieses kostenlose Spiel viele Ideen, die man vielleicht übernehmen könnte.

Hier die Seite zum Spiel:http://www.bay12games.com/dwarves/index.html

Wie man an den Screenshots sehen kann, wird die Grafik über ASCII-Zeichen dargestellt, obwohl es auch "richtige" Tiles gibt.

Ist am Anfang recht unübersichtlich, aber sobald man sich reingefuchst hat, macht es süchtig! :D
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Lord Delvin »

Dirk Schulz hat geschrieben:Ist am Anfang recht unübersichtlich, ...
Ich finds so unübersichtlich, dass ich eigentlich keine Lust hab das groß auszuprobieren. Zumal ich ASCII Art zwar ganz witzig finde, aber ich sehe nicht, warum es Leute gibt die meinen sie müssten damit komplexe Spiele implementieren. Verschwendung.

Und ich will nicht, dass man viel Zeit mit sich selbst verbringt, sondern schon irgendwie was mit anderen Menschen macht.

Aber die Welt ist tatsächlich sehr ähnlich. Für meinen Geschmack vielleicht etwas zu verspielt.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4258
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Chromanoid »

Lord Delvin hat geschrieben:@Chromanoid: Meinst du sowas wie in ufoai?
mmh ich meinte eher sowas wie earth 2150, heroes of might and magic oder vielleicht diablo (es gab auch mal einen warcraft 3 klon der auf zwei ebenen gespielt hat). Unterschiedliche Spielebenen sind einfach durch Portale verbunden und man kann sich nicht irgendwo durchgraben, sondern nur Portale zu anderen Ebenen finden. Meine Asciiart Skizze sollte eine mögliche Minimap darstellen (d und u für auf und abgänge zwischen den spielebenen). Die jew. Spielebenen sind dann im Grunde typische 2D RTS Karten.
Lord Delvin hat geschrieben:-Ich will versuchen ein Spiel zu entwickeln, bei dem man unbewusst etwas lernt und das entspannend ist; das also tatsächlich einen gesellschaftlichen Mehrwert hat also kein Herr der Ringe sondern eher was Richtung Star Trek(das soll keine Aussage über die Qualität von irgendwas sein)
was meinst du damit genau?
Lord Delvin hat geschrieben:ch will ein gelungenes Konzept von Gut/Böse entwickeln, wobei man immer die Möglichkeit haben soll die Seiten zu wechseln. Kennt zufällig jemand ein Spiel in dem das geht? Mir ist nämlich keins eingefallen. Ich kenne einige Spiele die einem erlauben sich für eine Seite zu entscheiden, aber sie dann noch beliebig wechseln ist mir nicht bekannt. Das ganze hat natürlich den Hintergrund, dass ich das irgendwie umsetzen müsste und mir nur eine einzige Lösung eingefallen ist, was mich etwas daran zweifeln lässt, ob man sowas überhaupt erlauben will.
Fallout, Fable, Black & White (böse taten -> schlechtes karma, gute taten -> gutes karma). ich verstehe nur nicht so genau wie du so ein gut & böse system in ein rts einbauen willst. vielleicht könnte man zwar eine startfraktion bzw. startkarma festlegen, aber je nachdem wie man sich im spiel verhält kommen eben einheiten bestimmter fraktionen durch das einheitenportal.

Mal zusammengefasst wie ich mir das vorstelle:
Es gibt 3 Spielebenen Hölle (Dämonenheimat), Unterirdisch (Zwergenheimat) und Wald/Oberirdisch (Elfenheimat). Alle Spielebenen sind gleich große Spielflächen mit unterschiedlicher Optik. An verschiedenen Stellen sind Treppen a'la Diablo postiert mit denen man mit den eigenen Einheiten von einer Ebene zur höher/tiefer gelegenen wechseln kann. Am rechten Bildschirmrand sind von allen drei Ebenen Minimaps abgebildet, wobei man immer nur Aktivitäten der Gegner sieht, wenn man Einheiten in der Nähe stehen hat. Wenn man das Spiel beginnt sucht man sich zunächst ein Startkarma aus (Zwergenkarma 0, Dämonenkarma -50, Elfenkarma +50). Je nachdem startet man auch auf der entsprechenden Ebene. Auf allen Ebenen sind bestimmte Dinge plaziert mit denen man sein Karma beeinflussen kann.
Bspw. findet man im Zwergenreich von Wurzeln durchsetzte Goldvorkommen vor. Wenn man diese abbaut und die Wurzeln damit zerstört wird das eigene Karma schlechter und vielleicht kommt dann aus dem Monsterportal neben den Zwergen auch ab und zu ein nicht allzu böser Dämon. Ebenso könnte man in der Zwergenebene auf durch Erdrutsche hinuntergefallene Rehkitze treffen. Diese kann man entweder verspeisen lassen oder retten und in die Oberwelt zurück bringen (einfach mit der Maus über das Rehkitz fahren und auf das Engelssymbol oder auf das Teufelssymbol klicken). Rettet man das Rehkitz erhält man gutes Karma und man kann vielleicht bald die ersten Elfen in den eigenen Reihen begrüßen.
Solche Karma beeinflussenden Aktionen müssen auf allen Ebenen möglich sein und sollten vielleicht auch nicht aufbrauchbar sein (also immer neu generiert werden ggf. an verschiedenen Stellen)...
Auf das Spielgleichgewicht könnte sich das karma dann folgender Maßen auswirken: Es zählt immer der Heimvorteil. Jede Fraktion ist immer besonders gut auf ihrem eigenen Terrain. Startet man also in der Hölle der Dämonen und möchte auf die oberwelt expandieren sollte man sinnvoller weise erst mal ein paar gute Taten tun, damit man Elfen bekommt um auf der Oberwelt eine Chance zu haben. Ggf. könnte man dieses Prinzip dann noch etwas durcheinander bringen indem man besondere sehr teure Einheiten ermöglicht, die trotz Auswärtsspiel gegen die anderen Einheiten eine gute Chance haben.
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Lord Delvin »

Chromanoid hat geschrieben:
Lord Delvin hat geschrieben:-Ich will versuchen ein Spiel zu entwickeln, bei dem man unbewusst etwas lernt und das entspannend ist; das also tatsächlich einen gesellschaftlichen Mehrwert hat also kein Herr der Ringe sondern eher was Richtung Star Trek(das soll keine Aussage über die Qualität von irgendwas sein)
was meinst du damit genau?
Ich will versuchen den Menschen irgendwie zu zeigen, dass es sinnvoll ist mit Leuten zusammenzuarbeiten, deren Gesinnung, Weltansicht oder Ziele im ersten moment merkwürdig oder falsch erscheinen. Weil man letztlich doch mehr gewinnt, wenn man auf Vielfalt setzt.
Und das man nicht einfach gewinnt, nur weil man mehr Leute hat; es sollte eine Frage von Koordination sein.

Sowas in der Richtung jedenfalls. Momentan ist es eigentlich nur ne diffuse Idee, aber ich will sie irgendwie umsetzten. Mir is auch noch nicht so ganz klar wie es funktionieren wird.

@2,5D: Versteh jetzt wie du das meinst. Da hab ich mich aber fürs erste dagegen entschieden, weils den Code unangemessen aufbläht. Ich mein so hab ich eine einfache Euklidische Norm als Metrik, die Map besteht aus einfache Arrays und man kann sowas ähnliches Simulieren, wenn man annimmt, dass die Position der Portale egal ist. Das stimmt natürlich nicht ganz; der Mehrwert ist aber denke ich nicht allzu groß. Zumal man mit drei Ebenen irgendwie ausgleichen muss, dass die mittlere Ebene zwei Nachbarn hat und nicht einen.

@ gute/böse Taten: Ich habe kein Konzept für *Taten*. Da es keine Bevölkerung wie in Black&White gibt ist mir auch unklar, wie ich das sinnvoll machen soll. Momentan würde ich das so lösen, dass Zauber eine Gesinnung haben und du zu der Gesinnung gewirkter Zauber hingezogen wirst. Da du aber nur Zauber ähnlicher Gesinnung wirken darfst ist die Gefahr eines ungewollten Abdriftens in eine andere Gesinnungsrichtung eher klein.


Ich glaub das was du dir vorstellst ähnelt meinem ursprünglichen Gedanken ziemlich. TerrainTyp/RaumTyp basierte Bufs sind schon geplant, erstmal aber nur um den Altarraum leichter zu verteidigen, damit man nicht zu einfach sofort überrannt wird.

Das mit dem Reh ist im Prinzip ne Miniquest. Darüber hab ich nachgedacht, aber es erstmal wieder verworfen. Einfach viel zu kompliziert um es zu implementieren, bevor man Spieler hat. Die müsste ja dann auch jemand alle machen. Wenn man mal in die Sektion Rezepte schaut, dann sieht man vielleicht auch, dass ich für das Schreiben solcher Quests eher ungeeignet bin:)

Ich glaub ich übernehm mal die 2.5D Map in die Anleitung und merkiere den Implementierungszeitpunkt.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4258
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Chromanoid »

Apropos 2.5D: Irgendwie finde ich das eine merkwürdige Bezeichnung dafür aber mir würde als Alternative wohl erst mal nur mehrräumiges Terrain einfallen, was auch nicht viel besser ist :). Ich denke das ganze einfach nur zu simulieren indem man das ganze auf einer großen karte mit schwarzen abgrenzungen statfinden lässt wäre voll ok. so ist das ja auch in vielen spielen implementiert... aber das ist eh nicht so richtig ein thema für diesn thread. spieltechnisch dürften sich dabei erstmal eigentlich keine unterschiede ergeben. es sei denn man möchte später noch so späße veranstalten wie mehrstöckige gebäude oder "löcher im boden die eins tiefer blicken lassen" (aber selbst das lässt sich wohl auf einer großen karte implementieren)...
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Lord Delvin »

Weil es immer irgendwie Spaß macht Screenshots zu posten:
Bildschirmfoto.png
Das weise Fenster ist die ausgabe der lib, die sollte im Idealfall leer sein.

Das top zeigt, dass ich das mti den threads ernst meine. Wenn man ab und zu mal sleep machen würde, wenn man weit über den 60fps liegt, dann wäre die Auslastung aber vermutlich bei <10%.

Die Grafikausgabe zeigt was man momentan sehen kann und mein mangeldes Talent schöne Grafiken zu erzeugen. Die Knöpfe bedeuten, dass das Tile dem Team mit der entsprechenden Farbe gehört. Kein Knopf bedeutet, dass das Tile niemandem gehört. Die ?-Tiles bedeuten, dass der vom Interface zurückgegebene TileTyp nicht bekannt ist. In diesem Fall ist da einfach die Karte zuende und es wird ein ErrorTile zurückgegeben, dass der Client nicht näher betrachtet.
Das Schachbrettmuster find ich ganz hilfreich um etwas zu vertuschen dass die Tiles sich die ganze Zeit wiederholen und um die Übersicht zu vergrößern.

Ich plane atm. jeden Monat ein *Release* zu machen. Ursprünglich war mal jede Woche geplant, das werd ich aber vermutlich nur in den Semesterferien schaffen.

Das wäre dann quasi 0.1.09.12.
Gruß
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4258
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Chromanoid »

OT: Wenn du eine etwas andere breitere Nutzersphäre ansprechen möchtest, könntest du mal überlegen das ganze in AS3/Flash/Flex zu entwickeln.

ansonsten sieht's finde ich vielversprechend aus

bezüglich der grafik könnte man sich vielleicht bei gauntlet inspirieren lassen (retro ist ja sowieso "in").

Bild
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Lord Delvin »

Chromanoid hat geschrieben:OT: Wenn du eine etwas andere breitere Nutzersphäre ansprechen möchtest, könntest du mal überlegen das ganze in AS3/Flash/Flex zu entwickeln.
Wann in denen gegen ne C lib linken kann, dann ist das kein Problem nen Client dafür zu schreiben, weil das Spiel an sich in ner lib entwickelt wird. Ist denk ich ungewöhnlich, aber scheint ganz gut zu funktionieren.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4258
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Chromanoid »

ne das is leider nicht möglich :)
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projekt]Dungeon of old Monsters: Geisterwelten

Beitrag von Lord Delvin »

Hatte jetzt ziemlich viel mit Uni zu tun und war etwas demotiviert, weil ich feststellen musste, dass es einigen Overhead mit sich bringt, wenn man von anfang an mit threads arbeitet und ich glaub doch lieber erst mal was spielbares haben will, bevor ichs wieder parallel mach.
Meint ihr das is n guter Weg?

Gruß
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4258
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt]Dungeon of old Monsters: Geisterwelten

Beitrag von Chromanoid »

ja auf jeden fall! die meisten spieleprojekte scheitern doch genau daran, dass die leute sich zu viele technische features überlegen, die erstmal gar nicht gebraucht werden. der endbenutzer bekommt davon ja meistens eh nichts mit.
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projekt]Dungeon of old Monsters: Geisterwelten

Beitrag von Lord Delvin »

So, hab jetzt beschlossen, den Thread hier zu schließen und das Projekt komplett umzubauen:

Das Designdokument bleibt erstmal wies ist, wird aber erstmal nicht mehr angerührt, von der Ideeen Sektion mal abgesehen.

Die lib wird in drei Teile zerschlagen:

libmpl: Message Passing Lib, also was, was Nachrichten über Kommunikatoren verschickt. Etwas von MPI inspiriert, wird aber wesentlich funktionsärmer und ist eher auf smp als auf netzwerk ausgelegt. Geplant ist die lib dann für netzwerk und thread kommunikation gleichermaßen einzusetzen. Das würde denk ich den code in der core lib wesentlich schöner machen.
Diese lib könnte für andere hier vielleicht auch interessant sein, also falls interesse besteht könnte man das auch gemeinsam als GPL oder freier entwickeln, macht man weniger Fehler und hat mehr Spaß:)

libgw-core: Das was ursprünglich mal libgw sein sollte, ohne das Interface. Ich hab beschlossen, dass die Threads eigentlich unabdingbar sind, da sie spätestens wenn man Netzwerk hat keinen echten Implementierungsoverhead mehr verursachen. (Wir reden hier über C++ nicht über Java:P Ich bin ein Fan von transparenten Proxys und so nem Kram...Performance ist ja nicht so unglaublich wichtig, wenn man bedenkt wieviele rechenkerne vermutlich zur verfügung stehen werden. Und so wie ich das sehe verwenden die meisten freien Grafikengines keine Threads automatisch...aber selbst wenn wärs nicht so schlimm, Performance ist immer das allerletzte Problem)

libgw-interface: Das Interface zwischen core und lib. Das wird aus zwei Gründen rausgeworfen: Erstens hat Codeblocks momentan Probleme mit Klassen die gleich heißen, aber in unterschiedlichen Namespaces liegen; das is ziemlich nervig, aber nicht so richtig gut zu umgehen, weil man einfach die Map auslesen will und es intuitiv Map heißen muss und nicht irgendwie MapReader oder so ähnlich. Es ist aus sicht des Clients einfach die Map. Zum anderen bin ich mir noch nicht so ganz sicher wie genau das Interface aussehen sollte. Die erste Implementierung hat sich jedenfalls als etwas unglücklich erwiesen. Außerdem möchte ich den Code von nicht Interface und Interface noch strikter trennen als ich das bisher gemacht hab.

Der sfmlclient wird neu geschrieben.

Die neue Roadmap sieht ungefähr so aus:

0.1:
libmpl schreiben.
kleine chatdemo mit sfml mit je 2 threads und 2 clients.

dann ist der netzwerkspaß erstmal lange zeit fertig. das wird vermutlich in unspielbarem verhalten über internet resultieren, is aber wirklich erstmal nicht wichtig.

0.1b:
core:
Gamestates und Aktionen.
Ich glaub es ist sinnvoller von der Interaktiven Seite aufzubauen als von der statischen, da das Testen dann einfacher ist. Außerdem muss man dann den Testclient nicht dauernd anfassen.

interface:
Alles, was eben nötig ist um die Internen zustände von Testclient und core zu synchronisieren.

Wenn das fertig ist, dann sollte der Testclient im prinzip sowas wie ein Chatserver sein, der allen anderen "Mitspielern" mitteilt, was der Spieler grad für aktionen ausführen möchte. Außerdem sollte es Spielzustände für Lobby/Game running/Game paused geben.

Danach würde ich dann in der jetztigen Roadmap weitermachen, wobei Version 0.3 entfällt, da die ja quasi vorgezogen wurde.


Vielleicht kann mir irgendjemand mit Erfahrung sagen, ob das ne gute Idee ist das so zu machen oder nicht. Ich glaub jedenfalls, dass ich den Code den ich bis jetzt geschrieben hab eigentlich komplett in die Tonne treten will. Aber ist ja normal, war bei APE auch so und daraus is was nettes geworden danach:)
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4258
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Chromanoid »

Lord Delvin hat geschrieben:
Chromanoid hat geschrieben:OT: Wenn du eine etwas andere breitere Nutzersphäre ansprechen möchtest, könntest du mal überlegen das ganze in AS3/Flash/Flex zu entwickeln.
Wann in denen gegen ne C lib linken kann, dann ist das kein Problem nen Client dafür zu schreiben, weil das Spiel an sich in ner lib entwickelt wird. Ist denk ich ungewöhnlich, aber scheint ganz gut zu funktionieren.
Chromanoid hat geschrieben:ne das is leider nicht möglich
muss mich da korrigieren. du kannst dir mal adobe alchemy anschauen :)

und wie siehts sonst so aus? hast du schon ein von dir geplantes gameplay feature prototypisch testen können?
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projektidee]Dungeon of old Monsters

Beitrag von Lord Delvin »

Chromanoid hat geschrieben:
Lord Delvin hat geschrieben:
Chromanoid hat geschrieben:OT: Wenn du eine etwas andere breitere Nutzersphäre ansprechen möchtest, könntest du mal überlegen das ganze in AS3/Flash/Flex zu entwickeln.
Wann in denen gegen ne C lib linken kann, dann ist das kein Problem nen Client dafür zu schreiben, weil das Spiel an sich in ner lib entwickelt wird. Ist denk ich ungewöhnlich, aber scheint ganz gut zu funktionieren.
Chromanoid hat geschrieben:ne das is leider nicht möglich
muss mich da korrigieren. du kannst dir mal adobe alchemy anschauen :)

und wie siehts sonst so aus? hast du schon ein von dir geplantes gameplay feature prototypisch testen können?
Nich so gut. Uni war und ist ziemlich im Weg:-/

Ich hatte erst irgendwie versucht das von der Spielmechanik her aufzuziehen, aber ich glaub das funktioniert nicht; war da aber eigentlich ganz gut vorangekommen. Wenn ich mpl soweit hab, dass es über netzwerk funktioniert, werd ich den alten code da wieder reinmergen, dann wird man vermutlich relativ rasch was testen können. Allerdings sind mir noch erschreckend viele Dinge sehr unklar. Z.b. wie ich die Kreaturen eigentlich steuern will. Also wie genau man das mit der KI macht. Eigentlich hatte ich keine lust mich da selbst drum zu kümmern, aber ich glaube, dass es sonst auch keiner macht und das Spiel wird ziemlich schnell nicht mehr spielbar, wenn deine Kreaturen einfach nur rumstehen und nix machen.

Das mit dem Alchemy sieht eigentlich nett aus. Wenn ich die lib soweit hab, dass man ein Spielerlebnis hat, werd ich ma schaun ob ich jemand finde, der sich mit flash auskennt und mit dem zusammen einen client produzieren. Atm wirds aber einmal mehr sfml.

Ich glaub ich gönn mir heute mal ne Lernpause:D
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
zwergmulch
Beiträge: 91
Registriert: 07.12.2009, 16:42
Echter Name: Fabian R

Re: [Projekt]Dungeon of old Monsters: Geisterwelten

Beitrag von zwergmulch »

Hi, ist ja'n ganz interessantes Projekt mit guten Ideen auf dass man sich freuen kann. :)

Zu Flash/Flex/AS3/...: Du könntest einen Teil (vor allem bzw. nur die libMPL) ja auch in Java machen
und libGW-core und libGW-interface dann in C++ und die mit JNI linken.
So wäre das auch direkt in der Website als Applet einbettbar oder jedenfalls leicht verteilbar(Java Webstart oder anderes). 8-)
Netzwerkcode ist in Java so ziemlich das leichteste was ich kenn' und Performance sollte
imo nicht das Problem sein da das Netzwerk sowieso langsamer ist.

Darauf hoffend, dass meine Idee dir weiterhilft - zwergmulch
Bild
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projekt]Dungeon of old Monsters: Geisterwelten

Beitrag von Lord Delvin »

zwergmulch hat geschrieben: Netzwerkcode ist in Java so ziemlich das leichteste was ich kenn' und Performance sollte
imo nicht das Problem sein da das Netzwerk sowieso langsamer ist.

Darauf hoffend, dass meine Idee dir weiterhilft - zwergmulch
Das wäre ne durchaus gute Idee, wenn ich nicht beschlossen hätte meine gesamte synchronisation über mpl zu machen, also auch message passing für lokale threads.(Ich verwende sowas wie ownership als threading ansatz)
Und für lokale threads ist es vermutlich zu langsam (mindestens) zweimal durch die java barriere zu laufen bevor ich meine message zugestellt hab. So muss ich ja nur zweimal n pointer kopieren und n bisschen was in meinen magictrick listen einfügen. Das ist glaub ich im worst case schon schneller als einmal durch die java barriere, zumindest wenn man annimmt, dass der deamon nicht grad schlafen gegangen ist, weil keiner was geschickt hat.

Auuußedem kann ich dann nicht mehr so geile sachen machen wie das typeenum auf userseite zu erweitern oder ne get funktion als template, damit man bei jeder message get<const char*>() schreiben kann und man bekommt den inhalt als cstring:D

EDIT: Das mit mpl in Java schreiben hat im übrigen auch einen theoretischen Haken: Wenn ich pointer auf Objekte verschicken will, dann muss ich wissen, wie groß so ein pointer ist um ihn in eine Nachricht zu verpacken. In Java darf man das eigentlich nicht wissen können. Pointer übers Netzwerk zu verschicken ist natürlich nicht direkt sinnvoll, aber ich setze das ja wie bereits erwähnt auch lokal ein und da nutze ich das feature bereits.

Wenn ich demnächst mal wieder n paar Tage zuhause bin gibts glaub mal wieder n Screenshot und n update meines Designdokuments und einen kleinen Statusbericht. Ich glaub das 10.02 release verteil ich mal nicht, weil man einfach nix sieht als user, wäre die Mühe also nich wert.
Zuletzt geändert von Lord Delvin am 10.03.2010, 13:40, insgesamt 1-mal geändert.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4258
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [Projekt]Dungeon of old Monsters: Geisterwelten

Beitrag von Chromanoid »

bin schon gespannt...

wenn es nur darum geht das ganze webfähig zu machen kannst du auch statt wie von zwergmulch vorgeschlagen gleich einfach dein komplettes Spiel in DLLs packen und diese dann von Java-Webstart/Applet aus starten. So aus der Hoffnung heraus, dass die Leute sich eher ein Java Applet/Java Webstart Programm runterladen als ein eigenständiges Plugin für den Browser. Letzteres ist ja auch nicht ganz trivial zu machen...
Die Leute, die "Making History II: The War of the World" entwickeln, haben das mit dem Java Webstart als Basis so für ihr "InBrowser-Game" gemacht:
http://www.gamasutra.com/view/feature/4 ... e_web_.php
Sie haben dafür zwar in dem gamasutra feature viel kritik geerntet, aber ich glaube sie fahren trotzdem ganz gut damit...
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 577
Registriert: 05.07.2003, 11:17

Re: [Projekt]Dungeon of old Monsters: Geisterwelten

Beitrag von Lord Delvin »

So hab endlich die Arbeit an den notwendigsten statischen Strukturen abgeschlossen. Damit ist für mich die Version 0.1 fertig und es geht über zur Version 0.2 in der ich beginnen werde dem ganzen Leben einzuhauchen. Ich denke, dass mir momentan auch langsam klar wird, wie ich die Kreaturen steuern will. Da ist mir bei der Implementierung aufgefallen, dass ich die ganze Zeit eigentlich garnicht wusste, was so ne Kreatur eigentlich machen soll.

An sich hab ich aber das Gefühl, dass das Konzept einer Gamelib aufgeht. Ich hab jetzt etwa 1400 Zeilen Code in libgw 100 Zeilen in libgw-interface und 400 Zeilen im sfmlclient. Wobei von den 400 Zeilen einiges mit Copy und Paste produziert wurde: der Rendercode für Gelände/Räume/Kreaturen ist fast gleich, ich fands aber irgendwie sinnvoll den zu trennen. Außerdem geht da noch einiges für Initialisierung drauf.

Und weils so schön ist noch ein Screenshot:
gw0.1.png
Sehr seltsam daran ist irgendwie, dass mir erst als ich das Bild gesehen hab feststellte, dass 12*16 Felder ganz schön weit rausgezoomt ist. Ich hab erst gedacht mein code ist verbuggt, weil ich den Arbeiter garnicht gesehen hab:-/

Falls btw. jemand denkt er kann besser malen als ich und sich berufen fühlt, darf er mir gerne schönere Tiles malen:D
Ich glaub aber dass die grafische Ausgabe meiner Clients immer eher symbolisch zu verstehen sein wird.

Wenn ich weiterhin etwa zwei Stunden am Tag dran arbeite, so wie ich das momentan plane, dann sollte das nächste release so in 3 Monaten fertig sein, vermutlich dauerts aber länger. Man vergisst irgendwie leicht wie viel Arbeit sowas dann doch ist.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Antworten