Разработка игр для консоли на базе arduino с помощью Unity
Привет, Гик Таймс!
Сегодня я поведаю вам одну не очень интересную историю о том, как создал простую игровую консоль на базе arduino и сделал несложную игру для нее в моем любимом игровом движке — Unity.
Вот уже почти четыре года я занимаюсь разработкой игр на популярном игровом движке Unity (ранее Unity3D). За это время я успел создать несколько небольших игр для мобильных устройств, а также объемный многопользовательский проект.
Это область для меня очень интересна и доставляет огромное удовольствие работать в ней.
Но иногда появляется желание попробовать что-то новое, и в один из таких дней я решил попробовать arduino.
Мне стало очень интересно, как создавать свои собственные устройства и как их программировать. Почему arduino? В интернете и даже на том-же хабре и гик таймс море постов о том, почему стоит брать arduino. Но отмечу, что для меня решающим фактором в выборе arduino является простота в использовании.
Однажды на просторах интернета я наткнулся на запись о том, как один из пользователей собрал свою простенькую игровую консоль на базе arduino, снабдив ее маленьким жк дисплеем 84×48 пикселей и написал на нее пару простых игр: понг и арканоид.
Эта разработка меня очень заинтересовала, и я решил создать свою версию игровой консоли на базе микроконтроллера atmega328.
Первым делом я спроектировал и сделал ЛУТ-ом печатную плату для портативной консоли. Это было ошибкой — сначала надо было протестировать программу на отладочной плате, например arduino uno, так как я не предусмотрел возможность быстро и удобно заливать программы в контроллер. А еще я ошибся в самой схеме, это можно было исправить проводами, но все же обидно.
После того, как я понял, что ошибся, я подключил кнопки через плату к arduino uno, а экран я подключил напрямую.
Вот что вышло:
Для создания игр я решил использовать игровой движок Unity. Писать компилятор из Mono C# в программу для arduino я не стал, но решил написать набор скриптов с помощью которых можно легко собирать игры.
Все скрипты я разделил на 3 группы — действия, условия и комбайнеры.
Я думаю что назначение действий и условий объяснять не надо, а вот для чего нужен комбайнер я объясню. Комбайнер проверяет выполняется условие, а затем выполняет действие.
Из скриптов, а точнее их наличия и комбинаций алгоритм создает программу для arduino.
Начать я решил с чего нибудь простого. А какая сама простая игра которую вы знаете? Правильно — понг. Но я решил сделать не совсем понг, а понг на одного — есть одна ракетка, мяч и стена, вместо второй ракетки.
Я собрал ее из написанного конструктора, скомпилировал и залил в контроллер. Работает!
Когда игра запустилась, и я в нее наигрался, я решил, что стоит переделать плату, предать ей красивый вид, использовать smd компоненты и убрать все лишнее. Я переделал схему и сделал плату.
Вот что вышло
Хочу сказать, что это было очень интересно.
Я получил возможность совместить 2 своих любых занятия — разработка игр и создание девайсов.
Надеюсь вас это тоже заинтересовало, и теперь вы тоже сделаете свой крутой девайс =)