Monissa peleissä on jonkinlainen vihollinen, jonka kanssa taistella. Tutustu erilaisiin tapoihin, joilla voit lisätä vihollistaistelua ja hienostella niitä.

Vihollisilla on ratkaiseva rooli tehdessään peleistä jännittäviä ja haastavia pelaajille. Olitpa luomassa 2D-tasohyppelyä, ylhäältä alas-räiskintäpeliä tai roolipeliä, vihollisten lisääminen voi parantaa pelikokemusta merkittävästi.

Godotin käyttäjäystävällinen käyttöliittymä ja intuitiivinen komentosarjakieli, GDScript, tekevät prosessista tehokkaan ja nautinnollisen.

Godot-pelin perustaminen

Ennen kuin sukellat vihollisen luomiseen, määritä 2D-pelisi perusrakenne Godot-pelimoottori.

Luo uusi 2D-projekti Godotissa. Luo uusi pääkohtauksessa KinematicBody2D solmu ja nimeä se Pelaaja. Lisää soittimen solmun sisään a CollisionShape2D suorakulmion muotoinen, josta tulee pelaajan osumalaatikko. Lisää myös a Sprite solmu visuaalisena esityksenä pelaajan hahmosta.

Tässä artikkelissa käytetty koodi on saatavilla tässä GitHub-arkisto ja sen käyttö on ilmaista MIT-lisenssin alaisena.

instagram viewer

Liitä seuraava GDScript-koodi Pelaaja solmu perusliikkeen mahdollistamiseksi:

extends KinematicBody2D

const SPEED = 200

func _physics_process(delta):
var motion = Vector2.ZERO

if Input.is_action_pressed("ui_right"):
motion.x += SPEED

if Input.is_action_pressed("ui_left"):
motion.x -= SPEED

if Input.is_action_pressed("ui_down"):
motion.y += SPEED

if Input.is_action_pressed("ui_up"):
motion.y -= SPEED

motion = move_and_slide(motion)

Tällä koodilla pelaaja voi liikkua vasemmalle, oikealle, ylös ja alas käyttämällä nuolinäppäimiä tai WASD-näppäimiä.

Yksinkertaisen vihollisen luominen

Nyt kun olet luonut pelaajahahmon, voit luoda yksinkertaisen vihollisen.

Luo uusi kohtaus ja lisää a StaticBody2D solmu nimeltä Vihollinen. Lisää vihollisen solmun sisälle a CollisionShape2D solmu, jossa on ympyrän muotoinen vihollisen osumalaatikko. Lisää myös a Sprite solmu edustaa vihollista visuaalisesti.

Kun törmäys on määritetty, vihollinen on valmis olemaan vuorovaikutuksessa pelaajan ja muiden pelimaailmasi elementtien kanssa.

Vihollisen tekeminen Seuraa pelaajaa

Pelaajaa seuraavien vihollisten luominen lisää peliin uudenlaista haastetta.

Luo uusi kohtaus seuraavalle vihollistyypille ja lisää a KinematicBody2D solmu nimeltä Seuraa Vihollista CollisionShape2D: n kanssa. Liitä seuraava GDScript-koodi FollowEnemy-solmuun, jotta se seuraa soitinta:

extends KinematicBody2D

const SPEED = 100

func _physics_process(delta):
var player = get_parent().get_node("Player")
var player_position = player.global_position
var enemy_position = global_position
var direction = player_position - enemy_position
direction = direction.normalized()

var motion = direction * SPEED * delta
move_and_collide(motion)

Nyt Seuraa Vihollista siirtyy kohti pelaajan asemaa jokaisessa kehyksessä.

Vihollisen luotien lisääminen

Nyt voit saada vihollisen ampumaan luoteja pelaajaa kohti. Luo uusi kohtaus ja nimeä se Bullet.tscn. Lisää KinematicBody2D solmu tapahtumapaikalle. Kiinnitä Bullet.gd skripti KinematicBody2D-solmuun Bullet.tscn-kohdassa. Lisää seuraava koodi määrittääksesi Bullet-luokan:

extends KinematicBody2D

const BULLET_SPEED = 300
var bullet_direction = Vector2.ZERO

func _physics_process(delta):
var motion = bullet_direction * BULLET_SPEED * delta
move_and_collide(motion)

func set_direction(direction):
bullet_direction = direction.normalized()

Luo nyt viholliselle uusi solmu luotien avulla ja nimeä se Ammunta Vihollinen. Lisää ShootingEnemy-solmuun a CollisionShape2D suorakulmion muotoinen solmu osumalaatikkona.

Liitä seuraava GDScript-koodi ShootingEnemy-solmuun, jotta se ampuu luoteja:

extends KinematicBody2D

const SPEED = 100
const SHOOT_DELAY = 1.5
var shoot_timer = SHOOT_DELAY

# Import the Bullet scene
const BulletScene = preload("res://Bullet.tscn")

func _physics_process(delta):

# Shooting logic
shoot_timer -= delta

if shoot_timer <= 0:
shoot_timer = SHOOT_DELAY
var bullet_instance = BulletScene.instance()
bullet_instance.global_position = global_position
bullet_instance.set_direction(direction)
get_parent().add_child(bullet_instance)

Vihollinen ampuu nyt ajoittain luoteja kohti pelaajan asemaa. Käytä ehdollista jos lausunto tarkistaaksesi, onko ammu_ajastin on pienempi kuin 0. Jos on, niin ammu luoti.

Satunnaisesti liikkuva vihollinen

Pelaajaa seuraavien tai häntä ampuvien vihollisten lisäksi satunnaisesti liikkuva vihollinen voi tuoda peliisi arvaamattomuuden ja haasteen. Vihollisen luominen satunnaisilla liikekuvioilla vaatii yhdistelmän yksinkertaista logiikkaa ja satunnaislukujen generointia.

Aloita luomalla uusi kohtaus ja lisää a KinematicBody2D solmu nimeltä RandomEnemy. Luo uusi skripti nimeltä RandomEnemy.gd ja kiinnitä se RandomEnemy-solmuun. Skripti käsittelee satunnaisen liikkeen logiikkaa.

extends KinematicBody2D

const MOVE_SPEED = 100
const MOVE_INTERVAL_MIN = 1.0
const MOVE_INTERVAL_MAX = 3.0

var move_timer = 0.0
var move_interval = 0.0
var move_direction = Vector2.ZERO

func _ready():
choose_new_direction()

func choose_new_direction():
move_interval = rand_range(MOVE_INTERVAL_MIN, MOVE_INTERVAL_MAX)
move_timer = move_interval
move_direction = Vector2(randf(), randf()).normalized()

func _physics_process(delta):
move_timer -= delta

if move_timer <= 0.0:
choose_new_direction()

var motion = move_direction * MOVE_SPEED * delta
move_and_collide(motion)

Sisältää lisäominaisuuksia

Voit lisätä vihollisiisi monia lisäominaisuuksia tehdäksesi pelaamisesta mielenkiintoisempaa.

Boss Battles

Boss-taistelut toimivat huippuhetkinä pelissäsi tarjoten ikimuistoisia ja haastavia kohtaamisia, jotka testaavat pelaajien taitoja ja sinnikkyyttä. Pomoviholliset ovat tyypillisesti suurempia ja voimakkaampia kuin tavalliset viholliset, joten pelaajien on käytettävä tiettyjä strategioita ja taktiikoita voittaakseen heidät.

Dynaaminen vihollisen kuteminen

Ota käyttöön dynaaminen synnytysjärjestelmä, joka säätää vihollisen kohtaamisia pelaajan suorituskyvyn, sijainnin tai pelin sisäisten tapahtumien perusteella. Tämä luo reagoivamman ja henkilökohtaisemman pelikokemuksen.

Ympäristöön sopeutuminen

Luo vihollisia, jotka voivat sopeutua ympäristöön, kuten vihollisia, jotka voivat lentää, uida tai kiivetä seinille. Tämä monipuolisuus avaa uusia pelimahdollisuuksia ja haastaa pelaajat navigoimaan eri maastoissa.

Vihollisen heikkoudet ja vastustavat

Määritä vihollisille tiettyjä heikkouksia ja vastustuksia rohkaisemalla pelaajia kokeilemaan erilaisia ​​lähestymistapoja ja taktiikoita. Jotkut viholliset voivat olla haavoittuvia tietyille hyökkäyksille tai elementeille, kun taas toiset ovat immuuneja tai vastustuskykyisiä.

Vihollisen räätälöinti ja käyttäytymisen vaihtelut

Lisää arvaamattomuutta antamalla vihollisille satunnaistettuja käyttäytymismuunnelmia. Esimerkiksi vihollisella voi olla erilaiset hyökkäysmallit tai liikenopeudet eri pelikierroksissa, mikä pitää pelin tuoreena ja toistettavana.

Useiden näiden lisäominaisuuksien sisällyttäminen voi rikastuttaa pelisi vihollisen suunnittelua, jolloin jokainen kohtaaminen on ainutlaatuinen ja ikimuistoinen pelaajille.

Muista, että vaikka uuden mekaniikan esittely voi olla jännittävää, on ratkaisevan tärkeää säilyttää tasapaino ja johdonmukaisuus pelisi yleisessä suunnittelussa.

Parhaat käytännöt vihollisten luomiseen

Kun luot vihollisia Godot-pelissäsi, harkitse seuraavia parhaita käytäntöjä:

Selkeä visuaalinen viestintä

Käytä erillisiä vihollisia, jotka erottuvat ympäristöstä, jotta viholliset ovat helposti tunnistettavissa.

Harkitse värikoodauksen tai ainutlaatuisten siluettien käyttöä vihollistyypit erottamiseksi. Varmista, että vihollisen animaatiot ja visuaaliset tehosteet vahvistavat heidän käyttäytymistään ja hyökkäyksiään.

Tasapainotusvaikeus

Esittele vihollisia asteittain entistä monimutkaisemmiksi pelaajan edetessä pelin aikana. Testaa vihollisen kohtaamisia eri tasoisten pelaajien kanssa varmistaaksesi, että haasteet sopivat kaikille pelaajille. Vältä äkillisiä vaikeuspiikkejä, jotka voivat turhauttaa pelaajat.

Halvojen laukausten välttäminen

Suunnittele vihollisia hyökkäyksillä, joita pelaaja voi väistää tai estää antamalla heille mahdollisuuden reagoida. Käytä reilua osumalaatikkoa vihollisten hyökkäyksiin ja vältä hyökkäyksiä, jotka osuvat heidän visuaalisen esityksensä ulkopuolelle. Käytä varoitusmerkkejä tai vihjeitä vaarallisista hyökkäyksistä.

Pelitestaus ja iteraatio

Testaa säännöllisesti vihollisen kohtaamisia kehityksen aikana arvioidaksesi niiden hauskuutta ja vaikeutta. Kerää palautetta pelaajilta ja käytä sitä vihollisen käyttäytymisen, vahvuuksien ja heikkouksien hienosäätämiseen.

Ääniefektit

Äänitehosteilla on ratkaiseva rooli mukaansatempaavan ja kiehtovan peliympäristön luomisessa. Kun vihollinen iskee, lisää sopiva tekijänoikeusvapaat äänitehosteet vahvistaa vaikutuksen ja taisteluun osallistumisen tunnetta.

Pelisi voi täydentää jokaista iskua tai lyöntiä erillisillä äänivihjeillä, jotka vastaavat hyökkäyksen tyyppiä ja vihollisen ominaisuuksia.

Tee Godot-peleistä houkuttelevampia vihollisten kanssa

Viholliset ovat olennainen osa monissa peleissä, ja ne tarjoavat haasteita, esteitä ja onnistumisen tunteen voitettuaan. Lisäämällä erilaisia ​​vihollisia, joilla on erilainen käyttäytyminen, terveyspisteet ja ammuntamekaniikka, voit luoda pelaajille monipuolisia ja mukaansatempaavia pelikokemuksia.

Muista tasapainottaa vaikeusaste, tarjota visuaalista ja kuulollista palautetta ja testata vihollisesi perusteellisesti tarjotaksesi pelaajille nautinnollisen ja palkitsevan pelikokemuksen.