Adicione incentivos para o caminho principal ou missões secundárias do seu jogo, com recompensas colecionáveis.

Adicionar power-ups e colecionáveis ​​ao seu jogo Godot pode melhorar significativamente a experiência do jogador, tornando-o mais envolvente e emocionante. Os power-ups podem conceder habilidades especiais ou vantagens temporárias ao jogador, enquanto os colecionáveis ​​podem servir como recompensas, aumentando a pontuação do jogador ou fornecendo outros benefícios.

Felizmente, criar power-ups e itens colecionáveis ​​no Godot é simples, graças à sua linguagem de script intuitiva e mecanismo de física integrado.

Configurando o jogo Godot

Para começar, crie um jogo 2D em o motor de jogo Godot e configurar o personagem do jogador. Crie uma nova cena e adicione um CharacterBody2D nó. Dentro de CharacterBody2D, adicione um CollisionShape2D com uma forma de retângulo para representar a área de colisão do jogador e um Sprite2D para exibir o personagem do jogador.

O código para esta demonstração está disponível em seu

instagram viewer
Repositório GitHub e é gratuito para você usar sob a licença do MIT.

Agora, escreva o código GDScript para lidar com o movimento do jogador e as colisões com os limites da tela. Aqui está o código completo para o movimento do jogador:

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)

Este código permite que o jogador se mova para a esquerda, direita, para cima e para baixo usando as teclas de seta. Ele também garante que o jogador não se mova muito rápido, normalizando o vetor de velocidade e aplicando um fator de velocidade.

Além disso, crie objetos inimigos com suas próprias áreas de colisão e sprites. Para lidar com o movimento do inimigo, você pode usar um _physics_process funcionar como o jogador.

Criando colecionáveis

Colecionáveis ​​são essenciais em muitos jogos, e um tipo comum são as moedas. Crie uma moeda colecionável que aumenta a pontuação do jogador em 20 pontos quando coletada.

Primeiro, crie uma nova cena e adicione um Área2D nó como a moeda colecionável. Dentro de Área2D, adicione um CollisionShape2D com uma forma de círculo para representar a área de colisão e um Sprite2D para exibir a moeda.

Em seguida, adicione o seguinte código GDScript ao script do player:

extends CharacterBody2D

var score = 0

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

Este código usa o _on_area_2d_body_entered sinal para detectar quando o personagem do jogador entra na área de colisão da moeda colecionável. Se detectar o personagem do jogador, eles coletam a moeda (a chamada para fila_livre() remove-o da cena) e aumenta sua pontuação em 20 pontos.

Criando power-ups

Os power-ups podem adicionar emoção ao seu jogo, fornecendo ao jogador vantagens ou habilidades temporárias. Crie um power-up que ative um cronômetro de 10 segundos quando coletado. Se o jogador tocar um inimigo dentro desse tempo, ele destruirá o inimigo.

Para criar o power-up, faça uma nova cena e adicione um Área2D nó. Dentro de Área2D, adicione um CollisionShape2D com formato retangular e Sprite2D para exibir o power-up.

Agora, adicione o seguinte código ao seu script de player:

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

Este código usa o _on_powerups_body_entered sinal para detectar quando o personagem do jogador coleta o power-up. Quando o fazem, ele remove o power-up da cena e define o power_up_active variável para verdadeiro.

A função finalmente inicia um timer usando aguardam e create_timer, com duração de 10 segundos. Durante esse tempo, se o personagem do jogador tocar em um inimigo, ele o destrói.

Exibindo itens colecionáveis ​​coletados

Exibir o número de itens colecionáveis ​​que o jogador coletou pode adicionar uma sensação de conquista e progresso. Para fazer isso, comece criando um Rótulo nó e posicionando-o no canto superior esquerdo da tela.

Em seguida, adicione o seguinte código GDScript para atualizar o texto do rótulo sempre que o jogador coletar um item colecionável:

extends Label

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

No script Player.gd:

extends CharacterBody2D

var bar

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

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

Este código atualiza o texto da etiqueta com o número de colecionáveis ​​obtidos, que você pode calcular dividindo a pontuação do jogador por 20.

Incluindo Recursos Adicionais

Existem vários outros recursos que você pode adicionar ao seu sistema de power-ups e colecionáveis ​​para aprimorar ainda mais o seu jogo. Aqui estão algumas ideias:

Vários níveis de power-ups

Em vez de ter apenas um tipo de power-up, você pode introduzir diferentes níveis de power-ups que concedem habilidades cada vez mais poderosas. Por exemplo, você pode atualizar um power-up de aumento de velocidade básico para um power-up de supervelocidade que torna o jogador ainda mais rápido.

Power-ups combinados

Crie combinações de power-ups que oferecem efeitos únicos e potentes quando reunidos. Incentive os jogadores a criar estratégias e experimentar diferentes combinações de power-up para obter o máximo de vantagem.

Limitando Power-Ups

Implemente um cooldown ou um limite na frequência com que um jogador pode coletar um power-up específico. Isso adiciona um elemento de tomada de decisão para o jogador, pois ele deve escolher o momento certo para ativar o power-up.

Variedades colecionáveis

Crie diferentes tipos de itens colecionáveis ​​com recompensas variadas. Alguns colecionáveis ​​podem fornecer vidas extras, buffs temporários ou desbloquear recursos especiais em seu jogo de plataforma.

Melhores práticas para implementação de power-ups e itens colecionáveis

Ao implementar power-ups e colecionáveis ​​em seu jogo Godot, considere as seguintes práticas recomendadas:

Equilíbrio e teste de jogo

Teste seus power-ups e colecionáveis ​​extensivamente para garantir que eles não criem desequilíbrios no jogo. Ajuste os efeitos e recompensas para proporcionar uma experiência justa e agradável aos jogadores.

Comentários visuais e de áudio

Use ícones ou sprites claros e visualmente atraentes para representar power-ups e colecionáveis. Além disso, inclua adequados efeitos sonoros sem direitos autorais para fornecer feedback satisfatório quando os jogadores os coletam.

Interface do usuário (IU)

Crie uma interface de usuário limpa e intuitiva que exiba informações relevantes sobre power-ups e itens colecionáveis. Mostre o tempo restante para power-ups ativos, o número de itens colecionáveis ​​coletados e quaisquer outros detalhes relevantes.

Consistência

Certifique-se de que power-ups e colecionáveis ​​estejam alinhados com o tema geral e a mecânica do seu jogo. A consistência no design e na implementação ajuda a manter uma experiência de jogo coerente.

Salvar e carregar

Se o seu jogo incluir power-ups ou itens colecionáveis ​​que persistem nas sessões de jogo, implemente um sistema de salvar e carregar para manter o progresso do jogador. Isso garante uma experiência perfeita e motiva os jogadores a voltarem ao jogo.

Aderindo a essas práticas recomendadas, você pode criar um sistema de coleta e power-up polido e envolvente que enriquece a jogabilidade do seu jogo Godot, tornando-o mais agradável para os jogadores.

Tornando os jogos Godot mais envolventes com power-ups e itens colecionáveis

Adicionar power-ups e colecionáveis ​​ao seu jogo Godot pode aumentar significativamente seu envolvimento e rejogabilidade. Os power-ups fornecem aos jogadores vantagens emocionantes e temporárias.

Ao projetar e implementar cuidadosamente power-ups e colecionáveis, você pode criar uma experiência de jogo mais envolvente e agradável para seus jogadores. A flexibilidade e a simplicidade de Godot tornam mais fácil para os desenvolvedores de jogos criar power-ups e itens colecionáveis ​​envolventes que aprimoram a mecânica e a diversão de seus jogos.