Ustvarite občutek napredovanja in izziva tako, da svojim igram dodate različne stopnje.

Ustvarjanje ravni je ključni vidik zasnove igre, ki lahko znatno izboljša splošno privlačnost vaše igre. Ravni nudijo strukturo in izzive, ki ohranjajo igralce angažirane in motivirane za napredovanje skozi vašo igro.

S skrbnim oblikovanjem dobro zasnovanih ravni lahko ustvarite bolj poglobljeno in prijetno izkušnjo za svoje igralce. Ne glede na to, ali ste začetnik ali izkušen razvijalec iger, Godot olajša ustvarjanje očarljivih ravni, zaradi katerih se bodo igralci vračali po nove.

Nastavitev igre Godot

Preden začnete ustvarjati nivoje, je bistveno, da nastavite svoj projekt 2D igre Godot Game Engine.

Koda, uporabljena v tem članku, je na voljo tukaj Repozitorij GitHub in je brezplačen za uporabo pod licenco MIT.

Ustvarite novo sceno in dodajte a Node2D vozlišče kot korensko vozlišče. To bo služilo kot vsebnik za vsa druga vozlišča v vaši sceni. Zdaj, ko je vaš projekt nastavljen, je čas, da prizorišču dodate lik igralca.

instagram viewer

Ustvarite novo sceno tako, da z desno miškino tipko kliknete ploščo Scene in izberete Nova scena. Dodaj a CharacterBody2D vozlišče za predstavitev lika igralca. The CharacterBody2D vozlišče nudi vgrajene funkcije za zaznavanje gibanja in trka za 2D-like.

Znotraj CharacterBody2D vozlišče, dodajte a CollisionShape2D vozlišče s pravokotno obliko in a Sprite vozlišče, ki predstavlja igralčev videz.

Z nastavljenim likom igralca in njegovimi vizualnimi elementi se lahko zdaj osredotočite na ustvarjanje svoje prve stopnje.

Ustvarite dve ravni

Za ustvarjanje nivojev v Godotu lahko uporabite datoteke prizorov (.tscn), da predstavlja vsako raven posebej. Z dvema nivojema lahko uvedete edinstvene postavitve in premikajoče se platforme.

Koda igralca

The CharacterBody2D skript je odgovoren za obravnavanje igralčevega gibanja na podlagi uporabniškega vnosa. V priloženem GDScriptu lahko izračunate smer gibanja na podlagi pritiskov tipk in ustrezno nastavite igralčevo hitrost.

Hitrost igralca določa, kako hitro se premika, in premikanje_in_trčenje funkcija skrbi za zaznavanje trka.

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)

Koda platforme

The Platforma skripta se razteza Statično telo2D, kar pomeni, da se platforma ne premakne, razen če jo premaknete. V tem primeru lahko uporabite premikanje_hitrost spremenljivka za nadzor hitrosti premikanja platforme.

Platforma se premika naprej in nazaj vodoravno v določenem območju (100 do 400 enot v tem primeru). Ko doseže rob, obrne smer gibanja.

# 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

Z uporabo teh skriptov lahko ustvarite zanimive gibalne vzorce za platforme in oblikujete privlačne izkušnje igranja vaše platformne igre.

Povezovanje ravni

V tipični igri boste želeli, da igralci nemoteno napredujejo z ene ravni na drugo. Če želite to narediti, implementirajte skript Level Manager, ki obravnava preklapljanje ravni, ko igralec prečka mejo zaslona.

The Upravitelj ravni skript spremlja trenutno številko ravni in velikost zaslona. Med tem naloži začetno raven (raven 1). _pripravljen(). The raven_obremenitve funkcija sprejme številko nivoja kot vhod, ustvari pot do ustrezne datoteke prizora in ustvari primerek prizora nivoja.

Dodajte novo raven kot podrejenega Upravitelj ravni; to bo dejansko preklopilo trenutno raven.

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()

Z uvedbo upravitelja ravni lahko nemoteno prehajate med ravnmi in vzdržujete podatke o igralcih med ravnmi, kar zagotavlja nemoteno igralno izkušnjo.

Vključno z dodatnimi funkcijami

Ustvarjanje nivojev vam omogoča, da svoji igri dodate različne funkcije, zaradi česar je bolj privlačna in vznemirljiva za igralce.

Zbirateljski predmeti

Dodajte zbirateljske predmete, kot so kovanci, zvezdice ali ključi, ki jih lahko igralci zberejo za odklepanje novih območij ali prejemanje nagrad. Zbirateljski predmeti spodbujajo raziskovanje in igranju dodajo plast izziva.

Sovražniki

Predstavite sovražnike z različnimi vedenji in vzorci gibanja. Sovražniki ustvarjajo ovire, ki jih mora igralec premagati, kar igri doda strategijo in razburjenje.

Okrepitve

Vključite okrepitve, ki začasno povečajo igralčeve sposobnosti, kot so večja hitrost, nepremagljivost ali izboljšani napadi. Okrepitve zagotavljajo trenutke opolnomočenja in lahko pomagajo igralcem premagati zahtevne dele.

Uganke

Oblikujte elemente uganke, ki jih morajo igralci rešiti, da napredujejo skozi raven. Uganke igranju dodajo možganski vidik in lahko povzročijo, da se igralci počutijo izpopolnjene, ko jih rešijo.

Z vključitvijo teh dodatnih funkcij v vaše ravni lahko ustvarite bogato in raznoliko igralno izkušnjo, ki očara igralce in jih ohranja potopljene v vaš svet igre.

Najboljše prakse za ustvarjanje ravni

Pri ustvarjanju ravni lahko upoštevanje nekaterih najboljših praks pomaga zagotoviti dobro oblikovano in prijetno izkušnjo za igralce:

Težave z ravnotežjem

Ohranite gladko težavnostno krivuljo na svojih ravneh. Postopoma povečujte izzive, da obdržite igralce, ne da bi jih preobremenili. Postopoma uvajajte nove mehanike in izzive, kar igralcem omogoča prilagajanje in učenje.

Spodbujajte raziskovanje

Oblikujte ravni s skritimi potmi, skrivnostmi in izbirnimi območji, ki jih igralci lahko raziskujejo. Raziskovanje nagrajuje igralce z bonusi, zbirateljskimi predmeti ali bližnjicami, kar igranju doda globino.

Testiranje in ponovitev

Obširno preizkusite svoje ravni za odkrivanje morebitnih težav, napak ali neravnovesij. Ponovite zasnovo ravni na podlagi povratnih informacij igralcev, da izboljšate splošno izkušnjo.

Vizualni in avdio

Bodite pozorni na vizualne in zvočne vidike vaših ravni. Privlačna grafika in zvočni učinki brez avtorskih pravic lahko bistveno prispevajo k vzdušju in poglobitvi vaše igre.

Raven pretoka

Prepričajte se, da je tok nivoja gladek in logičen. Vodite igralce skozi raven z jasnimi vizualnimi znaki in se izogibajte slepim ulicam ali zmedenim postavitvam.

Z upoštevanjem teh najboljših praks lahko ustvarite ravni, ki jih ni le prijetno igrati, ampak so tudi dobro zasnovane in skladne s kontekstom vaše igre.

Ravni naredijo vaše igre Godot bolj privlačne

Ravni igrajo ključno vlogo pri tem, da igre Godot postanejo bolj privlačne za igralce. Dobro zasnovane ravni zagotavljajo občutek napredovanja, dosežkov in raziskovanja ter privabljajo igralce, da nadaljujejo z igro.

Z razumevanjem načel načrtovanja ravni, izkoriščanjem Godotovih zmožnosti in implementacijo dodatne funkcije, lahko oblikujete ravni, ki očarajo igralce in povzdignejo vašo igro na novo višine.