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.