Sukurkite progreso ir iššūkio pojūtį įtraukdami į savo žaidimus įvairius lygius.
Lygių kūrimas yra labai svarbus žaidimo dizaino aspektas, galintis žymiai padidinti bendrą žaidimo patrauklumą. Lygiai suteikia struktūrą ir iššūkius, kurie padeda žaidėjams įsitraukti ir motyvuoti progresuoti žaidime.
Kruopščiai kurdami gerai suplanuotus lygius, galite sukurti labiau įtraukiančius ir malonesnius savo žaidėjų patirtį. Nesvarbu, ar esate pradedantysis, ar patyręs žaidimų kūrėjas, „Godot“ leidžia lengvai sukurti patrauklius lygius, kurie leis žaidėjams sugrįžti ir daugiau.
„Godot“ žaidimo nustatymas
Prieš pradedant kurti lygius, būtina nustatyti 2D žaidimo projektą Godot žaidimų variklis.
Šiame straipsnyje naudojamas kodas pateikiamas čia GitHub saugykla ir jūs galite nemokamai naudotis pagal MIT licenciją.
Sukurkite naują sceną ir pridėkite a Node2D mazgas kaip šakninis mazgas. Tai bus visų kitų jūsų scenos mazgų konteineris. Dabar, kai jūsų projektas parengtas, laikas įtraukti žaidėjo personažą į sceną.
Sukurkite naują sceną dešiniuoju pelės mygtuku spustelėdami skydelį Scena ir pasirinkdami Nauja scena. Pridėti CharacterBody2D mazgas, vaizduojantis žaidėjo charakterį. The CharacterBody2D mazgas suteikia integruotas 2D simbolių judėjimo ir susidūrimo aptikimo funkcijas.
Viduje CharacterBody2D mazgas, pridėkite a CollisionShape2D stačiakampio formos mazgas ir a Sprite mazgas, atspindintis žaidėjo išvaizdą.
Sukūrę žaidėjo personažą ir jo vaizdinius elementus, dabar galite susitelkti ties pirmojo lygio kūrimu.
Sukurkite du lygius
Norėdami sukurti lygius Godot, galite naudoti scenos failus (.tscn) kiekvienam lygiui pavaizduoti atskirai. Naudodami du lygius galite įgyvendinti unikalius išdėstymus ir judančias platformas.
Žaidėjo kodas
The CharacterBody2D scenarijus yra atsakingas už žaidėjo judėjimo valdymą pagal vartotojo įvestį. Pateiktame GDScript galite apskaičiuoti judėjimo kryptį pagal klavišų paspaudimus ir atitinkamai nustatyti grotuvo greitį.
Žaidėjo greitis lemia, kaip greitai jie juda, ir judėti_ir_susidurti funkcija rūpinasi susidūrimo aptikimu.
extends CharacterBody2D
var speed = 300
func _physics_process(delta):
var input_dir = Vector2.ZEROif Input.is_action_pressed("ui_left"):
input_dir.x -= 1if Input.is_action_pressed("ui_right"):
input_dir.x += 1if Input.is_action_pressed("ui_up"):
input_dir.y -= 1if Input.is_action_pressed("ui_down"):
input_dir.y += 1
velocity = input_dir.normalized() * speed
move_and_collide(velocity * delta)
Platformos kodas
The Platforma scenarijus pratęsiamas StaticBody2D, o tai reiškia, kad platforma nejudės, nebent jai pritaikysite judesį. Tokiu atveju galite naudoti judėjimo greitis kintamasis, skirtas valdyti platformos judėjimo greitį.
Platforma juda pirmyn ir atgal horizontaliai nurodytame diapazone (šiame pavyzdyje nuo 100 iki 400 vienetų). Pasiekęs kraštą, jis pakeičia judėjimo kryptį.
# Platform Movement
extends StaticBody2Dconst 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
Naudodami šiuos scenarijus galite sukurti įdomių platformų judėjimo modelių ir sukurti patrauklų žaidimo patirtį jūsų platformingo žaidimai.
Lygių sujungimas
Įprastame žaidime norėsite, kad žaidėjai sklandžiai pereitų iš vieno lygio į kitą. Norėdami tai padaryti, įdiekite Level Manager scenarijų, kuris apdoroja lygių perjungimą, kai grotuvas kerta ekrano sieną.
The Lygio vadovas scenarijus seka esamo lygio numerį ir ekrano dydį. Per jį įkeliamas pradinis lygis (1 lygis). _ready (). The apkrovos_lygis funkcija paima lygio numerį kaip įvestį, sukuria kelią į atitinkamą scenos failą ir sukuria lygio sceną.
Pridėkite naują lygį kaip vaikas Lygio vadovas; tai veiksmingai pakeis esamą lygį.
extends Node2D
var level_number = 1
var screen_size = Vector2()
var is_switching_level = falsefunc _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 = falsefunc switch_level():
if is_switching_level:
returnis_switching_level = true
level_number += 1if 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.positionif 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 = 0get_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()
Įdiegę Lygių tvarkyklę, galite sklandžiai pereiti tarp lygių ir išlaikyti žaidėjo duomenis skirtinguose lygiuose, užtikrindami sklandžią žaidimo patirtį.
Įskaitant papildomas funkcijas
Kurdami lygius galite pridėti įvairių funkcijų į savo žaidimą, todėl žaidėjai bus patrauklesni ir įdomesni.
Kolekcionuojami daiktai
Pridėkite kolekcinių daiktų, pvz., monetų, žvaigždžių ar raktų, kuriuos žaidėjai gali surinkti norėdami atrakinti naujas sritis arba gauti apdovanojimų. Kolekcionuojami daiktai skatina tyrinėti ir suteikia žaidimo iššūkių.
Priešai
Pristatykite priešus, turinčius skirtingą elgesį ir judėjimo modelius. Priešai sukuria kliūtis, kurias žaidėjas turi įveikti, pridedant žaidimui strategijos ir azarto.
Sustiprinimai
Įtraukite jėgų, kurios laikinai padidina žaidėjo sugebėjimus, pvz., padidina greitį, nenugalimumą ar patobulintas atakas. Papildymai suteikia galios akimirkų ir gali padėti žaidėjams įveikti sudėtingas atkarpas.
Galvosūkiai
Sukurkite galvosūkio elementus, kuriuos žaidėjai turi išspręsti, kad pasiektų lygį. Dėlionės žaidimui suteikia smegenų aspekto ir gali priversti žaidėjus jaustis pasiekusiais, kai juos sugalvoja.
Į savo lygius įtraukę šias papildomas funkcijas galite sukurti turtingą ir įvairią žaidimų patirtį, kuri sužavės žaidėjus ir leis jiems pasinerti į jūsų žaidimų pasaulį.
Geriausia lygių kūrimo praktika
Kurdami lygius, atsižvelgdami į tam tikrą geriausią praktiką, galite užtikrinti gerai sukurtą ir malonią žaidėjų patirtį:
Pusiausvyros sunkumas
Visuose lygiuose palaikykite sklandžią sunkumų kreivę. Palaipsniui didinkite iššūkius, kad žaidėjai įsitrauktų ir jų neįveiktumėte. Palaipsniui pristatykite naują mechaniką ir iššūkius, leisdami žaidėjams prisitaikyti ir mokytis.
Skatinkite tyrinėjimą
Kurkite lygius su paslėptais takais, paslaptimis ir pasirenkamomis sritimis, kurias žaidėjai gali tyrinėti. Tyrinėjimas apdovanoja žaidėjus premijomis, kolekcionuojamais daiktais ar nuorodomis, o tai suteikia žaidimo gilumo.
Testavimas ir iteracija
Išbandykite savo lygius plačiai nustatyti bet kokias problemas, klaidas ar disbalansą. Pakartokite lygio dizainą pagal žaidėjų atsiliepimus, kad pagerintumėte bendrą patirtį.
Vaizdai ir garsas
Atkreipkite dėmesį į savo lygių vaizdo ir garso aspektus. Įtraukianti grafika ir garso efektai be autorių teisių gali labai prisidėti prie žaidimo atmosferos ir panardinimo.
Lygio srautas
Užtikrinkite, kad lygio srautas būtų sklandus ir logiškas. Nukreipkite žaidėjus per lygį naudodami aiškias vaizdines užuominas ir venkite aklavietės ar painių išdėstymų.
Laikydamiesi šios geriausios praktikos, galite sukurti lygius, kuriuos ne tik malonu žaisti, bet ir gerai suplanuotus bei suderintus jūsų žaidimo kontekste.
Lygiai padaro jūsų Godot žaidimus patrauklesnius
Lygiai atlieka pagrindinį vaidmenį, kad Godot žaidimai būtų patrauklesni žaidėjams. Gerai suplanuoti lygiai suteikia progreso, pasiekimų ir tyrinėjimų pojūtį, viliojantį žaidėjus tęsti žaidimą.
Suprasdami lygių projektavimo principus, išnaudodami Godot galimybes ir įgyvendindami papildomų funkcijų, galite sukurti lygius, kurie sužavės žaidėjus ir pakels jūsų žaidimą į naują aukščių.