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.
Liitä seuraava GDScript-koodi Pelaaja solmu perusliikkeen mahdollistamiseksi:
extends KinematicBody2D
const SPEED = 200
func _physics_process(delta):
var motion = Vector2.ZEROif Input.is_action_pressed("ui_right"):
motion.x += SPEEDif Input.is_action_pressed("ui_left"):
motion.x -= SPEEDif Input.is_action_pressed("ui_down"):
motion.y += SPEEDif 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.ZEROfunc _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.0var move_timer = 0.0
var move_interval = 0.0
var move_direction = Vector2.ZEROfunc _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 -= deltaif 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.