Développement de jeux pour une console basée sur Arduino utilisant Unity
Bonjour Geek Times!Aujourd'hui, je vais vous raconter une histoire peu intéressante sur la façon dont j'ai créé une console de jeu simple basée sur Arduino et créé un jeu simple pour cela dans mon moteur de jeu préféré - Unity.Jeux
Depuis près de quatre ans maintenant, je développe des jeux sur le populaire moteur de jeu Unity (anciennement Unity3D). Pendant ce temps, j'ai réussi à créer plusieurs petits jeux pour appareils mobiles, ainsi qu'un volumineux projet multi-utilisateurs.Ce domaine est très intéressant pour moi et donne un grand plaisir à y travailler.Dispositifs
Mais parfois, il y a un désir d'essayer quelque chose de nouveau, et un de ces jours, j'ai décidé d'essayer l'arduino.Il est devenu très intéressant pour moi de créer mes propres appareils et de les programmer. Pourquoi Arduino? Sur Internet, et même aux mêmes heures de hub et de geek, il y a beaucoup de messages sur les raisons pour lesquelles il vaut la peine de prendre Arduino. Mais je note que pour moi, le facteur décisif dans le choix de l'arduino est la facilité d'utilisation.Comment combiner cela?
Une fois sur Internet, je suis tombé sur un record sur la façon dont l'un des utilisateurs a assemblé sa simple console de jeu arduino, l'a équipée d'un petit écran LCD 84x48 pixels et a écrit quelques jeux simples dessus: pong et arkanoid.Ce développement était très intéressant pour moi, et j'ai décidé de créer ma version de la console de jeu basée sur le microcontrôleur atmega328.Console elle-même
Tout d'abord, j'ai conçu et fabriqué une carte de circuit imprimé LUT-ohm pour une console portable. C'était une erreur - au début, il était nécessaire de tester le programme sur une carte de débogage, par exemple arduino uno, car je ne prévoyais pas la possibilité de télécharger rapidement et facilement des programmes sur le contrôleur. Et j’ai aussi fait une erreur dans le circuit lui-même, ça pourrait être réparé avec des fils, mais c’est quand même dommage.Après avoir réalisé que j'avais tort, j'ai connecté les boutons via la carte à arduino uno, et j'ai connecté l'écran directement.Voici ce qui s'est passé:

Maintenant pour les jeux
Pour créer des jeux, j'ai décidé d'utiliser le moteur de jeu Unity. Je n'ai pas écrit de compilateur de Mono C # dans un programme pour arduino, mais j'ai décidé d'écrire un ensemble de scripts avec lesquels vous pouvez facilement créer des jeux.J'ai divisé tous les scripts en 3 groupes - actions, conditions et combineurs.Je pense que le but des actions et des conditions n'a pas besoin d'être expliqué, mais pour ce dont j'ai besoin d'un combinateur, je vais l'expliquer. Le combineur vérifie que la condition est remplie, puis exécute l'action.À partir de scripts, ou plutôt de leur présence et de leurs combinaisons, l'algorithme crée un programme pour Arduino.
Et quel genre de jeu?
J'ai décidé de commencer avec quelque chose de simple. Et quel est le jeu simple que vous connaissez? C'est vrai - pong. Mais j'ai décidé de ne pas faire du pong tout à fait, mais du pong pour un - il y a une raquette, une balle et un mur, au lieu de la deuxième raquette.Je l'ai assemblé à partir d'un constructeur écrit, je l'ai compilé et téléchargé sur le contrôleur. Travaux!Maintenant, mettons tout en ordre
Lorsque le jeu a commencé, et j'en ai joué suffisamment, j'ai décidé qu'il valait la peine de refaire le tableau, de lui donner un beau look, d'utiliser des composants smd et de supprimer toutes les choses inutiles. J'ai refait le circuit et fait une planche.Cest ce qui est arrivé

Code source
Le code source est très simple.Ce que fait Unity - dans l'éditeur, l'utilisateur collecte le jeu à partir d'objets ui, y bloque des scripts d'action, des conditions et des combineurs.Ce que fait le compilateur (le script parser.cs) - il parcourt tous les objets, examine leurs scripts et ajoute des morceaux de code dans le texte du fichier build.ino qui sont chargés d'exécuter les analogues de ces scripts dans le microcontrôleur.Lien vers les sources - drive.google.com/open?id=0B5INc3_98cSJMEMxZmlWUTh1Ukk Lacompilation est effectuée au début du jeu. et il est enregistré dans le dossier Assets / build / text / builded.ino.Cette esquisse doit également être téléchargée sur le contrôleur.En garde à vue
Je veux dire que c'était très intéressant.J'ai eu l'occasion de combiner 2 de mes activités - le développement de jeux et la création d'appareils.J'espère que cela vous a intéressé aussi, et maintenant vous allez également créer votre propre appareil cool =)Source: https://habr.com/ru/post/fr382327/
All Articles