Snake: Criando um jogo completo em Kotlin a partir do zero
What you'll learn
- Aprender Kotlin enquanto desenvolve um jogo completo a partir do zero
- Programar um projeto 100% em linguagem Kotlin, do início ao fim
- Aprender conceitos de programação de jogos, como game loop, movimentação, detecção de colisão, double-buffering, entre outros
- Usar a API Swing para criar uma aplicação desktop e trabalhar com renderização e tratamento de eventos de teclado e de janela
Requirements
- Conhecimentos básicos de Java e/ou Kotlin não são obrigatórios, mas podem ajudar no entendimento das aulas.
Description
Que tal criar um jogo completo em Kotlin? É isto que você vai fazer neste curso!
Você vai desenvolver o jogo Snake, popularmente conhecido como "Jogo da Cobrinha", onde você comanda - via teclado - uma cobrinha que percorre a tela sem parar, tentando comer o maior número de comidinhas antes de bater nas bordas da janela ou nela mesma.
O curso é dividido em 6 passos, todos 100% práticos:
~> Passo 1: Você vai conhecer o jogo e preparar todo o ambiente de desenvolvimento para começar a colocar a mão na massa. Tudo o que você vai usar é gratuito e padrão de mercado.
~> Passo 2: Você vai aprender como funciona a renderização de retângulos e textos usando a API Swing. Vai também criar o seu próprio framework de renderização, que vai permitir renderizar cenas dos mais diversos tipos na janela.
~> Passo 3: Você vai construir os elementos de cena que fazem parte do jogo Snake e criar o loop do jogo - chamado de game loop. É aqui que você vai desenhar os elementos da tela e também colocar a Snake em movimento.
~> Passo 4: O jogador vai usar as teclas direcionais do teclado para movimentar a Snake; e a tecla ESC para sair do jogo. É aqui que você vai aprender a capturar as teclas pressionadas pelo jogador e transformar isso em ações no jogo. Você também vai aprender a detectar fechamento da janela e tomar as ações necessárias quando isso acontecer.
~> Passo 5: Você vai implementar as regras do jogo:
Detectar a colisão da Snake com ela mesma
Detectar a colisão da Snake com as bordas da janela
Comer a comidinha
Gerenciamento da pontuação, bem como o tamanho e a velocidade da Snake
Detectar e processar o fim do jogo
~> Passo 6: Você vai externalizar tudo o que pode ser configurado no jogo para um arquivo de configuração no formato JSON. A API Gson será usada para processar o arquivo.
Ao fim destes passos você terá o jogo Snake completo, funcional e pronto pra você jogar e desafiar os seus amigos!
Who this course is for:
- Desenvolvedores que se interessam por Kotlin e por desenvolvimento de jogos.
Instructor
Olá, sejam muito bem vindos!
Meu nome é Carlos Tosin. Comecei a me interessar por lógica de programação desde quando "me conheço por gente".
Aos 10 anos de idade eu resolvia algoritmos escrevendo em guardanapos de papel quando ia ao restaurante pra jantar.
Aos 15 anos eu já criava meus sistemas caseiros em Clipper.
No ano 2000, entrei na universidade, no curso de Ciência da Computação da PUC-PR, onde me apaixonei por outras linguagens de programação, como C, C++ e Java.
Depois da minha formatura em 2004, parti pra a pós-graduação.
Em 2007 tornei-me pós-graduado em Desenvolvimento de Jogos Digitais e, em 2008, Mestre em Sistemas Distribuídos.
Em 2009 fui co-fundador da Softblue, a primeira empresa de cursos online de programação do Brasil.
Em mais de 14 anos, pude testemunhar o impacto que a Softblue teve na vida dos mais de 290.000 alunos de programação, do Brasil e do exterior, que passaram por lá.
Apesar de ser apaixonado pelo ensino, também sempre gostei muito de colocar a "mão na massa". Por isso sempre busquei estar próximo do mercado, vivenciando os desafios do dia a dia de um programador.
Durante 6 anos trabalhei na IBM em projetos globais, em equipes baseadas nos Estados Unidos.
Em 2020 mudei-me pra Portugal com a minha família - esposa e duas filhas - onde atualmente trabalho como Lead Backend Software Engineer na Pixion Games, um game studio do Reino Unido, no projeto do novo jogo Fableborne.
No meio de tudo isso, ainda aranjei tempo pra tirar 7 certificações Java, dentre as quais destacam-se as certificações de nível Professional de Java SE e Java EE; e de Java Enterprise Architect.
Tendo vivido imerso no universo Java há mais de 22 anos, posso afirmar pra você: eu conheço o mercado, eu conheço os atalhos e sei o que o um profissional precisa pra poder entrar nesse mundo e fazer a sua carreira decolar.
Portanto o meu convite pra você agora é: vamos juntos?
Um forte abraço,
Carlos Tosin