Desenvolvendo jogos para um console baseado em arduino usando o Unity

imagem
Olá Geek Times!
Hoje vou contar uma história não muito interessante sobre como eu criei um console de jogos simples baseado no arduino e fiz um jogo simples no meu mecanismo de jogo favorito - Unity.

Jogos


Há quase quatro anos, desenvolvo jogos no popular mecanismo de jogos Unity (anteriormente Unity3D). Durante esse período, consegui criar vários pequenos jogos para dispositivos móveis, além de um projeto volumoso para vários usuários.
Esta área é muito interessante para mim e dá um grande prazer trabalhar nela.

Aparelhos


Mas às vezes há um desejo de tentar algo novo, e um dia desses eu decidi experimentar o arduino.
Tornou-se muito interessante para mim como criar meus próprios dispositivos e como programá-los. Por que arduino? Na Internet, e mesmo nos mesmos tempos de hub e geek, há muitas postagens sobre por que vale a pena usar o arduino. Mas noto que, para mim, o fator decisivo na escolha do arduino é a facilidade de uso.

Como combinar isso?


Uma vez na Internet, me deparei com um registro sobre como um dos usuários montou seu console de jogos simples baseado em arduino, equipou-o com um pequeno monitor LCD de 84x48 pixels e escrevi alguns jogos simples: pong e arkanoid.
Esse desenvolvimento foi muito interessante para mim e decidi criar minha versão do console de jogos com base no microcontrolador atmega328.

Console em si


Primeiro, eu projetei e fiz uma placa de circuito impresso LUT-ohm para um console portátil. Isso foi um erro - no início foi necessário testar o programa em uma placa de depuração, por exemplo, o arduino uno, pois eu não previa a capacidade de carregar programas de forma rápida e conveniente no controlador. E também cometi um erro no próprio circuito, poderia ser consertado com fios, mas ainda é uma pena.
Depois que percebi que estava errado, conectei os botões na placa ao arduino uno e conectei a tela diretamente.
Aqui está o que aconteceu:

imagem
imagem

Agora para os jogos


Para criar jogos, decidi usar o mecanismo de jogo Unity. Não escrevi um compilador do Mono C # em um programa para arduino, mas decidi escrever um conjunto de scripts com os quais você pode criar jogos facilmente.
Dividi todos os scripts em 3 grupos - ações, condições e combinadores.
Penso que o objetivo das ações e condições não precisa ser explicado, mas, para o que preciso de um combinador, explicarei. O combinador verifica se a condição foi atendida e, em seguida, executa a ação.
A partir de scripts, ou melhor, de sua presença e combinação, o algoritmo cria um programa para o arduino.

imagem

E que tipo de jogo?


Eu decidi começar com algo simples. E qual é o jogo simples que você conhece? Isso mesmo - pong. Mas eu decidi não fazer pong, mas pong para um - há uma raquete, bola e parede, em vez da segunda raquete.
Montei-o a partir de um construtor escrito, compilei-o e enviei-o ao controlador. Trabalho!

Agora vamos colocar tudo em ordem


Quando o jogo começou, e eu joguei o suficiente, decidi que valia a pena refazer o tabuleiro, dando uma aparência bonita, usando componentes smd e removendo todas as coisas desnecessárias. Refiz o circuito e fiz uma prancha.
Foi o que aconteceu

imagem
imagem

Código fonte


O código fonte é muito simples.
O que o Unity faz - no editor, o usuário coleta o jogo dos objetos da interface do usuário, trava scripts de ação, condições e combinadores neles.
O que o compilador faz (script parser.cs) - ele percorre todos os objetos, examina seus scripts e adiciona partes de código ao texto do arquivo build.ino responsável pela execução dos análogos desses scripts no microcontrolador.

Link para as fontes - drive.google.com/open?id=0B5INc3_98cSJMEMxZmlWUTh1Ukk A
compilação é realizada quando o jogo é iniciado. e é salvo na pasta Assets / build / text / builded.ino.Este
esboço também deve ser carregado no controlador.

Em custódia


Eu quero dizer que foi muito interessante.
Tive a oportunidade de combinar duas de minhas atividades - desenvolvimento de jogos e criação de dispositivos.
Espero que isso também lhe interesse, e agora você também fará seu próprio dispositivo legal =)

Source: https://habr.com/ru/post/pt382327/


All Articles