Добавете стимули за основния път на играта или страничните куестове с възнаграждаващи колекционерски предмети.

Добавянето на бонуси и колекционерски предмети към вашата игра Godot може значително да подобри изживяването на играча, правейки го по-ангажиращо и вълнуващо. Усилванията могат да предоставят специални способности или временни предимства на играча, докато колекционерските предмети могат да служат като награди, увеличавайки резултата на играча или предоставяйки други предимства.

За щастие, създаването на бонуси и колекционерски предмети в Godot е лесно, благодарение на неговия интуитивен скриптов език и вградения физически двигател.

Настройване на играта Godot

За да започнете, създайте 2D игра в игровият двигател Godot и настройте героя на играча. Създайте нова сцена и добавете a CharacterBody2D възел. Вътре в CharacterBody2D, добави CollisionShape2D с правоъгълна форма за представяне на зоната на сблъсък на играча и a Sprite2D за показване на характера на играча.

Кодът за тази демонстрация е достъпен в GitHub хранилище и е безплатен за използване под лиценза на MIT.

instagram viewer

Сега напишете кода на GDScript, за да се справите с движението на играча и сблъсъци с границите на екрана. Ето пълния код за движение на играча:

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)

Този код позволява на играча да се движи наляво, надясно, нагоре и надолу с помощта на клавишите със стрелки. Той също така гарантира, че играчът не се движи твърде бързо чрез нормализиране на вектора на скоростта и прилагане на фактор на скоростта.

Освен това създавайте вражески обекти със собствени зони на сблъсък и спрайтове. За да се справите с движението на врага, можете да използвате подобен _физичен_процес функционира като играч.

Създаване на колекционерски предмети

Колекционерските предмети са от съществено значение в много игри, а често срещан тип са монетите. Създайте колекционерска монета, която увеличава резултата на играча с 20 точки, когато бъде събрана.

Първо създайте нова сцена и добавете Площ 2D възел като колекционерска монета. Вътре в Площ 2D, добави CollisionShape2D с кръгла форма за представяне на зоната на сблъсък и a Sprite2D за показване на монетата.

След това добавете следния GDScript код към скрипта на плейъра:

extends CharacterBody2D

var score = 0

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

Този код използва _на_област_2d_тяло_въведено сигнал за откриване, когато персонажът на играча навлезе в зоната на сблъсък на колекционерската монета. Ако открие героя на играча, той събира монетата (обаждането до queue_free() го премахва от сцената) и увеличава резултата си с 20 точки.

Създаване на бонуси

Усилванията могат да добавят вълнение към вашата игра, като предоставят на играча временни предимства или способности. Създайте захранване, което активира 10-секунден таймер, когато бъде събрано. Ако играчът докосне враг в рамките на това време, той ще го унищожи.

За да създадете захранване, направете нова сцена и добавете Площ 2D възел. Вътре в Площ 2D, добави CollisionShape2D с форма на правоъгълник и a Sprite2D за показване на захранването.

Сега добавете следния код към скрипта на вашия плейър:

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

Този код използва _on_powerups_body_entered сигнал за откриване, когато персонажът на играча събира захранването. Когато го направят, той премахва захранването от сцената и задава power_up_active променлива към истина.

Функцията най-накрая стартира таймер, използвайки чакам и create_timer, с продължителност 10 секунди. През това време, ако персонажът на играча докосне враг, той го унищожава.

Показване на събрани колекционерски предмети

Показването на броя колекционерски предмети, които играчът е събрал, може да добави усещане за постижение и напредък. За да направите това, започнете със създаване на a Етикет възел и го позиционирайте в горния ляв ъгъл на екрана.

След това добавете следния GDScript код, за да актуализирате текста на етикета всеки път, когато играчът събира колекционерска стойност:

extends Label

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

На скрипт Player.gd:

extends CharacterBody2D

var bar

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

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

Този код актуализира текста на етикета с броя на получените колекционерски предмети, който можете да изчислите, като разделите резултата на играча на 20.

Включително допълнителни функции

Има различни други функции, които можете да добавите към вашата система за бонуси и колекционерски предмети, за да подобрите играта си допълнително. Ето няколко идеи:

Множество нива на бонуси

Вместо да имате само един тип усилване, можете да въведете различни нива на усилване, които предоставят все по-мощни способности. Например, можете да надстроите основното усилване на скоростта до усилване със супер скорост, което прави играча още по-бърз.

Комбинирани бонуси

Създавайте комбинации от бонуси, които предлагат уникални и мощни ефекти, когато са събрани заедно. Насърчавайте играчите да изготвят стратегия и да експериментират с различни комбинации за увеличаване на мощността за максимално предимство.

Ограничаване на мощностите

Въведете разхлаждане или ограничение за това колко често играчът може да събира конкретно усилване. Това добавя елемент на вземане на решение за играча, тъй като той трябва да избере правилния момент за активиране на захранването.

Колекционерски сортове

Проектирайте различни видове колекционерски предмети с различни награди. Някои колекционерски предмети могат да осигурят допълнителни животи, временни подобрения или да отключат специални функции вашата игра на платформинг.

Най-добри практики за внедряване на бонуси и колекционерски предмети

Когато прилагате бонуси и колекционерски предмети във вашата игра Godot, вземете предвид следните най-добри практики:

Тестване на баланс и игра

Тествайте своите бонуси и колекционерски предмети широко, за да сте сигурни, че не създават дисбаланси в играта. Коригирайте ефектите и наградите, за да осигурите справедливо и приятно изживяване за играчите.

Визуална и аудио обратна връзка

Използвайте ясни и визуално привлекателни икони или спрайтове, за да представите бонуси и колекционерски предмети. Освен това включете подходящи звукови ефекти без авторски права за предоставяне на задоволителна обратна връзка, когато играчите ги събират.

Потребителски интерфейс (UI)

Проектирайте чист и интуитивен потребителски интерфейс, който показва подходяща информация за бонуси и колекционерски предмети. Покажете оставащото време за активни усилвания, броя на събраните колекционерски предмети и всякакви други подходящи подробности.

Последователност

Уверете се, че бонусите и колекционерските предмети са в съответствие с общата тема и механика на вашата игра. Последователността в дизайна и изпълнението спомага за поддържането на съгласувано игрово изживяване.

Запазване и зареждане

Ако вашата игра включва бонуси или колекционерски предмети, които продължават да съществуват в сесиите на играта, внедрете система за запазване и зареждане, за да запазите напредъка на играча. Това гарантира безпроблемно изживяване и мотивира играчите да се върнат в играта.

Като се придържате към тези най-добри практики, можете да създадете изпипана и завладяваща система за засилване и събиране, която обогатява геймплея на вашата игра Godot, правейки я по-приятна за играчите.

Правене на Godot Games по-ангажиращи с бонуси и колекционерски предмети

Добавянето на бонуси и колекционерски предмети към вашата игра Godot може значително да увеличи нейната ангажираност и възможност за преиграване. Усилванията предоставят на играчите вълнуващи и временни предимства.

Чрез внимателно проектиране и внедряване на бонуси и колекционерски предмети можете да създадете по-завладяващо и приятно игрово изживяване за вашите играчи. Гъвкавостта и простотата на Godot улесняват разработчиците на игри да създават завладяващи бонуси и колекционерски предмети, които подобряват механиката и удоволствието от играта.