Shooter-KI

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Shooter-KI

Beitrag von AndyX »

HALLO! :mrgreen:

Ich möchte einen Shooter programmieren, und weiß nicht wie ich die Gegner-KI mache. Das Spiel schaut so aus: Links steht der Spieler, Rechts der Gegner, und man muss halt den Gegner abfetzen. :) Der Gegner soll Ballern, Ducken, Springen können.

Ich hab echt keinen Plan wie ich das mach. :(

Hoffe, ihr könnt mir helfen. :allright:

Mfg,
AndyX
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Hallo erstmal...

Nix leichter als das !

nehmen wir mal an du hast ein Spiel in der Vogelperspektive gemacht !?
Rechts steht dein Gegner und links oben irgendwo du...

damit dein Gegner dich jagen tut.Musst du ihm einen Jagdinstinkt verpassen.

Das geht ungefähr so :

Code: Alles auswählen

Procedure GegnersuchtSpieler()
if spielerX<GegnerX:GegnerX-1:endif 
if spielerX>GegnerX:GegnerX+1:endif 
if spielerY<GegnerY:GegnerY-1:endif 
if spielery>GegnerY:GegnerY+1:endif 
if SpriteCollison (SpielerSprite,SpielerX,SpielerY,GegnerSprite,GegnerX,GegnerY)
GameOver=1
endif 
ProcedureReturn GameOver
EndProcedure 
Das Gleiche kannst du nun auch mit deinen Geschossen und dem gegner machen.Allerding solltest du hier eine mindest Entfernung zum Gechoss festlegen. Damit der Gegner sich ducken oder springen kann.
Am besten du experimentierst mit dieser Methode mal rum. Hab ich damals auch gemacht und habe so verschiedene Arten von massgeschneiderter KI hinbekommen.
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von AndyX »

nein es is nicht von oben. ich weiß nur nicht wie ich das mache soll das er manchmal duckt oder springt oder schießt, und manchmal nicht. :?

Trotzdem danke für die antwort. :D

Mfg,
AndyX
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

KI

Beitrag von Hroudtwolf »

Du musst deinem Gegner eigentlich nur eine eigene Einschätung der Lage geben. Und damit er nicht unbesiegbar ist das ganze durch ein zufallssystem stören.

Ungefähr so:

Code: Alles auswählen

Distanz=50
if random (2)=1;Hier werden die Sinne gestört
if geschossX>GegnerX-Distanz
Huepfen=1
endif 
endif 
Hierbei wird die Variable HUEPFEN auf 1 gesetzt wenn das Geschoss
weniger als 50 Pixel vom Gegner entfernt ist.

Wird z.B. in einer anderen IF Abfrage dann geprueft ob HUEPFEN=1
dann wird deine Hüpfprozedur gestartet.

ist doch ganz einfach ! :D
Antworten