Como você cria um jogo Mario no gamemaker?

Criar um jogo Mario no GameMaker Studio 2 envolve muitas etapas e requer um bom entendimento do gênero de plataformas e das funcionalidades do GameMaker. Aqui está um esboço básico para guiá-lo durante o processo:

1. Configurando o Projeto:

* Novo Projeto: Crie um novo projeto GameMaker.
* Recursos:
* Sprites: Importe sprites para Mario, inimigos, blocos, power-ups, planos de fundo, etc.
* Sons: Importe sons para pular, correr, coletar moedas, ligar, etc.
* Conjuntos de blocos: Talvez seja necessário criar um conjunto de blocos para o mapa de níveis se estiver usando um design de níveis baseado em blocos.
* Variáveis ​​do jogo:
* `gravidade` (por exemplo, 0,5)
* `mario_speed` (por exemplo, 5)
* `jump_height` (por exemplo, 10)
* `player_lives` (por exemplo, 3)
* `pontuação` (por exemplo, 0)

2. Criando o objeto Player:

* Sprite do jogador: Atribua o sprite Mario ao objeto.
* Criar Evento:
* Inicialize variáveis ​​​​do jogador como `x`, `y`, `speed`, `is_grounded`, `is_jumping`, etc.
* Defina a vida e a pontuação iniciais dos jogadores.
* Evento de etapa:
* Movimento:
* Verifique se as teclas esquerda e direita foram pressionadas.
* Ajuste a velocidade horizontal do jogador com base nas teclas pressionadas.
* Aplique `gravidade` à velocidade vertical do jogador.
* Saltar:
* Verifique se a tecla de salto foi pressionada.
* Se `is_grounded`, defina `is_jumping` como true e aplique a velocidade do salto.
* Detecção de colisão:
* Verifique se há colisões com o solo e paredes.
* Se colidir com o solo, defina `is_grounded` como verdadeiro.
* Se colidir com uma parede, evite mais movimentos nessa direção.
* Evento de sorteio:
* Desenhe o sprite do jogador.

3. Criando o nível:

* Configuração da sala: Crie uma nova sala para o seu nível.
* Design de nível:
* Use conjuntos de peças ou desenhe objetos individuais para a geometria do nível.
* Coloque plataformas, blocos, inimigos, power-ups, etc.
* Colisões de objetos:
* Configure colisões de objetos.
* Por exemplo, o jogador deve colidir com blocos e paredes, mas não com power-ups.
* Antecedentes:
* Adicione uma imagem de fundo ou mapa de blocos.

4. Adicionando inimigos:

* Criar objeto inimigo:
* Atribua sprite inimigo.
* Defina o comportamento do inimigo no Step Event (por exemplo, mover-se para a esquerda e para a direita, perseguir o jogador).
* Colisão com Jogador:
* Detecte colisão entre o jogador e os inimigos.
* Implementar lógica de dano (por exemplo, perder uma vida).

5. Implementando power-ups:

* Criar objeto Power-Up:
* Atribuir sprite de inicialização.
* No Evento de Colisão com o jogador, aplique efeitos de power-up (por exemplo, aumente o tamanho, ganhe invencibilidade).

6. Implementando o fim do jogo e a vitória:

* Fim do jogo:
* Detecte quando o jogador fica sem vida.
* Exibir uma tela de game over.
* Ganhando:
* Defina uma condição de vitória (por exemplo, chegar ao final do nível).
* Exiba uma tela vencedora ou prossiga para o próximo nível.

7. Recursos avançados:

* Efeitos sonoros: Adicione efeitos sonoros para ações como pular, coletar moedas, etc.
* Música: Adicione música de fundo.
* Rolagem de fundo: Implemente a funcionalidade de rolagem em segundo plano.
* Vários níveis: Crie várias salas para representar diferentes níveis.
* Editor de níveis: Considere criar um editor de níveis para facilitar a criação de níveis.

Exemplo de código (movimento do jogador):

```gml
//Criar Evento
velocidade =0;
is_grounded =falso;
está_jumping =falso;

// Evento de etapa
if (keyboard_check(vk_left)) {
velocidade =-mario_speed;
} senão if (keyboard_check(vk_right)) {
velocidade =mario_speed;
} outro {
velocidade =0;
}

//Aplica gravidade
vvelocidade +=gravidade;

//Pulando
if (keyboard_check_pressed(vk_space) &&is_grounded) {
vvelocidade =-jump_height;
está_jumping =verdadeiro;
}

// Colisão com o solo
if (place_meeting(x, y + vspeed, obj_ground)) {
vvelocidade =0;
is_grounded =verdadeiro;
está_jumping =falso;
} outro {
is_grounded =falso;
}

// Colisão horizontal
if (place_meeting(x + velocidade, y, obj_ground)) {
velocidade =0;
}

// Move o jogador
x +=velocidade;
y +=vvelocidade;
```

Este é um exemplo muito básico e você precisará expandi-lo significativamente para criar um jogo Mario completo.

Lembre-se de que o desenvolvimento de jogos exige tempo e esforço. Comece com uma mecânica simples e adicione complexidade gradualmente. Use a documentação do GameMaker e os tutoriais on-line para ajudá-lo ao longo do caminho.
HT Jogos © direito autoral [www.ptjogos.com]