KI

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

ChrisAttack

Betreff: KI

BeitragSa, Feb 28, 2004 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Für mein neues Spiel habe ich die Steuerung und die Welt jetzt fertig- was ich jetzt braue ist eine KI. Hat jemand Vorschläge wie man soetwas angeht???
Eine KI wie bei The Galaxie Freedom von Inpac wär nicht schlecht.
B3D
MSVC++
DX9SDK
 

INpac

BeitragSa, Feb 28, 2004 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Galaxy Wink

Muaha, willste mich vergackeiern?
Die KI dort ist emrh als miserabel Smile

Das System war dort ganz einfach...:
Alles basierte auf Entfernung zum Player. diese entfernung wurde in einem Field der generischen Unit gespeichert.
Dise wurde dann ausgewertet:
Wenn unit\distance# > attacking_range dann:
- Pointentity der Unit auf player
- beschleunigen
- hinzu bewegen
Wenn IN attacking_range, dann:
- wenn Distance ZU nahe, dann drehe Unit zufällig weg, und lasse sie einen moment bewegen
- ansonsten drehe immer auf Player, und gib Bullets ( auf player gerichtet ) ab.

Das wars Smile

ChrisAttack

BeitragSa, Feb 28, 2004 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
So schlecht ist die auch nicht. Hast immerhin bei Gamestar 2/2004 gewonnen Smile

Danke
B3D
MSVC++
DX9SDK

ChrisAttack

BeitragMo, März 01, 2004 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Frage:

Könnstest du mir den Quellcode nicht einmal per E-Mail senden? Mit meinem komm ich nicht so ganz zurecht.
BITTE!
B3D
MSVC++
DX9SDK

ChrisAttack

BeitragDi, März 02, 2004 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
OK, hast ihn mir nicht geschickt, kann ich verstehen. Smile

frage: Was haltet ihr hiervon:

Code: [AUSKLAPPEN]

Global Anzahl=10 ;Gegner Anzahl

;Felder
Dim Unit(Anzahl,3)
Dim Unit_Schuss(Anzahl,100,1)
Dim distance#(Anzahl)
;

;Reichweite
Global range#=50
;

;Distanz mesh mit Gegnern
For I=0 To Anzahl
distance(I)=EntityDistance(mesh,Unit(J,0))
Next 
;

;Funktion
Function KI()

;Gegnermodell laden + Startkoordinaten
For I=0 To Anzahl
   Unit(I,0) = LoadMesh("Meshs/tarnkappe.3ds")
   Unit(I,1) = Rnd(300) ;X
   Unit(I,2) = Rnd(300) ;Y
   Unit(I,3) = Rnd(300) ;Z
    PositionEntity Unit(I,0),Unit(I,1),Unit(I,2),Unit(I,3)
Next
;

;Distance überprüfen
For I=0 To Anzahl
If distance#(I) =< range# Then
   Schuss=Schuss+1
   If Schuss=100 Then Schuss=1
   Unit_Schuss(I,Schuss,0)=1
   Unit_Schuss(I,Schuss,1)=Unit(I,3)+10
EndIf
Next
;

;Schiessen
For I=0 To Anzahl
For K=0 To 100
   If Unit_Schuss(I,K,3) > 300 Then Unit_Schuss(I,K,0)=0
   If Unit_Schuss(I,K,0) = 1 Then
      laser = LoadMesh("Meshs/laser.3ds")
      MoveEntity laser,0,0,Unit_Schuss(I,K,1)
      Unit_Schuss(I,K,1) = Unit_Schuss(I,K,1)+10
   EndIf
Next
Next
;

;Gegner bewegen
For I=0 To Anzahl
   MoveEntity Unit(I,0),0,0,3
Next
;

End Function
B3D
MSVC++
DX9SDK

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group