PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 3D Tutorial



SpookydaRooky
15.07.2004, 03:36
Welchen Maker ihr jetzt nehmt (2000 oder 2003) ist egal.
Kommen wir gleich zum Wichtigsten.
Wenn ihr ein Spiel in 3D vortäuschen wollt, müsst ihr auf der Map auf JEDEM Feld ein Event setzen, das den Befehl "Show Picture" enthaltet und dann eben das Bild, das die Blickrichtung und den Raum des Spiels zeigen muss. Größtenteils müsst ihr euch also selber alles zeichnen oder einfach aus anderen Spielen "rippen".
Wie zeige ich einen dreidimensionalen Raum?
Jedes Feld muss wie gesagt ein Event sein. In dem Event muss stehen:
<Show Picture: 15-20> [Pic aussuchen]
Warum Pics 15-20? Die ersten Pics werdet ihr für die Waffenanzeige usw brauchen.

Ich weiß wie man jetzt einen Raum darstellt. Ich möchte aber Waffen!
Könnt ihr alles haben. Erstellt ein Common Event (Database!) oder ein "Parallel Process" Event auf der Map.
Das Event lautet folgendermaßen:
<Show Picture 1-14> [Pic aussuchen]
Wählt beim Anzeigen der Waffe die Koordinaten raus, um sie an der richtigen Stelle zu zeigen!
<> Switch [Waffe 1 on]
Der Switch wurde aktiviert, da ihr jetzt Waffe 1 trägt und somit später der Munitionsvorrat geregt werden muss.

Das TUT ist gemacht, um nur eine Waffe zu unterstützen! Ihr müsst es von selbst erweitern, falls ihr neue wollt.

Nächstes Common Event, das nun unter Switch "Waffe 1 on" aktiviert wird.
<> Set Variable [Munition: x]
Hier bitte eine Variable für Munition erstellen und für X die Anzahl an Munition, die man erhält.
<> Fork Condition [Munition: x]
<> Set Variable [Munition: X]

Wozu die Condition? Ihr dürft nicht mehr Munition haben als die Waffe zulässt, also stellt ab dem Höchstbetrag eurer Munition die Condition ein. Der folgende Befehl setzt für X wieder den Höchstebetrag euer Munition ein, die somit nicht mehr überschritten werden kann.

Das alles gilt nicht, wenn eure Waffe unendlich Munition haben sollte, z.B. ein Brecheisen, das unendlich mal zuschlagen kann.

Neues Event, diesmal für das Benützen eurer Waffe.
Erstellt ein neues Common Event (Welche Waffe ihr trägt ist hier egal).
<> Enter Password: [001 Schiessen] (Neue Variable)
Dies ist eine Tastenabfrage. Wenn ihr schiesst, drückt ihr z.B. ENTER. Die 1 steht für ENTER und NICHT für die Variablennummer.
<> Variable Change [Munition -x]
X steht für die Anzahl an Schüsse, die verbraucht werden, beim Benützen der Waffe. Wenn ihr Waffen haben wollt, die 3 Schuss aufeinmal von sich geben, müsst ihr für jede Waffe solch ein Event erstellen und mit Switchs versehen!

Nun habt ihr die Waffensettings festgelegt, die Darstellung erfolgt wie immer durch ein Pic und ein Event, das so etwa aussieht:
<Show Picture 1-14> [Pic aussuchen] (NICHT die selbe Picnummer nehmen, falls schon eine benützt ist)

Das Picture ist nun die Waffe selber. Ihr wollt aber auf jeden Fall eine Animation beim Benützen der Waffe oder auch Sounds, also befolgt dies:
Neues Event erstellen:
<> Fork Condition [Schiessen: 1] (die Variable für das Schiessen beträgt 1, da die Waffe benützt wird)
<> Play Sound X (Könnt ihr euch aussuchen, je nach Waffe)
<> Erase Picture X (X steht für die Pic Nummer, die ihr für die Waffe benützt. Ihr müsst sie auf jeden Fall auflösen, wenn ihr einen flüssigen Ablauf wollt.)
<> Show Picture X (Verwendet die Nummer für die Waffe, nur eben eine andere Grafik usw)
<> Erase Picture X (Animation ist beendet)
<> Set Variable [Schiessen: 0] (Wieder alles beim Alten)
<> Show Picture X (Normales Pic der Waffe, wie sie gehalten wird)

Dies für jede Waffe, da ihr ja andere Animationen und Sounds pro Waffe benötigt.

Wir wissen nun, wie man Waffen erstellt und benützt. Auch weiß ich jetzt, wie man sich fortbewegt.
Ich will aber Gegner!
Da man unmöglich zielen kann, spielt sich das Ganze wie Doom.
Gegner müsst ihr auf den verschiedenen Events der Map verteilen, die eben erscheinen, wenn man auf das entsprechende Feld tritt. Trefferabfrage erfolgt, indem ihr schießt, wenn der Gegner zu sehen ist. Pro Angriff verändert ihr einfach die Variable der gegnerischen HP, bis dieser das Zeitliche segnet. Dasselbe gilt auch für die eigenen HP.
Energieanzeige usw. müsst ihr mit eurem eigenen Wissen anfertigen, die wichtigen Variablen habe ich schon angegeben. Das Tut ist aus meinen Kopf geschrieben und nicht aus dem Maker. Ich kann also nicht garantieren, dass alle Befehle im Maker gleich heißen.

Tiny
15.07.2004, 04:00
Hmm...

Meine Güte. Hast du das schon mal gescriptet?!

Das Tut ist aus meinen Kopf geschrieben und nicht aus dem Maker.
Allerdings.


Wenn ihr ein Spiel in 3D vortäuschen wollt, müsst ihr auf der Map auf JEDEM Feld ein Event setzen, das den Befehl "Show Picture" enthaltet und dann eben das Bild, das die Blickrichtung und den Raum des Spiels zeigen muss.

Soso... Du meinst also, dass man auf jedes Feld ein Event machen soll, dass den Raum dann immer aus einer anderen Blickrichtung zeigt?
Das ist völliger Schwachsinn. Das würde nicht nach 3d aussehen, sondern nach einer Diashow. Außerdem wäre das bei einem größeren Spiel ein riesen Aufwand. 1. Einen Raum aus 1000 Blickrichtungen zu zeichnen und 2. Das alles mit events anzeigen zu lassen. Ich denke eher, dass du eine Fixe Idee hattest, wie man 3D simulieren kann, die dir im ersten Moment auch logisch vorkam, aber bei genauerem hinsehen zerbröselt.

Ich finde weiterhin nicht, dass du gut beschrieben hast, wie man das mit den Waffen macht. Du hast eine Vorstellung aufgeschrieben, aber ein Neuling könnte dein "Tut" gar nicht nachvollziehen (Stichwort HP)...

Naja, vielleicht bin ich auch zu blöd es zu verstehen...
Außerdem ist vielleicht ja jemand inspiriert und macht ein 3D Spiel... Wer weiß?

SpookydaRooky
15.07.2004, 12:55
das hab ich mir ja auch nur im kopf zusammen gebastelt!
ob es funzt weiß keiner

Shadow_Ninja
15.07.2004, 21:04
Die Idee ansich ist nicht schlecht, aber

Wenn ihr ein Spiel in 3D vortäuschen wollt, müsst ihr auf der Map auf JEDEM Feld ein Event setzen, das den Befehl "Show Picture" enthaltet und dann eben das Bild, das die Blickrichtung und den Raum des Spiels zeigen muss.

das kann glube ich gar nicht funktionieren. Ich hab mal gehört dass der maker ruckelt, sowie man über 50% des Raumes mit Events auspflastert. Um den Maker zu schönen empfehele ich keine Events. eher eine ziehmlich komplizierte Positionsabfrage durch ein Common Event.

If Var [X] = 1
If Var [Y] = 1
Show Picture [1/1]
End if
End if

Wobei du dann eigentlich keine Map mehr bräuchtest.

Manuel
15.07.2004, 21:10
das kann glube ich gar nicht funktionieren. Ich hab mal gehört dass der maker ruckelt, sowie man über 50% des Raumes mit Events auspflastert.Das stimmt nicht, das weiß ich aus eigener Erfahrung. Sieh' dir mal mein 4Gewinnt-Spiel im Maker an, und du verstehst, was ich meine^^ Siehe Signatur^^

@Thema: Joa, irgendwie scheint das 'ne ganze Menge Arbeit zu sein. Ich werd' mich trotzdem mal ransetzen, es so zu bauen, wie du es beschrieben hast... Mal sehen, was daraus wird^^.

Jamahl
15.07.2004, 21:44
Script her!
Das soll mal jemand scripten. Leider bin ich zu faul zum selbermachen. Aber das klingt schonmal gut.
Kennt einer das Spiel Deathcat? Das dürfte in etwa gleich gemacht sein (is nur ne vermutung, nicht hauen wenns anders is)

Dhan
15.07.2004, 23:28
Also mit dem Ruckeln ist es nach meinem Sinn für Logik so:
Ruckelstärke~Events
Ruckelstärke~1/Prozessor
wenn eine Map klein ist, kann man natürlich net viel Events draufpflastern.
Soa, zur Idee... extrem aufwendig, wenn man jedes Bild rendern muss und jedes Event einstellen will. Ich sag, es funktioniert, aber soviel Mühe wird sich nie jemand machen.

SpookydaRooky
16.07.2004, 02:44
ich ahb ja auch nich geschrieben das es jemand machen soll!

Maisaffe
16.07.2004, 03:57
Original geschrieben von SpookydaRooky
ich ahb ja auch nich geschrieben das es jemand machen soll!

Die Idee ist logisch, naja mehr oder weniger ;)

Wenn dann würde ich es mit Variablen machen und nicht so komplex ;)

Jedenfalls habe ich mla Pseudo 3D gemacht für ein Rennspiel ;) - welches gerade auf Eis liegt

Dennis

Dhan
16.07.2004, 04:33
Wozu ein Tutorial, wenn du davon ausgehst, dass es eh niemand verwendet?

SpookydaRooky
20.07.2004, 13:45
ich wollte es euch einfach mal zeigen!