Autor Beitrag
Wilder Stecher
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 14.11.02 10:28 
Hallo erst mal,
Ich begrüße erstmal alle, die diesen Artikel hier lesen. Ich hoffe das meine folgende Frage noch nicht gestellt wurde, wenn ja; dann möge man mir verzeihen. Danke.

Also
Als trueer Spieler wie ...Tournament, Quake, TO, CS
hat mal man die Lust auch so etwas in Nummer 'klein Format' zu machen. Mein größtes Problem liegt hierbei bei den 'Bots' Zwar weiß ich zwar wie man Figuren in OpenGL einfügt und teilweise bewegt bringe es aber noch nicht auf die Reihe die Figuren
:arrow: in XYZ Koordinaten zu bewegen
:arrow: Wegpunkte einzurichten
:arrow: Angreifen wenn ein Feind in der Nähe ist

Natürlich weiß ich, dass dies eine komplexe schwierige Frage ist, allerdings bräuchte ich halt nicht das allgemeine Wissen von OpenGL sondern nur von den ja mindestens 3 definierten Fragen . Source oder eine Internet Addresse wäre sehr wünschenswert. Und ein großes Schmankerl wäre es sicherlich an alle Profis und Administratoren SOURCE + aLLE dATEN HIER IM fORUM AUSZUSTELLEN: aLSO wenn ihr mir und so manchen anderen helfen wollt oder könnt, dann ran an euer Wissen.

Danke, für euer Verständnis
oder schreibt mir einfach mal was intereesantes was mir vielleicht doch was nützt.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Do 14.11.02 11:54 
Hi.

Mal eine Frage: Was ist ein "trueer" Spieler? :mrgreen:

Zu deinem ersten Punkt:
Schnapp dir ein Tutorial über Vektoren, evtl. noch Matrizen, um Realisierung und Veränderung von Koordinatenangaben zu verstehen.

Zu 2.
Ja nu, Wegpunkte. Um mit einer Figur einen bestimmten Punkt zu erreichen, ohne durch Wände zu fliegen etc., wird ein wenig KI fällig. Kannst ja hier im Forum mal schauen, ansonsten googeln.

Zu3.
Das ist so allgemein, daß man da eigentlich nix zu sagen kann. Es ist nun einmal von deiner Implementation abhängig, was ein Angriff ist, wann ein Feind in der Nähe ist. Man kann wohl sagen, daß ein Bot angreifen sollte, wenn ein Gegner in seinem Blickfeld ist und er den Gegner auch tatsächlich sehen kann (Der Gegner ist also nicht vollständig versteckt).

Sorry, das es keinen Source gibt, aber den wird dir wohl kaum einer liefern können, es sind ja keine spezifischen, sondern sehr allgemein gehaltene Fragen.

Cu,
Udontknow
OregonGhost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: Do 14.11.02 17:30 
Nimm dir ein beliebiges Spiel, das mit dem großen U arbeitet, starte den Editor (heißt meist UnrealEd) und schau dir die Skripte für die Gegner an. Wenn ich mich recht erinnere, sind die Skripte für die KI direkt zugänglich und gut dokumentiert. Hab leider mein DX gerade net installiert, daher kann ich das nicht nachprüfen...

Kann auch sein, dass man die Skripte extrahieren oder runterladen muss... Schon so lange her, dass ich da zuletzt reingeguckt habe ;c)

Tja, und sonst natürlich noch einschlägige Anlaufstellen wie gamedev.net und gamasutra.com, beide haben ganz nette Artikel zu deinen Fragen.

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Sa 16.11.02 19:53 
Hi,
Wilder Stecher hat folgendes geschrieben:
:arrow: in XYZ Koordinaten zu bewegen

mit:
ausblenden Quelltext
1:
glTranslate(x,y,z);					


Wilder Stecher hat folgendes geschrieben:
:arrow: Wegpunkte einzurichten

Na ja, einen wegpunkt ist ja im grunde nix als ne XYZ-Koordinate, dann mußt du halt dein Bot von dort wo er gerade steht, zu den neuen Koordinaten "laufen" lassen.. hat nix mit OpenGL zu tun, is reines Mathe *g* AnfangsPunkt, EndPunkt... Gerade dazwischen ziehen, und sagen wir jeden punkt im abstand von 1mm auf dieser Geraden die 3 Koordinaten berechnen... etc.. :) (evtl noch wände und so nen kram einbeziehen *g*)

Ich hab mal nen MiniSpiel gemacht (war im grunde nur zum Testen), war nen Labyrinth etc... na ja, das erste problem war das man nich durch wände laufen können durfte, nach einiger überlegerei hab ich's gelöst bekommen und wollte dann nen gegner haben *g* Na ja, den gegner hab ich wie oben beschrieben bewegt, jedoch ist er halt immer direkt gelaufen = Wände haben ihn nich gestört... also hab ich für ihn die selbe Kollisionsabfrage benutzt wie für meine eigene Figur und schon hat's geklappt :) Schön um die wände herumgelaufen.

Wilder Stecher hat folgendes geschrieben:
:arrow: Angreifen wenn ein Feind in der Nähe ist

Wieder nur Mathe :)
du hast die XYZ Koordinaten vom Gegner und von dir selbst. wenn jetzt deine Koordinaten sagen wir näher als 20 Einheiten an denen des Gegners dran is, fängt ideser an zu schießen.
Da könnte man noch einbauen das es nur geht wenn du VOR ihm stehst etc.. :) Mathe Mathe Mathe... *g*

Hoffe ich hab dir ein wenig anstöße geben können... *Formelsammlung reicht* :)

Au'revoir,
Aya
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: So 17.11.02 12:58 
Noch ein kleiner Tipp: unter www.idsoftware.com kannst Du dir den Qeulltext von Quake1-3 runterladen. Da steht sicherlich auch viel nützlicher KI-Sourcecode drin (wenn auch in C++).
Wilder Stecher Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Di 19.11.02 22:59 
Hi,
vielen Dank das ihr mir so schnell geantwortet habt. Zwar wird mein Problem noch in näster Zukunft schwierig zu bewältigen sein*vielleicht*, dennoch konnte ich vieles sinnvoll gebrauchen. Die Befehlszeile probiere ich gleich mal aus, die ersten zwei Internetaddressen bieten für jederman einiges, dennoch sind sie teilweise etwas unübersichtlich. Dass Quake ja in 'C++' ist, scheint für mich ein großes Schicksal zu sein. Fals dennoch irgendeiner mal eine andere Internetseite gefundet hat ,oder sogar weiß ,wäre ich sehr dankbar, wenn ihr mir diese schreiben würdet.

Bis dann,
W.S.