Problem mit Konzept: Adventure
Übersicht

![]() |
Stephan87Betreff: Problem mit Konzept: Adventure |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Ich hoffe hier ist der ein oder andere unter euch, der mir bei meinem folgenden Problem behilflich sein kann. Ich arbeite gerade an einem Konzept für ein Multimedia-Textadventure. Das Spiel läuft hauptsächlich über Text ab (wie bei alten Textadventures), die Atmosphäre soll jedoch mit multimedialen Elementen (Sound, Musik, Bilder) unterstrichen werden. Gesteuert werden soll über die Maus und eben nicht per Befehlseingabe. So, nun zu meinem Konzept, Problem: Ich habe mir vorgestellt, das Spiel in Szenen einzuteilen. Szenen sind bestimmte Orte (vor dem Haus, im Wohnzimmer) oder einfach Szenen im Spiel. Jede Szene ist verknüpft mit mindestens einer anderen Szene (Wohnzimmer zu Badezimmer und Küche), sodass der Spieler die Möglichkeit hat, sich durch diese Welt zu bewegen. Jeder Szene wird ein Bild und ein Musikstück zugewiesen. Dann kommen Objekte ins Spiel: Jede Szene enthält lose und feste Objekte (Baum, Apfel), die einen Namen, eine Beschreibung (wenn der Spieler das Objekt betrachtet) und ins Inventar aufgenommen werden können. Nun gut, der Spieler kann durch die Welt laufen, Dinge anschauen und mitnehmen, aber es besteht Null Interaktion. Ich habe mir das Ganze wie folgt vorgestellt: Das, was ich oben geschrieben habe, ist das Grundgerüst. Diese wird extern aus einer Datei ausgelesen und mittels Klassen in den Speicher geladen. Um nun Leben in das Spiel einzuhauchen, wird mittels Script für jede Szene ein bestimmter Code abgefragt. Schliesslich möchte ich auch gerne Switches (boolsche Parameter) einbauen (WENN ich mit Person aus Szene 1 geredet habe, DANN darf ich Szene 2 betreten). Auch Kombinationen von Objekten wären dann möglich. Halt alles, was ausserhalb dieses Grundgerüsts existiert. Das Grundgerüst ist stabil, bleibt immer gleich, und mit dem Scriptcode liesse sich das Ganze flexibler gestalten. Ich hoffe ihr könnte mein Problem verstehen: Ist das Grundkonzept mit den Szenen OK? Würdet ihr das auch so machen? Sollte man vll. Grundgerüst und Scriptcode in einem Script verbauen? Das Programmieren später macht mir nicht zu schaffen, das Grundkonzept halt ![]() Schöne Grüße, Stephan |
||
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Ich arbeite auch gerade an einem Adventure HIER Und auch ich musste mir diese Fragen stellen. Ich bin nun soweit, die Welt in verschiedene Räume zu unterteilen, die man auch wechseln kann. Eine eigene Skriptsprache zu schreiben, darauf habe ich verzichtet. Stattdessen ist mein Script eine Function im normalen Quelltext. Das hat den Vorteil, dass man auch auf alle Variablen, die man so aus dem Spiel benötigt relativ leicht zugreifen kann. Immer wenn also etwas passiert (Gegenstand wird genommen, man bewegt sich, man schaut was an,...), wird die Scriptfunktion aufgerufen. Desweiteren habe ich ein eindimensionales Array Trigger(100), der den Spielstand speichert. Trigger(1) = 1 bedeutet zum Beispiel, dass die Pyramide mitgenommen wurde. Jedesmal, wenn ich den Raum also lade, in dem die Pyramide ursprungs drin war, schaue ich in meinen Triggervariablen nach, ob sie noch da ist. Wenn ja, wird sie eingezeichnet und man kann nicht drüber gehen. Wenn nein, wird sie eben nicht gezeichnet und man kann über die Stelle laufen. Jetzt brauche ich nur noch Position und Inventar sichern - und fertig ist der Spielspeicherstand! Probleme hab ich noch bei den Dialogen. Will man diese etwas dynamisch machen (sprich der Gesprächsverlauf kann je nach Antworten variieren), so muss man schon ne Menge Arbeit in so ein Dialog investieren. Ansonsten brauchts wohl nicht viel mehr für ein Adventure. Auf jeden Fall freue ich mich auf deine ersten Ergebnisse! *Adventurefansei* ![]() |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm... ich würde kein Skript nehmen, sondern sowas wie setup-dateien. für jede Szene eine Datei...
Zitat: name=........... sound=.......... image=........... link=x,y,w,h,szene item=......... [text] bla bla bla |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
Stephan87 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@TheShadow:
Eben das meine ich mit Grundgerüst. Aber du hast so keine Möglichkeiten Leben ins Spiel einzuhauchen, meine ich zumindest. Wie willst man denn folgendes reinbringen: Spieler benutzt einen Gegenstand aus seinem Inventar mit einem aus seiner Umgebung. Darafhin ändern sich so manche Ressourcen, anderer Sound tritt auf, es wird ein anderes Bild gezeigt, eine Variable wird definiert (auf die später zugegriffen wird) usw usw. Ich kann mir momentan einfach nicht vorstellen, dass komplexerer Adventures oder zumindest komplexere Rätsel nicht durch ein Skript zu lösen. |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab zwar persönlich aufgegeben ein Andventure Tool zu schreiben (weil kompliziert ^^), aber vll. hilft es ja, wenn ihr euch funktionsfähige Systeme dieser Art anschaut - so könnt ihr einschätzen wie ihr was umsetzen wollt, woran ihr denken müsst usw. Da steckt ja nicht wenig an Überlegung drin.
Da wäre einmal der TAG Text Adventure Generator, also mehr in die Richtung die Stephan87 einschlagen wollte, und dann das Adventure Game Studio, was mehr für die Grafik der guten, alten Monkey Island artigen Spiele ausgelegt ist. Macht was draus, ich bin gespannt ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
das Problem mit dem Skript hatte ich auch immer. Wenn man ein Update hat, musste man immer die ganze Exe neu machen.
man könnte aber auch jedem objekt eine id geben. und im programm eine funktion schreiben, z.b. ObjektImInventar(ID) und dann so die ganzen Objekte abfragen. Wenn OII(1) = 1 PlaySound(Dramatisch) else playsound(nichdramatisch) oder so ^^ |
||
.... |
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Warum macht ihr euch dann das Leben schwer und baut euch eine Skriptsprache, wenn ich doch eh Blitzbasic zur Verfügung habt. Dann ist Blitzbasic eure Skriptsprache! | ||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Spionatom, schonmal was davon gehöhrt das Hardcoding böse ist? | ||
between angels and insects |
![]() |
SpionAtom |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ob ich nun eine Textdatei habe, die durch einen selbstgezimmerten Parser Befehle ausführt, oder ob ich das in einer unabhängigen Funktion mache, ist doch Latte. Nur dass ich bei der unabhängigen Funktion schon viele Befehle, Zuweisungsoperatoren, Vergleiche, etz. zur Verfügung habe.
Der Nachteil, dass man mit jeder Änderung das ganze Programm neu kompilieren muss, besteht natürlich. Und solange man keinen benutzerfreundlichen Editor für derlei Spiele schreiben will, halte ich diese Lösung des Hardcodings für legitim. Und performanter ists auch. @Gamecreator: Wir entwicklen das SimpsonsAdventure mit dem Point&Click-DK. Ist aber schon ewig her, dass wir daran weitergeschraubt haben ![]() P.S. Zum Film werden wir nie fertig ![]() |
||
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080 |
ByteCroc |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bin gestern bei meiner SurfTour ( nicht SaufTour ) an einer Seite ( nicht Pub ) vorbeigekommen, auf jedenfall hab ich drinnen ein paar Tutorials entdeckt vielleicht bringen die dir was.
http://www.softgames.de/develo...?cid=22291 http://www.softgames.de/develo...?cid=21024 http://www.softgames.de/develo...?cid=19054 |
||
![]() |
maximilian |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sucht mal nach der SCUMM Engine. Die wurde vom Monkey Island Erfinder entwickelt und wurde für quasi alle LucasArts Adventures benutzt. Ist sicher keine schlechte Idee, sich an der zu orientieren... | ||
Variety is the spice of life. One day ignore people, next day annoy them. |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ob Scripte sinnvoll sind, hängt von der Komplexität deines Spieles ab.
So wie Dein Vorhaben klingt, würde ich es jetzt tendentiell eher ohne Scripte versuchen. Hier müsstest Du Dir nur ein Konzept zur Verwaltung überlegen. Habe mir da mal schnell was ausgedacht. z.B. ![]() "Aktionen" Hier wären drei Möglichkeiten oder Kombinationen denkbar: -Message Meldung an den Spieler -Objektänderung Eine Liste von Objekten, die gelöscht oder neu erstellt werden. -Szene Es erfolgt ein Wechsel zu einer anderen Szene "Objekte" Objekte enthalten dabei Informationen wie Grafik, Animation, Sound, wo platziert, ob aufnehmbar, etc. Zusätzlich gibt es hier dann Verknüpfungen zu den "Aktionen", die an Events wie Benutzen, Benutzen mit, Betrachten, etc verknüpft werden. Events bräuchten hierbei dann auch eine Bedingung("mit welchem Objekt wurde es benutzt?" oder "existiert Objekt blabla?" und eine Priorität. "Status" Man könnte zwar Statusvariablen definieren oder halt einfach Objekte als Status missbrauchen. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group