Radiet progresa un izaicinājuma sajūtu, pievienojot savām spēlēm dažādus līmeņus.

Līmeņu izveide ir būtisks spēles dizaina aspekts, kas var ievērojami uzlabot jūsu spēles vispārējo pievilcību. Līmeņi nodrošina struktūru un izaicinājumus, kas ļauj spēlētājiem iesaistīties un motivēt progresēt jūsu spēlē.

Rūpīgi izstrādājot labi izstrādātus līmeņus, varat saviem spēlētājiem radīt aizraujošāku un patīkamāku pieredzi. Neatkarīgi no tā, vai esat iesācējs vai pieredzējis spēļu izstrādātājs, Godot ļauj viegli izveidot valdzinošus līmeņus, kas ļaus spēlētājiem atgriezties vēl vairāk.

Godota spēles iestatīšana

Pirms sākat veidot līmeņus, ir svarīgi iestatīt savu 2D spēles projektu Godot spēļu dzinējs.

Šajā rakstā izmantotais kods ir pieejams šajā GitHub repozitorijs un to varat izmantot bez maksas saskaņā ar MIT licenci.

Izveidojiet jaunu ainu un pievienojiet a Node2D mezglu kā saknes mezglu. Tas kalpos kā konteiners visiem citiem jūsu ainas mezgliem. Tagad, kad jūsu projekts ir iestatīts, ir pienācis laiks pievienot spēlētāja tēlu ainai.

instagram viewer

Izveidojiet jaunu ainu, ar peles labo pogu noklikšķinot uz paneļa Scene un atlasot Jauna aina. Pievienojiet a CharacterBody2D mezgls, lai attēlotu spēlētāja raksturu. The CharacterBody2D mezgls nodrošina iebūvētas funkcijas kustības un sadursmes noteikšanai 2D rakstzīmēm.

Iekšpusē CharacterBody2D mezglu, pievienojiet a CollisionShape2D mezgls ar taisnstūra formu un a Sprite mezgls, kas attēlo spēlētāja izskatu.

Kad ir iestatīts spēlētāja tēls un tā vizuālie elementi, tagad varat koncentrēties uz sava pirmā līmeņa izveidi.

Izveidojiet divus līmeņus

Lai izveidotu līmeņus programmā Godot, varat izmantot sižetu failus (.tscn), lai attēlotu katru līmeni atsevišķi. Izmantojot divus līmeņus, varat ieviest unikālus izkārtojumus un kustīgas platformas.

Spēlētāja kods

The CharacterBody2D skripts ir atbildīgs par atskaņotāja kustību, pamatojoties uz lietotāja ievadi. Sniegtajā GDScript varat aprēķināt kustības virzienu, pamatojoties uz taustiņu nospiešanu, un attiecīgi iestatīt atskaņotāja ātrumu.

Spēlētāja ātrums nosaka, cik ātri viņi pārvietojas, un pārvietot_un_sadurties funkcija rūpējas par sadursmes noteikšanu.

extends CharacterBody2D

var speed = 300

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

if Input.is_action_pressed("ui_left"):
input_dir.x -= 1

if Input.is_action_pressed("ui_right"):
input_dir.x += 1

if Input.is_action_pressed("ui_up"):
input_dir.y -= 1

if Input.is_action_pressed("ui_down"):
input_dir.y += 1

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

Platformas kods

The Platforma skripts paplašinās StaticBody2D, kas nozīmē, ka platforma nepārvietosies, ja vien tai nepieliekat kādu kustību. Šajā gadījumā varat izmantot kustības_ātrums mainīgais, lai kontrolētu platformas kustības ātrumu.

Platforma pārvietojas uz priekšu un atpakaļ horizontāli norādītajā diapazonā (šajā piemērā no 100 līdz 400 vienībām). Kad tas sasniedz malu, tas maina kustības virzienu.

# Platform Movement
extends StaticBody2D

const move_speed = 100
var move_direction = Vector2(1, 0)

func _physics_process(delta):
var platform_movement = move_direction * move_speed * delta
translate(platform_movement)

# Change direction when reaching the edge of the platform's path
if position.x > 400or position.x < 100:
move_direction *= -1

Izmantojot šos skriptus, varat izveidot interesantus kustību modeļus platformām un izveidot aizraujošu spēles pieredzi jūsu platformera spēles.

Savienojošie līmeņi

Parastā spēlē jūs vēlaties, lai spēlētāji nemanāmi pāriet no viena līmeņa uz citu. Lai to izdarītu, ieviesiet līmeņa pārvaldnieka skriptu, kas apstrādā līmeņu pārslēgšanu, kad atskaņotājs šķērso ekrāna robežu.

The Līmeņa vadītājs skripts seko pašreizējā līmeņa numuram un ekrāna izmēram. Tas ielādē sākotnējo līmeni (1. līmeni) laikā _gatavs(). The slodzes_līmenis funkcija izmanto līmeņa numuru kā ievadi, izveido ceļu uz atbilstošo ainas failu un izveido līmeņa ainu.

Pievienot jaunu līmeni kā bērns Līmeņa vadītājs; tas efektīvi mainīs pašreizējo līmeni.

extends Node2D

var level_number = 1
var screen_size = Vector2()
var is_switching_level = false

func _ready():
screen_size = get_viewport_rect().size
load_level(level_number)

func load_level(level):
var level_path = "res://Level" + str(level) + ".tscn"
var level_scene = load(level_path)
var level_instance = level_scene.instantiate()
add_child(level_instance)
is_switching_level = false

func switch_level():
if is_switching_level:
return

is_switching_level = true
level_number += 1

if level_number > 2:
level_number = 1

# Assuming the player node is named "Player"
var player = get_node("Node2D/Player")

if player:
var player_position = player.position

if player_position.x < 0:
player.position.x = screen_size.x
elif player_position.x > screen_size.x:
player.position.x = 0
elif player_position.y < 0:
player.position.y = screen_size.y
elif player_position.y > screen_size.y:
player.position.y = 0

get_node("Node2D").queue_free()
load_level(level_number)

func _process(delta):
# Check if the player crosses the screen boundary
# Assuming the player node is named "Player"
var player = get_node("Node2D/Player")

if player:
var player_position = player.position
var condition1 = player_position.x < 0
var condition2 = player_position.x > screen_size.x
var condition3 = player_position.y < 0
var condition4 = player_position.y > screen_size.y

if condition1 or condition2 or condition3 or condition4 :
switch_level()

Ieviešot līmeņa pārvaldnieku, jūs varat nemanāmi pārslēgties starp līmeņiem un uzturēt spēlētāju datus dažādos līmeņos, nodrošinot vienmērīgu spēļu pieredzi.

Ieskaitot papildu funkcijas

Līmeņu izveide ļauj savai spēlei pievienot dažādas funkcijas, padarot to spēlētājiem saistošāku un aizraujošāku.

Kolekcionējamie priekšmeti

Pievienojiet kolekcionējamus priekšmetus, piemēram, monētas, zvaigznes vai atslēgas, ko spēlētāji var savākt, lai atbloķētu jaunas zonas vai saņemtu balvas. Kolekcionējamie priekšmeti veicina izpēti un piešķir spēlei izaicinājumu.

Ienaidnieki

Iepazīstiniet ienaidniekus ar dažādu uzvedību un kustību modeļiem. Ienaidnieki rada šķēršļus, kas spēlētājam jāpārvar, pievienojot spēlei stratēģiju un aizrautību.

Jaudas palielinājumi

Iekļaujiet spēkus, kas īslaicīgi uzlabo spēlētāja spējas, piemēram, palielinātu ātrumu, neuzvaramību vai uzlabotus uzbrukumus. Papildinājumi sniedz iespēju brīžus un var palīdzēt spēlētājiem pārvarēt sarežģītas sadaļas.

Puzles

Izstrādājiet mīklas elementus, kas spēlētājiem ir jāatrisina, lai sasniegtu līmeni. Puzles piešķir spēlei cerebrālu aspektu un var likt spēlētājiem justies paveiktiem, kad viņi tās izdomā.

Iekļaujot šīs papildu funkcijas savos līmeņos, jūs varat izveidot bagātīgu un daudzveidīgu spēļu pieredzi, kas aizrauj spēlētājus un ļauj viņiem iegrimt jūsu spēļu pasaulē.

Līmeņu izveides paraugprakse

Veidojot līmeņus, paturot prātā noteiktu paraugpraksi, spēlētājiem var nodrošināt labi izstrādātu un patīkamu pieredzi.

Līdzsvara grūtības

Saglabājiet vienmērīgu grūtību līkni visos līmeņos. Pakāpeniski palieliniet izaicinājumus, lai spēlētāji būtu iesaistīti, nepārslogojot viņus. Pakāpeniski ieviesiet jaunu mehāniku un izaicinājumus, ļaujot spēlētājiem pielāgoties un mācīties.

Veiciniet izpēti

Izstrādājiet līmeņus ar slēptiem ceļiem, noslēpumiem un izvēles zonām, ko spēlētāji var izpētīt. Izpēte atalgo spēlētājus ar bonusiem, kolekcionējamiem priekšmetiem vai saīsnēm, piešķirot spēlei dziļumu.

Testēšana un iterācija

Spēlējiet plaši pārbaudiet savus līmeņus lai identificētu visas problēmas, kļūdas vai nelīdzsvarotību. Atkārtojiet līmeņa dizainu, pamatojoties uz spēlētāju atsauksmēm, lai uzlabotu vispārējo pieredzi.

Vizuālie materiāli un audio

Pievērsiet uzmanību sava līmeņa vizuālajiem un audio aspektiem. Iesaistoša grafika un skaņas efekti, uz kuriem neattiecas autortiesības, var ievērojami veicināt spēles atmosfēru un iedziļināšanos.

Līmeņa plūsma

Pārliecinieties, ka līmeņa plūsma ir vienmērīga un loģiska. Vadiet spēlētājus pa līmeni ar skaidriem vizuāliem norādījumiem un izvairieties no strupceļiem vai mulsinoša izkārtojuma.

Ievērojot šo labāko praksi, jūs varat izveidot līmeņus, kas ir ne tikai patīkami spēlēt, bet arī labi izstrādāti un saskaņoti jūsu spēles kontekstā.

Līmeņi padara jūsu Godot spēles saistošākas

Līmeņiem ir galvenā loma, lai padarītu Godot spēles saistošākas spēlētājiem. Labi izstrādāti līmeņi nodrošina progresa, sasniegumu un izpētes sajūtu, vilinot spēlētājus turpināt spēlēt.

Izprotot līmeņu dizaina principus, izmantojot Godo iespējas un ieviešot papildu funkcijas, jūs varat izveidot līmeņus, kas aizrauj spēlētājus un paaugstina jūsu spēli uz jaunu augstumi.