Следете постиженията на вашия играч и го награждавайте за определени етапи с проста система за точкуване.

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

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

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

Преди да се потопите в системата за точкуване, настройте основна 2D игра игровият двигател Godot. Създайте герой на играч, който може да се движи по екрана. Също така добавете няколко движещи се врагове, които играчът да избягва.

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

instagram viewer

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

Сега напишете 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)

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

След това добавете няколко движещи се врагове. За простота използвайте просто Sprite2D възли, които се движат хоризонтално по екрана:

extends StaticBody2D

var speed = 100

func _physics_process(delta):
position.x -= speed * delta

if position.x < -100:
position.x = 800

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

Настройте система за точкуване

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

extends CharacterBody2D

var score = 0

func _ready():
score = 0

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

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

Показване на резултата

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

extends CharacterBody2D

var score = 0
var score_label

func _ready():
score_label = get_parent().get_node("Label")
score = 0

func _physics_process(delta):
var velocity = Vector2()
// Player movement code...

# Update score and display
score_label.text = "Score: " + str(score)

Този код извлича Етикет възел и актуализира своя текст с текущия резултат.

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

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

Усилвания и бонуси

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

Например, усилване на Double Score може да удвои спечелените точки за ограничен период от време или усилване на Щит може да направи играча непобедим за кратко време.

Комбинирана система

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

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

Времеви бонус

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

Цели на ниво

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

Поведение и резултат на врага

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

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

Има най-добри практики за подобряване на ефективността на вашата система за точкуване и създаване на завладяващо игрово изживяване. Някои от тях са:

Баланс и справедливост

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

Изчистване на обратната връзка

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

Трудност при мащабиране

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

Повторна игра

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

Видимост с висок резултат

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

Правене на Godot Games по-ангажиращи със система за точкуване

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

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