Přidejte pobídky pro hlavní cestu vaší hry nebo vedlejší úkoly s odměňujícími sběratelskými předměty.

Přidání vylepšení a sběratelských předmětů do vaší hry Godot může výrazně vylepšit hráčský zážitek, takže bude poutavější a vzrušující. Power-ups mohou hráči poskytnout speciální schopnosti nebo dočasné výhody, zatímco sběratelské předměty mohou sloužit jako odměny, zvyšující skóre hráče nebo poskytující další výhody.

Naštěstí je vytváření vylepšení a sběratelských předmětů v Godotovi přímočaré díky intuitivnímu skriptovacímu jazyku a vestavěnému fyzikálnímu enginu.

Nastavení hry Godot

Chcete-li začít, vytvořte 2D hru herní engine Godot a nastavte postavu hráče. Vytvořte novou scénu a přidejte a CharacterBody2D uzel. Uvnitř CharacterBody2D, přidat CollisionShape2D s obdélníkovým tvarem reprezentujícím oblast střetu hráče a a Sprite2D pro zobrazení postavy hráče.

Kód pro toto demo je k dispozici v něm úložiště GitHub a můžete jej používat zdarma pod licencí MIT.

Nyní napište kód GDScript, který zvládne pohyb přehrávače a kolize s hranicemi obrazovky. Zde je kompletní kód pro pohyb hráče:

instagram viewer

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)

Tento kód umožňuje hráči pohybovat se doleva, doprava, nahoru a dolů pomocí kláves se šipkami. Zajišťuje také, že se hráč nepohybuje příliš rychle normalizací vektoru rychlosti a použitím faktoru rychlosti.

Navíc vytvářejte nepřátelské objekty s jejich vlastními kolizními oblastmi a skřítky. Chcete-li zvládnout pohyb nepřítele, můžete použít podobný _fyzikální_proces fungovat jako přehrávač.

Vytváření sběratelských předmětů

Sběratelské předměty jsou nezbytné v mnoha hrách a běžným typem jsou mince. Vytvořte sběratelskou minci, která při sebrání zvýší skóre hráče o 20 bodů.

Nejprve vytvořte novou scénu a přidejte ji Oblast 2D uzel jako sběratelská mince. Uvnitř Oblast 2D, přidat CollisionShape2D s kruhovým tvarem reprezentujícím oblast kolize a a Sprite2D k zobrazení mince.

Dále přidejte do skriptu přehrávače následující kód GDScript:

extends CharacterBody2D

var score = 0

func _on_area_2d_body_entered(body):
get_parent().get_node("Collectibles").queue_free()
score += 20

Tento kód používá _on_area_2d_body_entered signál, který detekuje, kdy hráčská postava vstoupí do oblasti střetu sběratelské mince. Pokud detekuje postavu hráče, sesbírá minci (výzva k queue_free() odstraní ho ze scény) a zvýší své skóre o 20 bodů.

Vytváření Power-Ups

Vylepšení mohou přidat do vaší hry vzrušení tím, že hráči poskytnou dočasné výhody nebo schopnosti. Vytvořte power-up, který po shromáždění aktivuje 10sekundový časovač. Pokud se hráč během této doby dotkne nepřítele, zničí nepřítele.

Chcete-li vytvořit vylepšení, vytvořte novou scénu a přidejte Oblast 2D uzel. Uvnitř Oblast 2D, přidat CollisionShape2D s obdélníkovým tvarem a Sprite2D pro zobrazení zapnutí.

Nyní přidejte do skriptu přehrávače následující kód:

extends CharacterBody2D

var timer_duration = 10
var power_up_active = false

func _on_powerups_body_entered(body):
get_parent().get_node("Powerups").queue_free()
power_up_active = true

# Start the timer
await get_tree().create_timer(10.0).timeout
power_up_active = false

func _on_enemy_body_entered(body):
if power_up_active:
get_parent().get_node("Enemy").queue_free()
else:
queue_free()

Tento kód používá _on_powerups_body_entered signál, který detekuje, kdy hráčská postava sbírá power-up. Když tak učiní, odebere zapnutí ze scény a nastaví power_up_active proměnná na true.

Funkce nakonec spustí používání časovače čekat a create_timer, s trváním 10 sekund. Během této doby, pokud se postava hráče dotkne nepřítele, zničí ho.

Zobrazení shromážděných sběratelských předmětů

Zobrazení počtu sběratelských předmětů, které hráč nasbíral, může přidat pocit úspěchu a pokroku. Chcete-li to provést, začněte vytvořením a Označení uzel a umístěte jej do levého horního rohu obrazovky.

Poté přidejte následující kód GDScript pro aktualizaci textu štítku, kdykoli hráč shromáždí sběratelský předmět:

extends Label

func _ready():
self.text = "Collectibles: 0"

Ve skriptu Player.gd:

extends CharacterBody2D

var bar

func _ready():
bar = get_parent().get_node("Label")

func _physics_process(delta):
bar.text = "Collectibles: " + str(score / 20)

Tento kód aktualizuje text štítku o počet získaných sběratelských předmětů, který můžete vypočítat vydělením skóre hráče 20.

Včetně dalších funkcí

Existují různé další funkce, které můžete přidat do svého systému vylepšení a sběratelských předmětů, abyste svou hru dále vylepšili. Zde je několik nápadů:

Více úrovní Power-Ups

Místo toho, abyste měli pouze jeden typ vylepšení, můžete zavést různé úrovně vylepšení, které poskytují stále výkonnější schopnosti. Můžete například upgradovat základní zvýšení rychlosti na superrychlé zapnutí, díky kterému bude hráč ještě rychlejší.

Kombinované Power-Ups

Vytvářejte kombinace vylepšení, které nabízejí jedinečné a silné efekty, když je shromáždíte. Povzbuďte hráče, aby strategicky a experimentovali s různými kombinacemi vylepšení pro maximální výhodu.

Omezení power-upů

Implementujte cooldown nebo limit, jak často může hráč sbírat konkrétní power-up. To hráči přidává prvek rozhodování, protože si musí vybrat správný okamžik pro aktivaci power-upu.

Sběratelské odrůdy

Navrhujte různé typy sběratelských předmětů s různými odměnami. Některé sběratelské předměty mohou poskytovat extra životy, dočasné buffy nebo odemykat speciální funkce vaše plošinovka.

Osvědčené postupy pro implementaci vylepšení a sběratelských předmětů

Při implementaci vylepšení a sběratelských předmětů ve hře Godot zvažte následující osvědčené postupy:

Balance a Playtesting

Rozsáhle testujte své vylepšení a sběratelské předměty, abyste se ujistili, že nevytvářejí ve hře nerovnováhu. Upravte efekty a odměny, abyste hráčům poskytli spravedlivý a příjemný zážitek.

Vizuální a zvuková zpětná vazba

Použijte jasné a vizuálně přitažlivé ikony nebo skřítky, které představují vylepšení a sběratelské předměty. Kromě toho zahrňte vhodné zvukové efekty bez autorských práv poskytovat uspokojivou zpětnou vazbu, když je hráči sbírají.

Uživatelské rozhraní (UI)

Navrhněte čisté a intuitivní uživatelské rozhraní, které zobrazuje relevantní informace o vylepšeních a sběratelských předmětech. Ukažte zbývající čas pro aktivní zapnutí, počet nasbíraných sběratelských předmětů a další relevantní podrobnosti.

Konzistence

Ujistěte se, že vylepšení a sběratelské předměty jsou v souladu s celkovým tématem a mechanikou vaší hry. Konzistence v designu a implementaci pomáhá udržovat koherentní herní zážitek.

Uložit a načíst

Pokud vaše hra obsahuje vylepšení nebo sběratelské předměty, které přetrvávají během herních relací, implementujte systém ukládání a načítání, abyste zachovali postup hráče. To zajišťuje bezproblémový zážitek a motivuje hráče k návratu do hry.

Dodržováním těchto osvědčených postupů můžete vytvořit vybroušený a poutavý systém pro vylepšení a sběratelství, který obohatí hratelnost vaší hry Godot a učiní ji pro hráče zábavnější.

Díky vylepšením a sběratelským předmětům budou hry Godot poutavější

Přidání vylepšení a sběratelských předmětů do vaší hry Godot může výrazně zvýšit její zapojení a znovuhratelnost. Power-upy poskytují hráčům vzrušující a dočasné výhody.

Pečlivým navržením a implementací vylepšení a sběratelských předmětů můžete pro své hráče vytvořit pohlcující a zábavnější herní zážitek. Godotova flexibilita a jednoduchost usnadňují vývojářům her vytvářet poutavé vylepšení a sběratelské předměty, které zdokonalují mechaniku a zábavu z jejich hry.