Hold oversikt over spillerens prestasjoner og belønn dem for bestemte milepæler med et enkelt poengsystem.

I ethvert spill er implementering av et poengsystem ikke bare et tilfelle av å holde styr på poeng. Scoring er en grunnleggende funksjon som tilfører dybde, utfordring og en følelse av prestasjon.

Enten du lager et uformelt mobilspill eller et intenst actionfylt eventyr, kan et godt designet scoringssystem være drivkraften bak spillermotivasjon og engasjement.

Sette opp Godot-spillet

Før du dykker inn i scoringssystemet, sett opp et grunnleggende 2D-spill Godot-spillmotoren. Lag en spillerkarakter som kan bevege seg rundt på skjermen. Legg også til noen bevegelige fiender som spilleren kan unngå.

Først oppretter du en ny scene og legger til en CharacterBody2D node som spillerens hoveddel. Inne i CharacterBody2D node, legg til en CollisionShape2D med en rektangulær form for å representere spillerens hitbox. I tillegg legger du til en Sprite2D node for å vise spillerens sprite.

Koden som brukes i denne artikkelen er tilgjengelig i denne

instagram viewer
GitHub-depot og er gratis for deg å bruke under MIT-lisensen.

Skriv nå GDScript-koden for spillerens bevegelse:

extends CharacterBody2D

var speed = 200

func _physics_process(delta):
var velocity = Vector2()

if Input.is_action_pressed('ui_right'):
velocity.x += 1

if Input.is_action_pressed('ui_left'):
velocity.x -= 1

if Input.is_action_pressed('ui_down'):
velocity.y += 1

if Input.is_action_pressed('ui_up'):
velocity.y -= 1

velocity = velocity.normalized() * speed
move_and_collide(velocity * delta)

Denne koden utvider CharacterBody2D node og lar spilleren bevege seg i fire retninger ved hjelp av piltastene.

Deretter legger du til noen bevegelige fiender. For enkelhets skyld, bruk enkel Sprite2D noder som beveger seg horisontalt over skjermen:

extends StaticBody2D

var speed = 100

func _physics_process(delta):
position.x -= speed * delta

if position.x < -100:
position.x = 800

Denne koden skaper en enkel fiende som beveger seg fra høyre til venstre. Tilbakestill posisjonen når den går utenfor skjermen for å skape en illusjon av en kontinuerlig strøm av fiender.

Sett opp et poengsystem

Nå som du har et grunnleggende spilloppsett, legg til scoringssystemet. Lag en global variabel for å holde styr på spillerens poengsum. Du kan plassere dette skriptet på en egen node eller selve spillerkarakteren:

extends CharacterBody2D

var score = 0

func _ready():
score = 0

Poengvariabelen vil fungere som en sentral lagring for spillerens poengsum gjennom hele spillet. Når spilleren utfører handlinger som tjener poeng, øker denne poengvariabelen tilsvarende. Denne implementeringen gjør det enkelt å vise poengsummen på skjermen, oppdatere den under spilling og lagre den for sporing med høy poengsum.

Med poengsystemet satt opp, kan du gå videre til å vise poengsummen på skjermen, spore spillerens høye poengsum og legge til forskjellige funksjoner for å gjøre poengsummen mer engasjerende.

Vis poengsummen

For å vise poengsummen på skjermen, lag en etikettnode og oppdater den med gjeldende poengsum i hver ramme. I scenen legger du til en Merkelapp node og gi den et navn. Deretter legger du til følgende kode for å oppdatere etiketten med poengsummen:

extends CharacterBody2D

var score = 0
var score_label

func _ready():
score_label = get_parent().get_node("Label")
score = 0

func _physics_process(delta):
var velocity = Vector2()
// Player movement code...

# Update score and display
score_label.text = "Score: " + str(score)

Denne koden henter Merkelapp node og oppdaterer teksten med gjeldende poengsum.

Inkludert flere funksjoner

For å gjøre poengsystemet ditt enda mer engasjerende, vurder å implementere noen eller alle disse funksjonene i plattformspillene dine.

Power-ups og bonuser

Lag forskjellige power-ups eller samleobjekter som spillere kan samle under spillingen. Disse power-ups kan gi midlertidige boosts, ekstra poeng eller spesielle evner, og forbedre den generelle opplevelsen.

For eksempel kan en oppgradering av dobbel poengsum doble poengene som er opptjent i en begrenset periode, eller en oppstart av skjold kan gjøre spilleren uovervinnelig i en kort periode.

Combo System

Implementer et kombinasjonssystem som belønner spillere med ekstra poeng for påfølgende handlinger, for eksempel å beseire fiender i rask rekkefølge. Jo lengre kombinasjonskjeden er, jo høyere poengmultiplikator.

Dette systemet oppmuntrer spillere til å opprettholde momentumet og ta ned fiender på en dyktig måte for å maksimere poengsummen deres.

Tidsbonus

Legg til en tidsbasert bonus som belønner spillere for å fullføre nivåer eller mål innen en viss tidsgrense. Jo raskere de fullfører, jo flere bonuspoeng får de. Denne funksjonen oppmuntrer spillere til å spille effektivt og legger til et viktig element i spillingen.

Nivåmål

Design nivåer med spesifikke poengmål eller mål for spillere å oppnå. Du kan for eksempel sette et mål for at spillere skal nå en viss poenggrense eller samle et spesifikt antall gjenstander for å gå videre til neste nivå. Å oppfylle disse målene gir en følelse av prestasjon og progresjon.

Fiendens oppførsel og poengsum

Varier fiendens oppførsel og tildel forskjellige poengverdier til dem basert på vanskelighetsgrad. Mer utfordrende fiender kan belønne høyere poengsummer når de blir beseiret, mens de enklere gir færre poeng. Denne tilnærmingen gir dybde til spillingen og får hvert fiendemøte til å føles distinkt.

Beste praksis for scoringssystem

Det er beste praksis for å forbedre poengsystemets effektivitet og skape en oppslukende spillopplevelse. Noen av dem er:

Balanse og rettferdighet

Sørg for at scoringssystemet er godt balansert og rettferdig for alle spillere. Unngå å gi for mange poeng for enkle oppgaver eller gjøre poengsummen for utfordrende for uformelle spillere. Et balansert scoringssystem vil motivere spillere til å fortsette å spille og strebe etter bedre resultater.

Tydelig tilbakemelding

Gi tydelige og umiddelbare tilbakemeldinger på scoringshendelser. Bruk visuell og lydsignaler i spillet ditt å informere spillere når de tjener poeng, oppnår en høy poengsum eller utløser en kombinasjon. Positiv forsterkning gjennom tilbakemelding forbedrer spilleropplevelsen og holder dem engasjert.

Vanskeligheter med å skalere

Vurder å implementere dynamisk scoring basert på spillerens ferdighetsnivå eller spillets vanskelighetsinnstillinger. Skalering av scoringssystemet lar spillere på alle nivåer nyte spillet, enten de er nybegynnere eller erfarne spillere.

Gjenspillbarhet

Design poengsystemet for å oppmuntre til gjenspillbarhet. Tilby flere veier eller valgfrie mål som spillere kan forfølge for å øke poengsummen deres. Denne tilnærmingen gir spillerne en grunn til å komme tilbake og utforske ulike strategier.

Synlighet med høy poengsum

Vis den høyeste poengsummen fremtredende på hovedmenyen eller grensesnittet i spillet. Å se en høy poengsum motiverer spillere til å sikte mot topplasseringen og skaper sunn konkurranse blant spillerne.

Gjør Godot-spill mer engasjerende med et poengsystem

Å legge til et poengsystem til Godot-spillet ditt er en effektiv måte å gjøre det mer engasjerende og morsomt for spillere. Det gir en klar følelse av progresjon, oppmuntrer til gjenspillbarhet og fremmer sunn konkurranse blant spillere.

Ved å kombinere scoringssystemet med forskjellige andre funksjoner og beste praksis, kan du lage en dynamisk og givende spillopplevelse som holder spillere hekta og glade for å oppnå høyere score.