[Projekt] Flash-Adventure-Engine

Der Anlaufpunkt für alle, die selbst ein Adventure programmieren wollen.
Antworten
joeydee
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 118
Registriert: 11.12.2005, 23:05

[Projekt] Flash-Adventure-Engine

Beitrag von joeydee »

Hi zusammen, ich wollte mich hiermit mal mit meinem aktuellen Projekt vorstellen: eine kleine Adventure-Engine für Flash.

Screenie:
Bild

Warum Flash und nicht AGS & Co? Ich programmiere gerne und habe mich schon immer für die Technik hinter Adventures interessiert.
Warum nicht C++? Da ich schon 3D mit C++ (OpenGL) programmiert habe, kann ich gut abschätzen, dass ein solches Projekt mein 1-Mann-Team überfordert und sicher nicht im letzten halben Jahr realisiert worden wäre.
Flash dagegen liefert mir bereits einen scriptfähigen Grafikeditor wie ich ihn selbst nicht besser machen könnte.

Zum Projekt:
Im Moment sind Pathfinding (kürzesten Weg um Hindernisse finden), Z-Scaling (Perspektive) und Z-Order (um Objekte herum gehen) sowie Mouse-Over-Hotspots inkl. Walk-To aktiviert.
In Arbeit befindet u.a. sich alles rund ums Inventar (Anzeige, Objekte aufnehmen, kombinieren etc.)
Fertig ist bereits ein einfaches und trotzdem sehr flexibles Logik-Scripting (welche Schalter sind wann aktivierbar, was verändern sie in welcher Szene etc.), wobei ich typische Multiple-Choice-Gespräche damit noch gar nicht getestet habe.

Ziel ist, mit möglichst wenig Aufwand möglichst intuitiv ein Adventure zusammenzubasteln, indem man einfach die Engine als externe swf einbindet. Die unten gezeigte Demo könnte z.B. auch jemand völlig ohne ActionScript-Erfahrung nachbauen.

Genug der Worte, hier kommt die Demo. Der letze Screen ist noch nicht begehbar, nur anschau- und klickbar (so werden dann z.B. Detailansichten und Dokumente realisiert). Ansonsten kann man nur rumlaufen und sich umschauen, es sind noch keine Funktionen hinterlegt.
Link: http://opengl.diehlsworld.de/demos/adv/enginetest.html
ca. 550k, bitte um etwas Geduld für die langsamen Modems.

Der Char ist natürlich etwas suboptimal ;) und die Hintergründe liegen nur untexturiert vor, aber die Bedienung kommt dem Endergebnis schon sehr nahe.

Mich würde interessieren was ihr von dem Projekt grundsätzlich haltet und wie ihr die Bedienung bisher findet.

Viel Spaß beim Rumlaufen!
jo
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Die Engine gefällt mir schonmal, aber ein paar Fragen hab ich: Wie sieht die Entwicklungsumgebung aus? Ein kompiliertes Flash-Programm, Flash selbst oder wie? Wie sieht das Scripting dann aus? Welche Steuerung benutzt du?

Alles in allem sieht's schonmal gut aus mit Laufen und Scaling, bin schonmal auf das Endergebnis gespannt ;)

EDIT: So langsam sollten wir doch genug von blauen Dingern haben, oder? :lol:
Zuletzt geändert von [ZENSIERT] am 15.12.2005, 23:54, insgesamt 1-mal geändert.
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Benutzeravatar
KidCrazy
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 62
Registriert: 04.04.2005, 00:14

Beitrag von KidCrazy »

Nicht schlecht. Sowas in Flash zu erstellen hat natürlich den großen Vorteil, dass der Spieler das Game nicht seperat herunterladen und entpacken/installieren muss, sondern direkt im Browser zocken kann. Einziges Manko, was ich momentan sehe ist, dass die rechte Maustaste standardmäßig mit dem Flash-Menü belegt ist. Ich nehme nicht an, dass man das ausschalten kann, oder? Ansonsten superklasse Sache :D
Gehts nicht mit Gewalt, gehts mit viel Gewalt.
(altes amerikanisches Sprichwort)

Das Long Trip-Projekt
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Nett gemacht. Das mit der Maustaste seh ich nciht unbedingt als Problem. Guck Dir die alten LucasArts Klassiker an. So was wie ne rechte Maustaste gabs da auch nciht.
Da gibt es andere Alternativen.
joeydee
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 118
Registriert: 11.12.2005, 23:05

Beitrag von joeydee »

Entwicklungsumgebung ist Flash selbst. Somit kann man alles an Animation und Sound integrieren, was Flash hergibt, inkl. Actionscript. Was jedoch für ein funktionierendes Adventure nicht unbedingt notwendig ist, außer natürlich ein paar Engine-Funktionsaufrufe nach einfach zu erlernendem Muster. In der Demo sind außer der Laderoutine für die Engine nur 2 AS-Zeilen enthalten, und beides sind Aufrufe der Engine.

Der Rest (Buttons, Trigger, Waypoints) wird bei Bedarf durch eine mitgelieferte Bibliothek in die Szene gezogen, die Engine wertet alles beim Laden der entsprechenden Szene aus und sorgt für die Steuerung sobald ein Playerobjekt vorhanden ist usw., inkl. Verknüpfung von Szenen.

Sobald mehr Game-Logik als nur herumlaufen erforderlich wird (Szene verändern durch Aufnehmen von Gegenständen, betätigen von Schaltern u.ä.), muss man noch eine einzelne AS-Funktion selbst schreiben die dann die Szenenscripts enthält. im Wesentlichen kommt darin aber kein AS, sondern nur 2 Funktionsaufrufe im Wechsel vor (Flags abfragen, Flags setzen) - also wieder ohne AS-Kenntnisse nur nach Template erstellbar. Das reicht bereits um kleinere Adventures zu erstellen.

Weitere AS-Funktionen kann man übrigens sehr einfach mappen, um z.B. zusätzlich ganz bestimmte Sound- und Clipeigenschaften oder eigene Funktionen aus der Gamelogik heraus anzusteuern. Das wird vor allem bei Minispielchen und besonderen Szenenanimationen nötig sein.
Die wichtigsten Dinge (z.B. myMovie.gotoAndPlay()) sind jedoch schon mit der Engine abgedeckt.

Scripting ist komplett Flag-basierend. Da kann ich bei Gelegenheit mal mehr zeigen, sobald ich ein aussagekräftiges Script in der Demo habe. Das wird hier sonst zu theoretisch.

Was genau meinst du mit "Steuerung"? Die Maussteuerung die du in der Demo siehst, aber ich habe das Gefühl du meinst was anderes?



Bei Bedarf lassen sich auch Flashplayer-unabhängige Projektor-Dateien für Mac und Win zum Download erstellen, was für größere Projekte sicher sinnvoller ist als im Browser zu zocken.
Mit der Maustaste muss ich mich erst selbst informieren, kann gut sein dass man das abstellen kann.
Aber viel wichtiger: bei Flash kann man standardmäßig alle Buttons sichtbar machen, indem man Alt-Tab drückt. Aber dieser Trick geht bei mir nicht.
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

joeydee hat geschrieben:Was genau meinst du mit "Steuerung"? Die Maussteuerung die du in der Demo siehst, aber ich habe das Gefühl du meinst was anderes?
Ja, ich meinte eigentlich das Interface und wie sehr man das Interface verändern kann

ActionScript kann ich jetzt nicht soooooo besonders gut, müsste ich denn viel lernen, wenn ich ein kleines Spiel mit Laufen/Nehmen/Kombinieren erstellen möchte?
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
joeydee
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 118
Registriert: 11.12.2005, 23:05

Beitrag von joeydee »

Ach so, das Interface :)
In der Regel wird man mit einem Template arbeiten, welches bereits vorgefertigt Cursor, Inventar usw. enthält. Grafikmäßig ist alles ohne weiteres anpassbar und nichts an die Engine gebunden.

Für "normale" Adventure-Funktionen wie nehmen, benutzen, öffnen usw. kommt man ebenfalls ohne AS-Kenntnisse aus. Jedoch muss man sich natürlich ein wenig in das Engine-eigene Scripting einarbeiten. Das dürfte aber nach einem kurzen Tutorial und ein paar typischen Beispielen kein Problem sein: man muss nicht viele Befehle und Parameter lernen und das Prinzip bleibt für jede Aufgabe dasselbe.

So der Stand, und es funktioniert ganz gut. Ob das wirklich alles was taugt und wo die Grenzen liegen werde ich aber erst nach der ersten größeren Demo sehen, wenn mal ein paar komplexere Rätsel gebaut und auch Gespräche getestet sind. Bis dahin könnte sich noch das eine oder andere ändern, deshalb gehe ich im Moment noch nicht auf die Scripting-Details ein.
Benutzeravatar
subbitus
Rätselmeister
Rätselmeister
Beiträge: 2062
Registriert: 09.02.2003, 16:36
Wohnort: Essen
Kontaktdaten:

Beitrag von subbitus »

Was ich noch mal sagen wollte, mir gefallen deine Render-Grafiken sehr gut - dieser Knetgummie-Style erinnert mich an das Spiel "The Neverhood". :D
Sherman Bragbone - A Cupful of Trouble
http://www.sherman-bragbone.de
Benutzeravatar
tanja_b
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 44
Registriert: 11.05.2005, 18:36
Wohnort: Wahlhallenserin, Nationalfränkin

Beitrag von tanja_b »

ja, die sind sehr hübsch - mit einem 3D-Prog gemacht?
Es gefällt mir sehr das es alles weiß ist - das gibt der Szene etwas Abstraktes, Surreales.
Aber du hattest was von Texturen gesagt.
-= Metal to the Masses =-

Projekte:
Homegrown (nicht jugendfreie Bauernhof-Sim mit Sex & Gewalt. juhu, ich hab nen programmierer gefunden!)
LAZDH (L337Al1enZ0mbieDeam0nHax0rz from Outer Space)
Return of the Druck und Media
Home of the Snail
Benutzeravatar
subbitus
Rätselmeister
Rätselmeister
Beiträge: 2062
Registriert: 09.02.2003, 16:36
Wohnort: Essen
Kontaktdaten:

Beitrag von subbitus »

Nein, bitte keine Texturen. Gerade dieses schlichte einfarbige ist gerade das geile! :)
Sherman Bragbone - A Cupful of Trouble
http://www.sherman-bragbone.de
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

irgendwie kann ich den link zur demo nicht finden??? :?:


meine homepage hab ich auch als flash engine konzipiert,
allerdings bis lang nur funktionen eingebaut, die im jetzigen stadium für die bedienung der homepage nötig waren.
werde sie aber schön langsam weiter ausbauen,
beim nächsten update ein inventory system, usw...

aber die idee mit flash eine advenureengine zu bauen ist natürlich naheliegend und wie zurbuk beweist funktioniert das auch sehr gut.
was ich bei ihm allerdings nicht verstehe ist, warum er den grössten vorteil von flash nicht nutzt und seine adventures nicht online spielbar macht.

im prinzip ist flash mit AGS vergleichbar, nur das man halt keine speziell für adventures vorgefertigten funktionen zur verfügung hat, die muss man sich selber schreiben.
joeydee
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 118
Registriert: 11.12.2005, 23:05

Beitrag von joeydee »

Schön dass es so vielen gefällt :)
Mir gefallen die Rendergrafiken eigentlich in weiß auch sehr gut. Aber da ich aus dem 2D-Grafikbereich komme, werde ich es mir nicht nehmen lassen die Szene noch zu texturieren. Ich mach dann aber gern nochmal ne Abstimmung zu beiden Versionen :D
Aber zuerst wird fertig geproggt, so lange bleibt die Demo sicher noch in diesem Stil.

@tanja: ja, gemodelt habe ich mit Wings3d, gerendert mit Freeware-Raytracern. Bin aber dran, mir bald Cinema4D zu holen. Ich weiß nur noch nicht was zuerst: das CS2-Update mit Flash ist nämlich auch sehr verlockend...

@Rocco: http://opengl.diehlsworld.de/demos/adv/enginetest.html
Ich habe noch keine Ladeanzeige integriert; einfach mal die weiße Seite stehen lassen bis die 550k geladen sind. Ansonsten war vllt. der Server schuld.
Ja, Flash fand ich als Grafik- und Animationseditor auch einfach passend für Adventures.
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

nein, ich seh weder den screenshot noch den link zu deiner demo.
scheint wohl an deinem server zu liegen.
joeydee
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 118
Registriert: 11.12.2005, 23:05

Beitrag von joeydee »

Server geht aber, sonst scheint auch keiner Probleme gehabt zu haben. Was meinst du eigentlich mit "ich seh den Link nicht"? Hier im Forum nicht?
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

ja leider, neben SCREENIE: und LINK:
steht nix, zumindest nicht bei mir.

wenn ich auf zitat klicke seh ich aber die links, hab sie rauskopiert und direkt in den browser eingegeben, aber das einzige was kommt ist ein weisser bildschirm, beim screen genauso wie bei der demo und da kommt sonst nix, auch wenn ich 5 min warte (habe dsl da müssten 500kb eigentlich rasch geladen sein)

schade hätts mir gerne angesehen.
Antworten