Paranna pelikokemustasi Godotissa sisällyttämällä siihen terveys- ja vahinkojärjestelmä.
Terveys- ja vahinkojärjestelmä antaa pelaajille mahdollisuuden tehdä vahinkoja ja menettää terveyspisteitä, kun he kohtaavat esteitä tai vihollisia. Sen avulla he voivat myös palauttaa terveyden useilla eri tavoilla, kuten tehostuksilla tai terveyspakkauksilla.
Godot, suosittu avoimen lähdekoodin pelimoottori, tarjoaa suoraviivaisen ja joustavan lähestymistavan tällaisten järjestelmien toteuttamiseen. Voit helposti luoda 2D-pelin, jossa on pelaajahahmo, vihollinen ja terveyspalkki, joka edustaa visuaalisesti pelaajan terveyttä.
Godot-pelin perustaminen
Määritä ensin projektin perusrakenne Godot-pelimoottori ja luo tarvittavat solmut.
Tässä artikkelissa käytetty koodi on saatavilla tässä GitHub-arkisto ja sen käyttö on ilmaista MIT-lisenssin alaisena.
Luo uusi kohtaus pelaajahahmolle. Lisää KinematicBody2D solmu ja lisää sen sisään a CollisionShape2D suorakaiteen muotoinen edustamaan pelaajan hitboxia. Kiinnitä a Sprite solmu KinematicBody2D näyttääksesi pelaajan hahmon.
# Player.gd
extends KinematicBody2Dconst SPEED = 200
var velocity = Vector2.ZERO
var health = 100func _physics_process(delta):
velocity.x = 0
velocity.y = 0if Input.is_action_pressed("ui_right"):
velocity.x += SPEED
elif Input.is_action_pressed("ui_left"):
velocity.x -= SPEEDif Input.is_action_pressed("ui_down"):
velocity.y += SPEED
elif Input.is_action_pressed("ui_up"):
velocity.y -= SPEED
move_and_collide(velocity * delta)
Nyt sinulla on peruspelaajahahmo Godot-projektissasi. Voit siirtää soitinta nuolinäppäimillä, mutta terveysjärjestelmää ei ole vielä käytössä.
Terveyspalkin käyttöliittymäelementtien suunnittelu
Nyt voit lisätä käyttöliittymäelementtejä edustamaan visuaalisesti pelaajan terveyttä. Godot tarjoaa sisäänrakennetun ohjauksen nimeltä TextureProgress joka toimii hyvin tähän tarkoitukseen.
Luo uusi solmu HUD: lle (heads-up-näyttö). Lisää CanvasLayer solmu ja lisää sen sisään a TextureProgress solmu. Mukauta ulkoasua TextureProgress node pelisi tyylin ja teeman mukaan.
Voit näyttää kuntopalkin käyttämällä TextureProgress HUD: ssa sinun on määritettävä sille pintakuvio. TextureProgress käyttää kahta pintakuviota: yhtä taustalle ja toista täytetylle osalle (edistyminen).
Etsi Tarkastaja-paneelista Rakenne osio. Alla Rakenne, löydät kiinteistöjä nimeltä Alla ja Yli. Klikkaa Ladata -painiketta jokaiselle ominaisuudelle ja valitse vastaavat kuvat.
Liitä skripti HUD-kohtaukseen päivittääksesi kuntopalkin pelaajan terveydentilan perusteella:
# HUD.gd
extends CanvasLayeronready var healthBar := $TextureProgress
func _ready():
update_health_bar()
func update_health_bar():
var hb = get_parent().get_node("KinematicBody2D")
healthBar.value = hb.health
Pelaajien terveyden hoitaminen
Jos haluat heikentää pelaajan terveyttä, kun hän ylittää näytön rajan, voit lisätä a ehdollinen tarkistus if-lauseella. Jos pelaaja menee näytön ulkopuolelle, voit heikentää hänen terveyttään. Voit saavuttaa tämän seuraavasti:
# player.gd
extends KinematicBody2Dconst SPEED = 200
const DAMAGE_AMOUNT = 0.1var velocity = Vector2.ZERO
var health = 100# Screen boundaries
var screen_size
var margin = 20func _ready():
screen_size = get_viewport_rect().sizefunc _physics_process(delta):
#... (existing movement code)
move_and_collide(velocity * delta)var c1 = position.x < -margin
var c2 = position.x > screen_size.x + margin
var c3 = position.y < -margin
var c4 = position.y > screen_size.y + margin# Check if the player is outside the screen boundaries
if c1 or c2 or c3 or c4:
take_damage_on_screen_exit()
func take_damage_on_screen_exit():
health -= DAMAGE_AMOUNT
if health <= 0:
health = 0
# Game over logic here
update_health_ui()
Lisää update_health_ui() toimintoa player.gd skripti kutsuaksesi HUD-skriptin ja päivittääksesi kuntopalkin.
# Player.gd
extends KinematicBody2D#... (other code)
func update_health_ui():
var hud = get_parent().get_node("HUD")
if hud:
hud.update_health_bar()
Näillä muutoksilla soitin vaurioituu nyt, kun se ylittää näytön rajan, ja kuntopalkin käyttöliittymä päivittyy vastaavasti.
Sisältää lisäominaisuuksia
Terveys- ja vahinkojärjestelmää voidaan laajentaa erilaisilla lisäominaisuuksilla pelikokemuksen parantamiseksi. Jotkut ideat sisältävät:
Terveysmikit
Ota käyttöön terveyshaittoja, joiden avulla pelaaja voi palauttaa terveytensä kerättyään. Terveysmikrot voivat olla keräilyesineitä, joita on hajallaan pelimaailmassa, tai palkintoja vihollisten voittamisesta.
Kun pelaaja on vuorovaikutuksessa terveyden poiminnan kanssa, hänen terveydentilansa pitäisi nousta tietyllä määrällä maksimiarvoon asti. Voit käyttää uutta skriptiä kunnon poiminnalle ja käsitellä törmäys- ja kunnon palautuslogiikkaa.
Voittamattomuuden lisävoimia
Luo lisävoimia, jotka antavat pelaajalle väliaikaisen voittamattomuuden rajoitetun ajan. Kun pelaaja kerää voittamattomuuden lisäyksen, hänestä tulee immuuni vihollisten tai muiden vaarojen aiheuttamille vaurioille.
Ota ajastin käyttöön voittamattomuuden tilan jäljellä olevan keston seuraamiseksi, ja kun ajastin loppuu, pelaaja palaa haavoittuvaiseen tilaan.
Erilaiset viholliset
Suunnittele erilaisia vihollisia, joilla on erilaisia hyökkäysmalleja, vahinkoarvoja ja käyttäytymistä. Jokainen vihollinen voi asettaa pelaajalle ainutlaatuisia haasteita ja vaatia erilaisia strategioita voittaakseen.
Jotkut viholliset voivat esimerkiksi liikkua nopeammin, tehdä enemmän vahinkoa tai niillä voi olla tiettyjä heikkouksia, joita pelaaja voi hyödyntää. Monimuotoisuuden lisääminen vihollisen kohtaamisiin pitää pelin kiinnostavana ja estää sitä muuttumasta yksitoikkoiseksi.
Terveyden palautuminen
Toteuta terveyden elvyttämistä ajan mittaan palkitaksesi pelaajia vahinkojen välttämisestä. Kun pelaaja ei tee vahinkoa tietyn ajan, hänen terveytensä palautuu vähitellen tiettyyn kynnykseen.
Varmista kuitenkin, että regeneraationopeus on tasapainossa, jotta vältytään tilanteilta, joissa pelaaja voi vain odottaa terveytensä toipumista täysin ilman haasteita.
Ääni- ja visuaalinen palaute
Anna vakuuttavaa ääni- ja visuaalista palautetta, kun pelaaja vahingoittaa, palauttaa terveyden tai kukistaa viholliset.
Vaikuttava tekijänoikeusvapaat äänitehosteet, näytön tärinä, hiukkastehosteet ja visuaaliset vihjeet voivat parantaa soittimen uppoamista ja saada terveys- ja vahinkojärjestelmän tuntumaan dynaamisemmalta ja kiinnostavammalta.
Muista ottaa huomioon lisäämiesi lisäominaisuuksien yleinen tasapaino. Jatka pelitestausta ja palautteen keräämistä varmistaaksesi, että peli pysyy haastavana, nautinnollisena ja hyvässä tahdissa koko pelin ajan.
Tee Godot-peleistä houkuttelevampia terveys- ja vahinkojärjestelmän kanssa
Terveys- ja vahinkojärjestelmän integroiminen Godot-peliisi lisää syvyyttä ja haastetta, mikä tekee pelaamisesta kiinnostavampaa. Se esittelee riski-palkkio-elementin, koska pelaajien on strategioita ja hallittava terveyttään tehokkaasti edistyäkseen pelissä.
Lisäksi terveyspalkin visuaalinen esitys antaa pelaajille tärkeää palautetta heidän nykyisestä tilastaan, mikä parantaa heidän uppoutuneisuuttaan.