Links
AUM Magazine
Newest Posts
cloud plugin, made by ello five years ago
by Error014
9 minutes 25 seconds ago
Crytek's SSAO development thread
by jane
10 minutes 15 seconds ago
How to turn the my entity smoothly to a target?
by Spirit
25 minutes 8 seconds ago
Wierd invalid pointer.
by paracharlie
Today at 14:23
String comparison
by 3dgs_snake
Today at 14:02
Latest Screens
Overlay Window Project
Marble Ball Dash
Sea
Gravix
Secret Of The Sword - Castle Rooms
Who's Online
67 registered (alibaba, Blink, BlueFlame, aztec, 3dgs_snake, Bone, bodden, Benni003, Alan, BigFaischty, 7 invisible), 157 Guests and 20 Spiders online.
Key: Admin, Global Mod, Mod
Newest Members
Dr_Varsims, Doford, Sunshine21, tgamorris76, Polygon
14951 Registered Users
Page 1 of 2 1 2 >
Topic Options
Rate This Topic
#309414 - 02/09/10 10:06 Wie sieht ein Script aus in dem Objekte miteinander reagieren?
Robso661 Offline
Member

Registered: 01/27/10
Posts: 112
Guten morgen,
nun ich würde gerne wissen wie ein Script aussieht welches dafür sorgt das Objekte miteinander reagieren. Ein Beispiel ist Zuma. Bei diesem Spiel hat man Kugeln, die man auf Kugelreihen die umherrollen scchießt. Wenn die geschossene Kugel die Kette berührt, reiht sie sich ein. Wenn die Kugel auslöst, dass drei Farben in einer Reihe sind, werden die Kugeln zerstört. (vllt. etwas schwer verständlich, ich wusste keine bessere Erklärung)

Ich wüsste auch noch gerne, wie man dafür sorgen kann, das die Kugeln zufällig entstehen, oder entstehen die Kugeln bei Zuma in der Reihe garnicht zufällig, und dann einen bestimmten Pfad erreichen.

Noch etwas: Wie mache ich, dass die letzte Kugel die in der Kette rollt, das Spiel beendet wenn sie ein bestimmtes Objekt trifft?

Ps: Ich weiß es sind viele Fragen, nur ich kann im Handbuch und im Aum nicht dazu finden. Ihr müsst mir nicht das ganze Script aufschreiben, es reicht auch wenn ihr nur ein Beispiel nennt wo es beschrieben ist, z.B. im Aum (man kann ja mal was übersehen). Dann kann ich es mir schon selbst erarbeiten.

Lg
Robin


Edited by Robso661 (02/09/10 10:07)
_________________________
Ja, das Programmieren ist schwer und zerreißt einem manchmal den Kopf. Aber dran bleiben ist alles dann kommt man auch weiter.

http://www.youtube.com/user/ErweSpiele

Top
#309420 - 02/09/10 10:38 Re: Wie sieht ein Script aus in dem Objekte miteinander reagieren? [Re: Robso661]
Robso661 Offline
Member

Registered: 01/27/10
Posts: 112
weiß denn wirklich keiner weiter?
_________________________
Ja, das Programmieren ist schwer und zerreißt einem manchmal den Kopf. Aber dran bleiben ist alles dann kommt man auch weiter.

http://www.youtube.com/user/ErweSpiele

Top
#309424 - 02/09/10 10:57 Re: Wie sieht ein Script aus in dem Objekte miteinander reagieren? [Re: Robso661]
MikeS Offline
Member

Registered: 03/21/07
Posts: 112
sowas wirste dir wahrscheinlich selber zusammenklamüsern müssen, ich glaub sowas spezifisches wirste in keinem aum finden :-)

So, tip von mir, schau dir mal im manual die EVENT geschichten an, damit lässt du objekte miteinander interagieren.

Für zufallssachen Manual = Random

damit solltest du schon einiges anfangen können.

Gruß

Mike

Top
#309426 - 02/09/10 11:23 Re: Wie sieht ein Script aus in dem Objekte miteinander reagieren? [Re: MikeS]
Pappenheimer Offline
Expert

Registered: 09/11/03
Posts: 4736
Loc: Bielefeld, Germany
Dein Beispiel mit Zuma und den Kugeln wird wahrscheinlich am besten so laufen, dass Du über die Funktion ent_next jedes Frame alle Entities durchgehst und je nach ihren Eigenschaften den Abstand zu einander prüfst.
Also, z.B. wird der Abstand der Kugel, die Du abschiesst, im Verhältnis zu einem der sicherlich dicht gelegten Pfadpunkte und zu den sich darauf befindlichen Kugeln kontinuierlich überprüft.

Dies ist jetzt sehr abstrakt gesprochen.
Zum zweiten, ich denke sie werden Zufall einsetzen _und_ damit man das Spiel auch technisch gewinnbar bleibt. Ganz deutlich wird das ganz am Scluss eines Levels, wenn nur noch eine ugel übrig ist, dann bekommst Du nur noch 'Schusskugeln' der gleichen Farbe.

Dass sind nur Überlegungen dazu. Letztlich ist es je nach Spiel immer wieder die kreative Leistung des Programmierers (oder des Game Designers), sich zu überlegen, wie er die Aufgaben eines jeweiligen Spielkonzeptes löst.

Top
#309447 - 02/09/10 13:49 Re: Wie sieht ein Script aus in dem Objekte miteinander reagieren? [Re: Pappenheimer]
Robso661 Offline
Member

Registered: 01/27/10
Posts: 112
sorry, aber muss doch mal nach dem script fragen irgendwie weiß ich übehaupt nicht wo ich hier anfangen soll????
könnte mir da einer vllt. etwas hilfestellung geben?
_________________________
Ja, das Programmieren ist schwer und zerreißt einem manchmal den Kopf. Aber dran bleiben ist alles dann kommt man auch weiter.

http://www.youtube.com/user/ErweSpiele

Top
#309453 - 02/09/10 15:32 Re: Wie sieht ein Script aus in dem Objekte miteinander reagier [Re: Robso661]
Pappenheimer Offline
Expert

Registered: 09/11/03
Posts: 4736
Loc: Bielefeld, Germany
Kein Problem! laugh

http://manual.3dgamestudio.net/

Dann Strg + F drücken

zum Suchen 'ent_next' eingeben, dann kommst du auf dieses Kapitel:
http://www.conitec.net/beta/aent_next.htm

Dort findest Du folgendes Code-Beispiel:

Code:
function hide_all_ents()
{
	you = ent_next(NULL); // retrieve first entity
 	while (you) // repeat until there are no more entities
	{ 
		set(you,INVISIBLE); // make entity invisible
 		you = ent_next(you); // get next entity
 	}
}



Quote:
All level entities are sorted into an internal list. This instruction returns a pointer to the first entity in the list when the entity parameter is NULL, and a pointer to the next entity otherwise.


Das ist also _die_ Funktion, um alle Entities im Level durchzugehen. Im angegebenen Beispiel wird jede gefundene auf Unsichtbar gesetzt.

Du kannst durch eine einfache if-Bedingung natürlich bestimmte Objekte (= Entities) überspringen.
z.B.:
if(vec_dist(camera.x, you.x) < 100)set(you,INVISIBLE);

Ist jetzt nur ein Beispiel.
Du könntest z.B. der "Schusskugel" in Zuma einen Pointer geben.
z.B. ENTITY* ent_shot;
und dann den Abstand zwischen ihr und allen anderen Entities abfragen:
if(vec_dist(ent_shot.x, you.x) < 100)set(you,INVISIBLE);

Da Du aber noch Entities im Level haben wirst, die nichts mit der Spielmechanik zu tun haben, musst Du die Entities auch grundsätzlich unterscheiden können.

Dafür richtest Du einen Skill ein, der bei allen Entities für diese Unterscheidung vorgesehen ist.
Sagen wir Du nimmst den ersten Skill, nennst ihn ID, für Identität.
"0" wäre praktischerweise die ID aller Gegenstände, die für die Spielmechanik unwichtig sind, dann muss er ihnen nicht einzeln zugewiesen werden.
"1" könnte die ID für die Kugeln sein.
"2" wäre vielleicht der für die Entities, die die einzelnen Pfadpunkte besetzen usw.

die Skills definierst Du so, damit es im Skript übersichtilich ist:

#define ID skill1
#define _id_ball 1
#define _id_path_point 2
#define _id_goal 3

Dann schreibst Du in der späteren Funktion so etwas:

if(you.ID == _id_ball){"Rück'n'Stück"...}

Wegen meines katastrophalen Gedächtnisses kann ich Dir aber leider nicht sagen, ob die Schreibweise so einwandfrei ist.

Es geht nur darum, Dir eine Vorstellung davon zu geben wie es funktionieren sollte.



Edited by Pappenheimer (02/09/10 15:35)
Edit Reason: etwas vergessen

Top
#309496 - 02/09/10 20:24 Re: Wie sieht ein Script aus in dem Objekte miteinander reagier [Re: Pappenheimer]
Robso661 Offline
Member

Registered: 01/27/10
Posts: 112
tut mir leid, dass ich mich erst jetzt wieder melde, aber eher ging leider nicht. ich werde jetzt mal ein wenig probieren... danke für die antworten


guten morgen:
ich bins heute morgen noch mal. ich habe einen pfad im wed erstellt. jetzt möchte ich in meinem zuma spiel immer neue kugeln ins level einfügen. das mache ich mit ent_create . jetzt wüsste ich gerne wie ich mache, dass die neu ins level gerufenen kugeln sich auf dem spad entlang bewegen?
sprich: wie bei zuma immer über einen bestimmten weg rollen.

meine nächste frage ist: wie mache ich, dass die kugeln immer in die richtung rotieren in die sie auch gerade rollen...?

und die erstemal letzte frage: wie sorge ich dafür, dass wenn ich kugeln schieße, diese sich dann den anderen nähert nach der zuvor von pappenheimer genannten methode mit Rück´n´Stück und wenn sie nah genug an den kugelnschlange dran ist, sollte die schlange dort wo die kugel auftrifft, platz machen. alle die betroffenen kugeln sollen immer nach vorne weg ausweichen. also wie bei zuma. wenn ich die kette treffe, wird sie vergrößert und weitet sich nach vorne hin aus.
(auch ein bisschen schwer zu erklären, hoffe aber ihr verstehth es)

lg
Robin
_________________________
Ja, das Programmieren ist schwer und zerreißt einem manchmal den Kopf. Aber dran bleiben ist alles dann kommt man auch weiter.

http://www.youtube.com/user/ErweSpiele

Top
#309600 - 02/10/10 08:44 Re: Wie sieht ein Script aus in dem Objekte miteinander reagier [Re: Robso661]
Robso661 Offline
Member

Registered: 01/27/10
Posts: 112
bitte um hilfe

anliegen ein post drüber


Edited by Robso661 (02/10/10 09:28)
_________________________
Ja, das Programmieren ist schwer und zerreißt einem manchmal den Kopf. Aber dran bleiben ist alles dann kommt man auch weiter.

http://www.youtube.com/user/ErweSpiele

Top
#309610 - 02/10/10 09:44 Re: Wie sieht ein Script aus in dem Objekte miteinander reagier [Re: Robso661]
JustSid Online
User

Registered: 04/23/07
Posts: 659
Loc: Germany
Das hier ist kein Chat, du kannst nicht alle 40 Minuten deine Frage pushen weil noch niemand geantwortet hat o_O
_________________________
Here be dragons!
My projects on github.com

Top
#309617 - 02/10/10 12:13 Re: Wie sieht ein Script aus in dem Objekte miteinander reagier [Re: JustSid]
Robso661 Offline
Member

Registered: 01/27/10
Posts: 112
ja sorry, aber du kannst mir anscheinend auch nicht helfen
_________________________
Ja, das Programmieren ist schwer und zerreißt einem manchmal den Kopf. Aber dran bleiben ist alles dann kommt man auch weiter.

http://www.youtube.com/user/ErweSpiele

Top
Page 1 of 2 1 2 >


Moderator:  HeelX, Lukas, Shadow969, Tobias, TWO, VeT 

lite-c | chip programmers | download | shop | resources | magazine | manual | support faq | wiki | bugs | beta features | forecast

Conitec Datasystems, Inc · 5000 Thorne Drive, Suite F · La Mesa, CA 91941 · Tel +1 (619) 462-0515 · Fax +1 (619) 462-0519 · info (at) 3dgamestudio.net