Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Adventurespiel? (https://www.delphipraxis.net/69891-adventurespiel.html)

3_of_8 21. Mai 2006 23:25


Adventurespiel?
 
Morgen.
Ich hab mal eine a) dumme und b) theoretische Frage.

Wie wird ein Adventurespiel programmiert? Ich nenne mal als Beispiel Baphomets Fluch 2 oder Day of the Tentacle.

Im Prinzip hat man ja ein Hintergrundbild und einige Bilder im Vordergrund, die sich u.U. bewegen. Aber wie macht man das mit den unterschiedlichen Reaktionen beim Anklicken? Muss man da für jedes Pixel des Bildes, wenn es opaque (also non-transparent) ist, prüfen, ob der Mauszeiger drauf ist oder nicht? Wäre doch irgendwie ziemlich unperformant, oder?

kleiner Unwissender 22. Mai 2006 00:01

Re: Adventurespiel?
 
Da gibt es schon ne fertige Engine!
nennt sich AGS (adventure game studio) Seite der Macher

Tutorials und Forum zum Thema findest du hier: Link

Flare 22. Mai 2006 05:38

Re: Adventurespiel?
 
Beziehungsweise ohne Maus das Ganze nennt sich RPG-Maker, ich denke da kann man auch Adventure-Spiele machen, obwohl der für Rollenspiele geschrieben wurde (Übrigens in Delphi :stupid: )
Das Problem bei diesem Programm ist, dass es eigentlich Geld kostet und man sehr viel Arbeit aufwenden muss um ihn "kostenlos" aus dem Internet zu bekommen, vielleicht hast du ja Glück!


Flare

3_of_8 22. Mai 2006 06:14

Re: Adventurespiel?
 
Den RPG-Maker kenne ich schon. Waren meine ersten "Versuche". Allerdings kann man bei dem Ding nur per Patch die Maus benutzen, und außerdem hat man immer nur einzelne Felder zum Ereignisse zuweisen. Das andere schau ich mir mal an.

Orbmu2k 22. Mai 2006 07:56

Re: Adventurespiel?
 
Schau dir das mal an http://www.visionaire-online.de/

Ein paar Leute machen grad einen 2.Teil von "Day of the Tentacle" damit als Fanadventure Projekt.

kleiner Unwissender 22. Mai 2006 11:52

Re: Adventurespiel?
 
AGS hat allerdings den Vorteil, das es völlig kostenlos ist!

Außerdem bekommst du damit die Grafik genau so hin wie Manic Mansion und Monkey Island (Retro is cool! :wink: )

3_of_8 22. Mai 2006 13:23

Re: Adventurespiel?
 
Ich habe noch das Problem, dass ich ein miserabler Grafiker bin. Ich fände es daher nicht schlecht, wenn ich irgendwo eine größere Seite mit verschiedenen Ressourcen (Hintergrundbilder, Charakteren, Items) finden könnte. Wenn möglich in akzeptabler größe (640x480 wäre nicht schlecht, notfalls auch 320x240).

Frickeldrecktuxer_TM 22. Mai 2006 13:38

Re: Adventurespiel?
 
Zitat:

Zitat von 3_of_8
Day of the Tentacle

Du möchtest die vielleicht die ScummVM anschauen, respektive deren Quellcode.

Zitat:

Zitat von 3_of_8
Muss man da für jedes Pixel des Bildes, wenn es opaque (also non-transparent) ist, prüfen, ob der Mauszeiger drauf ist oder nicht? Wäre doch irgendwie ziemlich unperformant, oder?

Üblicherweise macht man es umgekehrt: Man fragt, wo die Maus ist, und schaut, welche Objekte an diesen Koordinaten anzutreffen sind.

3_of_8 22. Mai 2006 14:03

Re: Adventurespiel?
 
Kommt eigentlich fast aufs gleiche heraus, oder? Man kann nur vorher ein paar aussortieren. Man könnte das theoretisch mit einem Binärbaum hinkriegen, oder etwa mit einem Quartärbaum (wie man das auch immer nennt, auf jeden Fall mit 4 Kindern
)

Frickeldrecktuxer_TM 22. Mai 2006 14:13

Re: Adventurespiel?
 
Zitat:

Zitat von 3_of_8
Kommt eigentlich fast aufs gleiche heraus, oder?

Ähh... ne?
Willst du für jeden Pixel abfragen, ob der Mauszeiger sich an der Position befindet, gehst du im VGA-Modus 640x480 Pixel durch. So kann man anhand der Positionen und Größen der Objekte, die man ja kennt, eingrenzen, welche Objekte in Frage kommen und schnappt sich am Ende das Objekt, was am weitesten "vorne" auf der Zeichenfläche liegt. Statt 307200 Vergleichen fallen also nur so viele Vergleiche an, wie du Objekte hast. Lineare (nicht-optimierte) Listen vorrausgesetzt.
Unter Umständen (bei einigen Adventures wurde es so gemacht) definiert man einfach maussensitive Bereiche, mit denen man Aktionen verknüpft. Dann interessierst du dich nichtmal mehr für das angeklickte Objekt, und maussensitive Bereiche kann es an einer Stelle nur einen geben, da lässt sich eine Suche sehr viel besser optimieren als eine Suche nach allen Objekten, die in Frage kommen können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz